Files
2026-01-27 17:35:45 -05:00

5.3 KiB

CIS Linux Hardening Checklist

1. Initial Setup

1.1 Filesystem Configuration

  • Disable unused filesystems (cramfs, freevxfs, jffs2, hfs, hfsplus, squashfs, udf)
  • Ensure /tmp is configured with nodev, nosuid, noexec
  • Ensure /var, /var/tmp, /var/log, /var/log/audit are separate partitions
  • Ensure /home is separate partition with nodev

1.2 Configure Software Updates

  • Ensure package manager repositories are configured
  • Ensure GPG keys are configured
  • Ensure automatic updates are enabled

1.3 Filesystem Integrity

  • Ensure AIDE is installed
  • Ensure filesystem integrity is regularly checked

2. Services

2.1 Special Purpose Services

  • Ensure time synchronization is configured (chrony/ntp)
  • Ensure X Window System is not installed
  • Ensure rsync service is not installed or masked
  • Ensure Avahi Server is not installed
  • Ensure CUPS is not installed
  • Ensure DHCP Server is not installed
  • Ensure LDAP server is not installed
  • Ensure NFS is not installed
  • Ensure DNS Server is not installed
  • Ensure FTP Server is not installed
  • Ensure HTTP Server is not installed
  • Ensure IMAP and POP3 server is not installed
  • Ensure Samba is not installed
  • Ensure SNMP Server is not installed

2.2 Service Clients

  • Ensure NIS Client is not installed
  • Ensure rsh client is not installed
  • Ensure talk client is not installed
  • Ensure telnet client is not installed
  • Ensure LDAP client is not installed
  • Ensure RPC is not installed

3. Network Configuration

3.1 Network Parameters (Host Only)

  • Ensure IP forwarding is disabled
  • Ensure packet redirect sending is disabled

3.2 Network Parameters (Host and Router)

  • Ensure source routed packets are not accepted
  • Ensure ICMP redirects are not accepted
  • Ensure secure ICMP redirects are not accepted
  • Ensure suspicious packets are logged
  • Ensure broadcast ICMP requests are ignored
  • Ensure bogus ICMP responses are ignored
  • Ensure Reverse Path Filtering is enabled
  • Ensure TCP SYN Cookies is enabled

3.3 Firewall Configuration

  • Ensure firewall is installed (iptables, nftables, or firewalld)
  • Ensure default deny firewall policy
  • Ensure loopback traffic is configured
  • Ensure outbound connections are configured

4. Access, Authentication and Authorization

4.1 Configure Shadow Suite

  • Ensure password expiration is 365 days or less
  • Ensure minimum days between password changes is 7 or more
  • Ensure password expiration warning days is 7 or more
  • Ensure inactive password lock is 30 days or less
  • Ensure all users last password change date is in the past

4.2 Configure SSH Server

  • Ensure SSH Protocol is set to 2
  • Ensure SSH LogLevel is appropriate
  • Ensure SSH X11 forwarding is disabled
  • Ensure SSH MaxAuthTries is set to 4 or less
  • Ensure SSH IgnoreRhosts is enabled
  • Ensure SSH HostbasedAuthentication is disabled
  • Ensure SSH root login is disabled
  • Ensure SSH PermitEmptyPasswords is disabled
  • Ensure SSH PermitUserEnvironment is disabled
  • Ensure SSH Idle Timeout Interval is configured
  • Ensure SSH LoginGraceTime is set to one minute or less
  • Ensure SSH warning banner is configured
  • Ensure SSH PAM is enabled
  • Ensure SSH AllowTcpForwarding is disabled

4.3 Configure PAM

  • Ensure password creation requirements are configured
  • Ensure lockout for failed password attempts is configured
  • Ensure password reuse is limited
  • Ensure password hashing algorithm is SHA-512

5. Logging and Auditing

5.1 Configure Logging

  • Ensure rsyslog is installed
  • Ensure rsyslog Service is enabled
  • Ensure logging is configured
  • Ensure rsyslog default file permissions configured
  • Ensure remote rsyslog messages only accepted on designated log hosts

5.2 Configure auditd

  • Ensure auditing is enabled
  • Ensure audit log storage size is configured
  • Ensure audit logs are not automatically deleted
  • Ensure changes to system administration scope are collected
  • Ensure login and logout events are collected
  • Ensure session initiation information is collected
  • Ensure file deletion events by users are collected
  • Ensure kernel module loading and unloading is collected

6. System Maintenance

6.1 File Permissions

  • Ensure permissions on /etc/passwd are configured (644)
  • Ensure permissions on /etc/shadow are configured (600)
  • Ensure permissions on /etc/group are configured (644)
  • Ensure permissions on /etc/gshadow are configured (600)
  • Ensure no world writable files exist
  • Ensure no unowned files or directories exist
  • Ensure no ungrouped files or directories exist

6.2 User and Group Settings

  • Ensure accounts in /etc/passwd use shadowed passwords
  • Ensure no legacy "+" entries exist in /etc/passwd
  • Ensure root is the only UID 0 account
  • Ensure root PATH integrity
  • Ensure all users' home directories exist
  • Ensure users' home directories permissions are 750 or more restrictive
  • Ensure users own their home directories
  • Ensure no users have .forward files
  • Ensure no users have .netrc files
  • Ensure no users have .rhosts files