CIS CentOS Linux 7 Benchmark

Secure configuration guidelines for CentOS Linux 7

v3.1.0 June 2024

Overview

▶

This CIS Benchmark provides prescriptive guidance for establishing a secure configuration posture for CentOS Linux 7. Recommendations cover initial setup, services, network configuration, logging and auditing, access control, and system maintenance.

~250Recommendations
6Sections
2Profile Levels
SectionAreaFocus
1Initial SetupFilesystem, updates
2Servicesinetd, special purpose
3NetworkParameters, firewall
4Loggingrsyslog, auditd
5AccessSSH, PAM, passwords
6MaintenancePermissions, accounts

Profile Definitions

▶
ProfileDescriptionIntended Use
L1Level 1 — StandardEssential security for all CentOS Linux 7 deployments; minimal performance impact.
L2Level 2 — HardenedAdvanced hardening for PCI-DSS, HIPAA, or high-security environments.

1 — Initial Setup

▶

1.1 Filesystem Configuration

▶
1.1.1 Ensure /tmp Is a Separate Partition (Automated)
L1 Auto
Description

This recommendation verifies that /tmp Is a Separate Partition on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that /tmp Is a Separate Partition:

audit_check_partition

Remediation

Apply the following configuration to ensure /tmp Is a Separate Partition:

remediate_partition

1.1.2 Ensure nodev Option Set on /tmp (Automated)
L1 Auto
Description

This recommendation verifies that nodev Option Set on /tmp on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that nodev Option Set on /tmp:

audit_check_/tmp

Remediation

Apply the following configuration to ensure nodev Option Set on /tmp:

remediate_/tmp

1.1.3 Ensure nosuid Option Set on /tmp (Automated)
L1 Auto
Description

This recommendation verifies that nosuid Option Set on /tmp on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that nosuid Option Set on /tmp:

audit_check_/tmp

Remediation

Apply the following configuration to ensure nosuid Option Set on /tmp:

remediate_/tmp

1.1.4 Ensure noexec Option Set on /tmp (Automated)
L1 Auto
Description

This recommendation verifies that noexec Option Set on /tmp on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that noexec Option Set on /tmp:

audit_check_/tmp

Remediation

Apply the following configuration to ensure noexec Option Set on /tmp:

remediate_/tmp

1.1.5 Ensure /var Is a Separate Partition (Automated)
L2 Auto
Description

This recommendation verifies that /var Is a Separate Partition on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that /var Is a Separate Partition:

audit_check_partition

Remediation

Apply the following configuration to ensure /var Is a Separate Partition:

remediate_partition

1.1.6 Ensure /var/tmp Is a Separate Partition (Automated)
L2 Auto
Description

This recommendation verifies that /var/tmp Is a Separate Partition on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that /var/tmp Is a Separate Partition:

audit_check_partition

Remediation

Apply the following configuration to ensure /var/tmp Is a Separate Partition:

remediate_partition

1.1.7 Ensure /var/log Is a Separate Partition (Automated)
L2 Auto
Description

This recommendation verifies that /var/log Is a Separate Partition on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that /var/log Is a Separate Partition:

audit_check_partition

Remediation

Apply the following configuration to ensure /var/log Is a Separate Partition:

remediate_partition

1.1.8 Ensure /var/log/audit Is a Separate Partition (Automated)
L2 Auto
Description

This recommendation verifies that /var/log/audit Is a Separate Partition on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that /var/log/audit Is a Separate Partition:

audit_check_partition

Remediation

Apply the following configuration to ensure /var/log/audit Is a Separate Partition:

remediate_partition

1.1.9 Ensure /home Is a Separate Partition (Automated)
L2 Auto
Description

This recommendation verifies that /home Is a Separate Partition on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that /home Is a Separate Partition:

audit_check_partition

Remediation

Apply the following configuration to ensure /home Is a Separate Partition:

remediate_partition

1.2 Software Updates

▶
1.2.1 Ensure GPG Keys Are Configured (Automated)
L1 Auto
Description

This recommendation verifies that GPG Keys Are Configured on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that GPG Keys Are Configured:

audit_check_configured

Remediation

Apply the following configuration to ensure GPG Keys Are Configured:

remediate_configured

1.2.2 Ensure Package Manager Repositories Are Configured (Manual)
L1 Manual
Description

This recommendation verifies that Package Manager Repositories Are Configured on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that Package Manager Repositories Are Configured:

audit_check_configured

Remediation

Apply the following configuration to ensure Package Manager Repositories Are Configured:

remediate_configured

1.2.3 Ensure gpgcheck Is Globally Activated (Automated)
L1 Auto
Description

This recommendation verifies that gpgcheck Is Globally Activated on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that gpgcheck Is Globally Activated:

audit_check_activated

Remediation

Apply the following configuration to ensure gpgcheck Is Globally Activated:

remediate_activated

2 — Services

▶

2.1 Inetd Services

▶
2.1.1 Ensure xinetd Is Not Installed (Automated)
L1 Auto
Description

This recommendation verifies that xinetd Is Not Installed on the CentOS Linux 7 server. Disabling or removing unnecessary components reduces the attack surface and limits potential vectors for exploitation.

Rationale

Running unnecessary components on the CentOS Linux 7 server increases the attack surface and the risk of exploitation. Disabling or removing them follows the principle of least functionality and reduces exposure to known vulnerabilities.

Audit

Run the following command and verify that xinetd Is Not Installed:

audit_check_installed

Remediation

Apply the following configuration to ensure xinetd Is Not Installed:

remediate_installed

2.1.2 Ensure chargen Services Are Not Enabled (Automated)
L1 Auto
Description

This recommendation verifies that chargen Services Are Not Enabled on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that chargen Services Are Not Enabled:

audit_check_enabled

Remediation

Apply the following configuration to ensure chargen Services Are Not Enabled:

remediate_enabled

2.1.3 Ensure daytime Services Are Not Enabled (Automated)
L1 Auto
Description

This recommendation verifies that daytime Services Are Not Enabled on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that daytime Services Are Not Enabled:

audit_check_enabled

Remediation

Apply the following configuration to ensure daytime Services Are Not Enabled:

remediate_enabled

2.1.4 Ensure echo Services Are Not Enabled (Automated)
L1 Auto
Description

This recommendation verifies that echo Services Are Not Enabled on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that echo Services Are Not Enabled:

audit_check_enabled

Remediation

Apply the following configuration to ensure echo Services Are Not Enabled:

remediate_enabled

2.2 Special Purpose Services

▶
2.2.1 Ensure X Window System Is Not Installed (Automated)
L1 Auto
Description

This recommendation verifies that X Window System Is Not Installed on the CentOS Linux 7 server. Disabling or removing unnecessary components reduces the attack surface and limits potential vectors for exploitation.

Rationale

Running unnecessary components on the CentOS Linux 7 server increases the attack surface and the risk of exploitation. Disabling or removing them follows the principle of least functionality and reduces exposure to known vulnerabilities.

Audit

Run the following command and verify that X Window System Is Not Installed:

audit_check_installed

Remediation

Apply the following configuration to ensure X Window System Is Not Installed:

remediate_installed

2.2.2 Ensure Avahi Server Is Not Installed (Automated)
L1 Auto
Description

This recommendation verifies that Avahi Server Is Not Installed on the CentOS Linux 7 server. Disabling or removing unnecessary components reduces the attack surface and limits potential vectors for exploitation.

Rationale

Running unnecessary components on the CentOS Linux 7 server increases the attack surface and the risk of exploitation. Disabling or removing them follows the principle of least functionality and reduces exposure to known vulnerabilities.

Audit

Run the following command and verify that Avahi Server Is Not Installed:

audit_check_installed

Remediation

Apply the following configuration to ensure Avahi Server Is Not Installed:

remediate_installed

2.2.3 Ensure CUPS Is Not Installed (Automated)
L1 Auto
Description

This recommendation verifies that CUPS Is Not Installed on the CentOS Linux 7 server. Disabling or removing unnecessary components reduces the attack surface and limits potential vectors for exploitation.

Rationale

Running unnecessary components on the CentOS Linux 7 server increases the attack surface and the risk of exploitation. Disabling or removing them follows the principle of least functionality and reduces exposure to known vulnerabilities.

Audit

Run the following command and verify that CUPS Is Not Installed:

audit_check_installed

Remediation

Apply the following configuration to ensure CUPS Is Not Installed:

remediate_installed

2.2.4 Ensure DHCP Server Is Not Installed (Automated)
L1 Auto
Description

This recommendation verifies that DHCP Server Is Not Installed on the CentOS Linux 7 server. Disabling or removing unnecessary components reduces the attack surface and limits potential vectors for exploitation.

Rationale

Running unnecessary components on the CentOS Linux 7 server increases the attack surface and the risk of exploitation. Disabling or removing them follows the principle of least functionality and reduces exposure to known vulnerabilities.

Audit

Run the following command and verify that DHCP Server Is Not Installed:

audit_check_installed

Remediation

Apply the following configuration to ensure DHCP Server Is Not Installed:

remediate_installed

2.2.5 Ensure NFS and RPC Are Not Installed (Automated)
L1 Auto
Description

This recommendation verifies that NFS and RPC Are Not Installed on the CentOS Linux 7 server. Disabling or removing unnecessary components reduces the attack surface and limits potential vectors for exploitation.

Rationale

Running unnecessary components on the CentOS Linux 7 server increases the attack surface and the risk of exploitation. Disabling or removing them follows the principle of least functionality and reduces exposure to known vulnerabilities.

Audit

Run the following command and verify that NFS and RPC Are Not Installed:

audit_check_installed

Remediation

Apply the following configuration to ensure NFS and RPC Are Not Installed:

remediate_installed

2.2.6 Ensure DNS Server Is Not Installed (Automated)
L1 Auto
Description

This recommendation verifies that DNS Server Is Not Installed on the CentOS Linux 7 server. Disabling or removing unnecessary components reduces the attack surface and limits potential vectors for exploitation.

Rationale

Running unnecessary components on the CentOS Linux 7 server increases the attack surface and the risk of exploitation. Disabling or removing them follows the principle of least functionality and reduces exposure to known vulnerabilities.

Audit

Run the following command and verify that DNS Server Is Not Installed:

audit_check_installed

Remediation

Apply the following configuration to ensure DNS Server Is Not Installed:

remediate_installed

2.2.7 Ensure FTP Server Is Not Installed (Automated)
L1 Auto
Description

This recommendation verifies that FTP Server Is Not Installed on the CentOS Linux 7 server. Disabling or removing unnecessary components reduces the attack surface and limits potential vectors for exploitation.

Rationale

Running unnecessary components on the CentOS Linux 7 server increases the attack surface and the risk of exploitation. Disabling or removing them follows the principle of least functionality and reduces exposure to known vulnerabilities.

Audit

Run the following command and verify that FTP Server Is Not Installed:

audit_check_installed

Remediation

Apply the following configuration to ensure FTP Server Is Not Installed:

remediate_installed

2.2.8 Ensure HTTP Server Is Not Installed (Automated)
L1 Auto
Description

This recommendation verifies that HTTP Server Is Not Installed on the CentOS Linux 7 server. Disabling or removing unnecessary components reduces the attack surface and limits potential vectors for exploitation.

Rationale

Running unnecessary components on the CentOS Linux 7 server increases the attack surface and the risk of exploitation. Disabling or removing them follows the principle of least functionality and reduces exposure to known vulnerabilities.

Audit

Run the following command and verify that HTTP Server Is Not Installed:

audit_check_installed

Remediation

Apply the following configuration to ensure HTTP Server Is Not Installed:

remediate_installed

3 — Network Configuration

▶

3.1 Network Parameters (Host)

▶
3.1.1 Ensure IP Forwarding Is Disabled (Automated)
L1 Auto
Description

This recommendation verifies that IP Forwarding Is Disabled on the CentOS Linux 7 server. Disabling or removing unnecessary components reduces the attack surface and limits potential vectors for exploitation.

Rationale

Running unnecessary components on the CentOS Linux 7 server increases the attack surface and the risk of exploitation. Disabling or removing them follows the principle of least functionality and reduces exposure to known vulnerabilities.

Audit

Run the following command and verify that IP Forwarding Is Disabled:

audit_check_disabled

Remediation

Apply the following configuration to ensure IP Forwarding Is Disabled:

remediate_disabled

3.1.2 Ensure Packet Redirect Sending Is Disabled (Automated)
L1 Auto
Description

This recommendation verifies that Packet Redirect Sending Is Disabled on the CentOS Linux 7 server. Disabling or removing unnecessary components reduces the attack surface and limits potential vectors for exploitation.

Rationale

Running unnecessary components on the CentOS Linux 7 server increases the attack surface and the risk of exploitation. Disabling or removing them follows the principle of least functionality and reduces exposure to known vulnerabilities.

Audit

Run the following command and verify that Packet Redirect Sending Is Disabled:

audit_check_disabled

Remediation

Apply the following configuration to ensure Packet Redirect Sending Is Disabled:

remediate_disabled

3.1.3 Ensure Source Routed Packets Are Not Accepted (Automated)
L1 Auto
Description

This recommendation verifies that Source Routed Packets Are Not Accepted on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that Source Routed Packets Are Not Accepted:

audit_check_accepted

Remediation

Apply the following configuration to ensure Source Routed Packets Are Not Accepted:

remediate_accepted

3.1.4 Ensure ICMP Redirects Are Not Accepted (Automated)
L1 Auto
Description

This recommendation verifies that ICMP Redirects Are Not Accepted on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that ICMP Redirects Are Not Accepted:

audit_check_accepted

Remediation

Apply the following configuration to ensure ICMP Redirects Are Not Accepted:

remediate_accepted

3.1.5 Ensure Broadcast ICMP Requests Are Ignored (Automated)
L1 Auto
Description

This recommendation verifies that Broadcast ICMP Requests Are Ignored on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that Broadcast ICMP Requests Are Ignored:

audit_check_ignored

Remediation

Apply the following configuration to ensure Broadcast ICMP Requests Are Ignored:

remediate_ignored

3.2 Firewall Configuration

▶
3.2.1 Ensure firewalld Is Installed (Automated)
L1 Auto
Description

This recommendation verifies that firewalld Is Installed on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that firewalld Is Installed:

audit_check_installed

Remediation

Apply the following configuration to ensure firewalld Is Installed:

remediate_installed

3.2.2 Ensure iptables-services Package Is Not Installed with firewalld (Automated)
L1 Auto
Description

This recommendation verifies that iptables-services Package Is Not Installed with firewalld on the CentOS Linux 7 server. Disabling or removing unnecessary components reduces the attack surface and limits potential vectors for exploitation.

Rationale

Running unnecessary components on the CentOS Linux 7 server increases the attack surface and the risk of exploitation. Disabling or removing them follows the principle of least functionality and reduces exposure to known vulnerabilities.

Audit

Run the following command and verify that iptables-services Package Is Not Installed with firewalld:

audit_check_firewalld

Remediation

Apply the following configuration to ensure iptables-services Package Is Not Installed with firewalld:

remediate_firewalld

3.2.3 Ensure firewalld Service Is Enabled and Running (Automated)
L1 Auto
Description

This recommendation verifies that firewalld Service Is Enabled and Running on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that firewalld Service Is Enabled and Running:

audit_check_running

Remediation

Apply the following configuration to ensure firewalld Service Is Enabled and Running:

remediate_running

3.2.4 Ensure Default Zone Is Set (Automated)
L1 Auto
Description

This recommendation verifies that Default Zone Is Set on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that Default Zone Is Set:

audit_check_set

Remediation

Apply the following configuration to ensure Default Zone Is Set:

remediate_set

4 — Logging & Auditing

▶

4.1 System Logging

▶
4.1.1 Ensure rsyslog Is Installed (Automated)
L1 Auto
Description

This recommendation verifies that rsyslog Is Installed on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that rsyslog Is Installed:

audit_check_installed

Remediation

Apply the following configuration to ensure rsyslog Is Installed:

remediate_installed

4.1.2 Ensure rsyslog Service Is Enabled (Automated)
L1 Auto
Description

This recommendation verifies that rsyslog Service Is Enabled on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that rsyslog Service Is Enabled:

audit_check_enabled

Remediation

Apply the following configuration to ensure rsyslog Service Is Enabled:

remediate_enabled

4.1.3 Ensure rsyslog Default File Permissions Are Configured (Automated)
L1 Auto
Description

This recommendation verifies that rsyslog Default File Permissions Are Configured on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that rsyslog Default File Permissions Are Configured:

audit_check_configured

Remediation

Apply the following configuration to ensure rsyslog Default File Permissions Are Configured:

remediate_configured

4.1.4 Ensure Logging Is Configured (Manual)
L1 Manual
Description

This recommendation verifies that Logging Is Configured on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that Logging Is Configured:

audit_check_configured

Remediation

Apply the following configuration to ensure Logging Is Configured:

remediate_configured

4.1.5 Ensure rsyslog Is Configured to Send Logs to a Remote Host (Automated)
L2 Auto
Description

This recommendation verifies that rsyslog Is Configured to Send Logs to a Remote Host on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that rsyslog Is Configured to Send Logs to a Remote Host:

audit_check_host

Remediation

Apply the following configuration to ensure rsyslog Is Configured to Send Logs to a Remote Host:

remediate_host

4.2 Audit Configuration

▶
4.2.1 Ensure auditd Is Installed (Automated)
L2 Auto
Description

This recommendation verifies that auditd Is Installed on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that auditd Is Installed:

audit_check_installed

Remediation

Apply the following configuration to ensure auditd Is Installed:

remediate_installed

4.2.2 Ensure auditd Service Is Enabled and Running (Automated)
L2 Auto
Description

This recommendation verifies that auditd Service Is Enabled and Running on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that auditd Service Is Enabled and Running:

audit_check_running

Remediation

Apply the following configuration to ensure auditd Service Is Enabled and Running:

remediate_running

4.2.3 Ensure Audit Log Storage Size Is Configured (Automated)
L2 Auto
Description

This recommendation verifies that Audit Log Storage Size Is Configured on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that Audit Log Storage Size Is Configured:

audit_check_configured

Remediation

Apply the following configuration to ensure Audit Log Storage Size Is Configured:

remediate_configured

4.2.4 Ensure System Is Disabled When Audit Logs Are Full (Automated)
L2 Auto
Description

This recommendation verifies that System Is Disabled When Audit Logs Are Full on the CentOS Linux 7 server. Disabling or removing unnecessary components reduces the attack surface and limits potential vectors for exploitation.

Rationale

Running unnecessary components on the CentOS Linux 7 server increases the attack surface and the risk of exploitation. Disabling or removing them follows the principle of least functionality and reduces exposure to known vulnerabilities.

Audit

Run the following command and verify that System Is Disabled When Audit Logs Are Full:

audit_check_full

Remediation

Apply the following configuration to ensure System Is Disabled When Audit Logs Are Full:

remediate_full

4.2.5 Ensure Events That Modify Date and Time Are Collected (Automated)
L2 Auto
Description

This recommendation verifies that Events That Modify Date and Time Are Collected on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that Events That Modify Date and Time Are Collected:

audit_check_collected

Remediation

Apply the following configuration to ensure Events That Modify Date and Time Are Collected:

remediate_collected

4.2.6 Ensure Events That Modify User/Group Information Are Collected (Automated)
L2 Auto
Description

This recommendation verifies that Events That Modify User/Group Information Are Collected on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that Events That Modify User/Group Information Are Collected:

audit_check_collected

Remediation

Apply the following configuration to ensure Events That Modify User/Group Information Are Collected:

remediate_collected

4.2.7 Ensure Successful and Unsuccessful Login Events Are Collected (Automated)
L2 Auto
Description

This recommendation verifies that Successful and Unsuccessful Login Events Are Collected on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that Successful and Unsuccessful Login Events Are Collected:

audit_check_collected

Remediation

Apply the following configuration to ensure Successful and Unsuccessful Login Events Are Collected:

remediate_collected

5 — Access & Authentication

▶

5.1 SSH Configuration

▶
5.1.1 Ensure SSH Root Login Is Disabled (Automated)
L1 Auto
Description

This recommendation verifies that SSH Root Login Is Disabled on the CentOS Linux 7 server. Disabling or removing unnecessary components reduces the attack surface and limits potential vectors for exploitation.

Rationale

Running unnecessary components on the CentOS Linux 7 server increases the attack surface and the risk of exploitation. Disabling or removing them follows the principle of least functionality and reduces exposure to known vulnerabilities.

Audit

Run the following command and verify that SSH Root Login Is Disabled:

audit_check_disabled

Remediation

Apply the following configuration to ensure SSH Root Login Is Disabled:

remediate_disabled

5.1.2 Ensure SSH PermitEmptyPasswords Is Disabled (Automated)
L1 Auto
Description

This recommendation verifies that SSH PermitEmptyPasswords Is Disabled on the CentOS Linux 7 server. Disabling or removing unnecessary components reduces the attack surface and limits potential vectors for exploitation.

Rationale

Running unnecessary components on the CentOS Linux 7 server increases the attack surface and the risk of exploitation. Disabling or removing them follows the principle of least functionality and reduces exposure to known vulnerabilities.

Audit

Run the following command and verify that SSH PermitEmptyPasswords Is Disabled:

audit_check_disabled

Remediation

Apply the following configuration to ensure SSH PermitEmptyPasswords Is Disabled:

remediate_disabled

5.1.3 Ensure SSH MaxAuthTries Is Set to 4 or Less (Automated)
L1 Auto
Description

This recommendation verifies that SSH MaxAuthTries Is Set to 4 or Less on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that SSH MaxAuthTries Is Set to 4 or Less:

audit_check_less

Remediation

Apply the following configuration to ensure SSH MaxAuthTries Is Set to 4 or Less:

remediate_less

5.1.4 Ensure SSH Protocol Is Set to 2 (Automated)
L1 Auto
Description

This recommendation verifies that SSH Protocol Is Set to 2 on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that SSH Protocol Is Set to 2:

audit_check_2

Remediation

Apply the following configuration to ensure SSH Protocol Is Set to 2:

remediate_2

5.1.5 Ensure SSH Idle Timeout Is Configured (Automated)
L1 Auto
Description

This recommendation verifies that SSH Idle Timeout Is Configured on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that SSH Idle Timeout Is Configured:

audit_check_configured

Remediation

Apply the following configuration to ensure SSH Idle Timeout Is Configured:

remediate_configured

5.1.6 Ensure SSH X11 Forwarding Is Disabled (Automated)
L2 Auto
Description

This recommendation verifies that SSH X11 Forwarding Is Disabled on the CentOS Linux 7 server. Disabling or removing unnecessary components reduces the attack surface and limits potential vectors for exploitation.

Rationale

Running unnecessary components on the CentOS Linux 7 server increases the attack surface and the risk of exploitation. Disabling or removing them follows the principle of least functionality and reduces exposure to known vulnerabilities.

Audit

Run the following command and verify that SSH X11 Forwarding Is Disabled:

audit_check_disabled

Remediation

Apply the following configuration to ensure SSH X11 Forwarding Is Disabled:

remediate_disabled

5.2 PAM & Password Settings

▶
5.2.1 Ensure Password Quality Requirements Are Configured (Automated)
L1 Auto
Description

This recommendation verifies that Password Quality Requirements Are Configured on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that Password Quality Requirements Are Configured:

audit_check_configured

Remediation

Apply the following configuration to ensure Password Quality Requirements Are Configured:

remediate_configured

5.2.2 Ensure Password Hashing Algorithm Is SHA-512 (Automated)
L1 Auto
Description

This recommendation verifies that Password Hashing Algorithm Is SHA-512 on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that Password Hashing Algorithm Is SHA-512:

audit_check_sha-512

Remediation

Apply the following configuration to ensure Password Hashing Algorithm Is SHA-512:

remediate_sha-512

5.2.3 Ensure Password Reuse Is Limited (Automated)
L1 Auto
Description

This setting ensures that Password Reuse Is Limited on the CentOS Linux 7 server. Restricting this capability limits potential abuse and enforces the principle of least privilege across the environment.

Rationale

Unrestricted access to this capability could allow unauthorized users or processes to perform actions beyond their intended scope. Applying least-privilege principles to the CentOS Linux 7 server is essential for defense in depth.

Audit

Run the following command and verify that Password Reuse Is Limited:

audit_check_limited

Remediation

Apply the following configuration to ensure Password Reuse Is Limited:

remediate_limited

5.2.4 Ensure Account Lockout Policy Is Configured (Automated)
L1 Auto
Description

This recommendation verifies that Account Lockout Policy Is Configured on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that Account Lockout Policy Is Configured:

audit_check_configured

Remediation

Apply the following configuration to ensure Account Lockout Policy Is Configured:

remediate_configured

5.2.5 Ensure Password Expiration Is Configured (Automated)
L1 Auto
Description

This recommendation verifies that Password Expiration Is Configured on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that Password Expiration Is Configured:

audit_check_configured

Remediation

Apply the following configuration to ensure Password Expiration Is Configured:

remediate_configured

6 — System Maintenance

▶

6.1 File Permissions

▶
6.1.1 Ensure Permissions on /etc/passwd Are Configured (Automated)
L1 Auto
Description

This recommendation verifies that Permissions on /etc/passwd Are Configured on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that Permissions on /etc/passwd Are Configured:

audit_check_configured

Remediation

Apply the following configuration to ensure Permissions on /etc/passwd Are Configured:

remediate_configured

6.1.2 Ensure Permissions on /etc/shadow Are Configured (Automated)
L1 Auto
Description

This recommendation verifies that Permissions on /etc/shadow Are Configured on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that Permissions on /etc/shadow Are Configured:

audit_check_configured

Remediation

Apply the following configuration to ensure Permissions on /etc/shadow Are Configured:

remediate_configured

6.1.3 Ensure Permissions on /etc/group Are Configured (Automated)
L1 Auto
Description

This recommendation verifies that Permissions on /etc/group Are Configured on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to properly configure this setting may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that Permissions on /etc/group Are Configured:

audit_check_configured

Remediation

Apply the following configuration to ensure Permissions on /etc/group Are Configured:

remediate_configured

6.1.4 Ensure No World-Writable Files Exist (Automated)
L1 Auto
Description

This recommendation verifies that No World-Writable Files Exist on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that No World-Writable Files Exist:

audit_check_exist

Remediation

Apply the following configuration to ensure No World-Writable Files Exist:

remediate_exist

6.1.5 Ensure No SUID Executables Exist (Automated)
L1 Auto
Description

This recommendation verifies that No SUID Executables Exist on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that No SUID Executables Exist:

audit_check_exist

Remediation

Apply the following configuration to ensure No SUID Executables Exist:

remediate_exist

6.2 User Accounts

▶
6.2.1 Ensure root Is the Only UID 0 Account (Automated)
L1 Auto
Description

This recommendation verifies that root Is the Only UID 0 Account on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that root Is the Only UID 0 Account:

audit_check_account

Remediation

Apply the following configuration to ensure root Is the Only UID 0 Account:

remediate_account

6.2.2 Ensure No Legacy Entries Exist in /etc/passwd (Automated)
L1 Auto
Description

This recommendation verifies that No Legacy Entries Exist in /etc/passwd on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that No Legacy Entries Exist in /etc/passwd:

audit_check_/etc/passwd

Remediation

Apply the following configuration to ensure No Legacy Entries Exist in /etc/passwd:

remediate_/etc/passwd

6.2.3 Ensure All Users Have a Valid Home Directory (Automated)
L1 Auto
Description

This recommendation verifies that All Users Have a Valid Home Directory on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that All Users Have a Valid Home Directory:

audit_check_directory

Remediation

Apply the following configuration to ensure All Users Have a Valid Home Directory:

remediate_directory

6.2.4 Ensure No Duplicate UIDs Exist (Automated)
L1 Auto
Description

This recommendation verifies that No Duplicate UIDs Exist on the CentOS Linux 7 server. Implementing this control strengthens the overall security configuration and reduces exposure to potential threats.

Rationale

Failure to implement this control may leave the CentOS Linux 7 server vulnerable to attack or non-compliant with organizational security policies. This control helps establish a consistent, hardened configuration baseline.

Audit

Run the following command and verify that No Duplicate UIDs Exist:

audit_check_exist

Remediation

Apply the following configuration to ensure No Duplicate UIDs Exist:

remediate_exist