Amazon Linux 2023 — Implemented CIS Rules
This page lists every CIS Benchmark rule ImageFactory automates for Amazon Linux 2023, exactly as implemented by the hardening tasks. See CIS Benchmarks for background on Level 1 vs. Level 2, and CIS Hardening Exceptions for rules that are intentionally not automated.
Level 1 (113 rules)
Section 1 — Initial Setup
| Rule ID | Title |
|---|---|
| 1.1.1.3 | Ensure mounting of cramfs filesystems is disabled |
| 1.1.2 | Ensure /tmp is configured |
| 1.1.2.3 | Ensure nodev option set on /tmp partition |
| 1.1.2.4 | Ensure noexec option set on /tmp partition |
| 1.1.2.5 | Ensure nosuid option set on /tmp partition |
| 1.1.4.2 | Ensure /var/tmp partition includes the noexec option |
| 1.1.4.3 | Ensure /var/tmp partition includes the nosuid option |
| 1.1.4.4 | Ensure /var/tmp partition includes the nodev option |
| 1.1.7.2 | Ensure /home partition includes the nodev option |
| 1.1.8.2 | Ensure nodev option set on /dev/shm partition |
| 1.1.8.3 | Ensure noexec option set on /dev/shm partition |
| 1.1.8.4 | Ensure nosuid option set on /dev/shm partition |
| 1.1.9 | Ensure usb-storage is disabled |
| 1.2.2 | Ensure gpgcheck is globally activated |
| 1.3.1 | Ensure AIDE is installed |
| 1.3.2 | Ensure filesystem integrity is regularly checked |
| 1.3.3 | Ensure cryptographic mechanisms are used to protect the integrity of audit tools |
| 1.4.1 | Ensure permissions on bootloader config are configured |
| 1.5.1 | Ensure address space layout randomization (ASLR) is enabled |
| 1.5.2 | Ensure ptrace_scope is restricted |
| 1.5.3 | Ensure core dump storage is disabled |
| 1.5.4 | Ensure core dump backtraces are disabled |
| 1.6.1.1 | Ensure SELinux is installed |
| 1.6.1.2 | Ensure SELinux is not disabled in bootloader configuration |
| 1.6.1.3 | Ensure SELinux policy is configured |
| 1.7.1 | Ensure message of the day is configured properly |
| 1.7.2 | Ensure local login warning banner is configured properly |
| 1.7.3 | Ensure remote login warning banner is configured properly |
| 1.7.4 | Ensure permissions on /etc/motd are configured |
| 1.7.5 | Ensure permissions on /etc/issue are configured |
| 1.7.6 | Ensure permissions on /etc/issue.net are configured |
Section 2 — Services
| Rule ID | Title |
|---|---|
| 2.1.1 | Ensure time synchronization is in use |
| 2.1.2 | Ensure chrony is configured |
| 2.2.2 | Ensure Avahi Server is not installed |
| 2.2.3 | Ensure a print server is not installed |
| 2.2.4 | Ensure DHCP Server is not installed |
| 2.2.5 | Ensure DNS Server is not installed |
| 2.2.6 | Ensure FTP Server is not installed |
| 2.2.8 | Ensure HTTP server is not installed |
| 2.2.9 | Ensure IMAP and POP3 server is not installed |
| 2.2.10 | Ensure Samba is not installed |
| 2.2.11 | Ensure HTTP Proxy Server is not installed |
| 2.2.12 | Ensure net-snmp is not installed |
| 2.2.13 | Ensure telnet-server is not installed |
| 2.2.15 | Ensure mail transfer agent is configured for local-only mode |
| 2.2.16 | Ensure nfs-utils is not installed or the nfs-server service is masked |
| 2.2.17 | Ensure rpcbind is not installed or the rpcbind services are masked |
| 2.2.18 | Ensure rsync is not installed or the rsyncd service is masked |
| 2.3.1 | Ensure telnet client is not installed |
| 2.3.2 | Ensure LDAP client is not installed |
Section 3 — Network Configuration
| Rule ID | Title |
|---|---|
| 3.2.1 | Ensure IP forwarding is disabled |
| 3.2.2 | Ensure packet redirect sending is disabled |
| 3.3.1 | Ensure source routed packets are not accepted |
| 3.3.2 | Ensure ICMP redirects are not accepted |
| 3.3.3 | Ensure secure ICMP redirects are not accepted |
| 3.3.4 | Ensure suspicious packets are logged |
| 3.3.5 | Ensure broadcast ICMP requests are ignored |
| 3.3.6 | Ensure bogus ICMP responses are ignored |
| 3.3.7 | Ensure Reverse Path Filtering is enabled |
| 3.3.8 | Ensure TCP SYN Cookies is enabled |
| 3.3.9 | Ensure IPv6 router advertisements are not accepted |
| 3.4.1 | Ensure a Firewall package is installed |
| 3.4.2 | Configure firewall rules |
Section 4
| Rule ID | Title |
|---|---|
| 4.1.1 | Ensure cron daemon is enabled and running |
| 4.1.2 | Ensure permissions on /etc/crontab are configured |
| 4.1.3 | Ensure permissions on /etc/cron.hourly are configured |
| 4.1.4 | Ensure permissions on /etc/cron.daily are configured |
| 4.1.5 | Ensure permissions on /etc/cron.weekly are configured |
| 4.1.6 | Ensure permissions on /etc/cron.monthly are configured |
| 4.1.7 | Ensure permissions on /etc/cron.d are configured |
| 4.1.8 | 4.1.8 - 5.1.9 | Ensure at/cron is restricted to authorized users |
| 4.1.9 | 4.1.8 - 5.1.9 | Ensure at/cron is restricted to authorized users |
| 4.2.1 | Ensure permissions on /etc/ssh/sshd_config are configured |
| 4.2.2 | Ensure permissions on SSH private host key files are configured |
| 4.2.3 | Ensure permissions on SSH public host key files are configured |
| 4.2.4 | Ensure SSH access is limited |
| 4.2.5 | Ensure SSH LogLevel is appropriate |
| 4.2.6 | Ensure SSH PAM is enabled |
| 4.2.7 | Ensure SSH root login is disabled |
| 4.2.8 | Ensure SSH HostbasedAuthentication is disabled |
| 4.2.9 | Ensure SSH PermitEmptyPasswords is disabled |
| 4.2.10 | Ensure SSH PermitUserEnvironment is disabled |
| 4.2.11 | Ensure SSH IgnoreRhosts is enabled |
| 4.2.15 | Ensure SSH warning banner is configured |
| 4.2.16 | Ensure SSH MaxAuthTries is set to 4 or less |
| 4.2.17 | Ensure SSH MaxStartups is configured |
| 4.2.18 | Ensure SSH MaxSessions is set to 4 or less |
| 4.2.19 | Ensure SSH LoginGraceTime is set to one minute or less |
| 4.2.20 | Ensure SSH Idle Timeout Interval is configured |
| 4.3.1 | Ensure sudo is installed |
| 4.3.2 | Ensure sudo commands use pty |
| 4.3.3 | Ensure sudo log file exists |
| 4.3.6 | Ensure access to the su command is restricted |
| 4.5.1 | Ensure password creation requirements are configured |
| 4.5.2 | Ensure lockout for failed password attempts is configured |
| 4.5.3 | Ensure password hashing algorithm is SHA-512 |
| 4.5.4 | Ensure password reuse is limited |
| 4.6.1.1 | Ensure password expiration is 365 days or less |
| 4.6.1.2 | Ensure minimum days between password changes is 7 or more |
| 4.6.1.3 | Ensure password expiration warning days is 7 or more |
| 4.6.1.4 | Ensure inactive password lock is 30 days or less |
| 4.6.3 | Ensure default user shell timeout is 900 seconds or less |
| 4.6.4 | Ensure default group for the root account is GID 0 |
| 4.6.5 | Ensure default user umask is 027 or more restrictive |
Section 5
| Rule ID | Title |
|---|---|
| 5.1.1.1 | Ensure rsyslog is installed |
| 5.1.1.2 | Ensure rsyslog Service is enabled and running |
| 5.1.1.3 | Ensure journald is configured to send logs to rsyslog |
| 5.1.1.4 | Ensure rsyslog default file permissions configured |
| 5.1.2.3 | Ensure journald is configured to compress large log files |
| 5.1.2.4 | Ensure journald is configured to write logfiles to persistent disk |
| 5.1.3 | Ensure all logfiles have appropriate permissions and ownership |
Section 6
| Rule ID | Title |
|---|---|
| 6.1.11 | Ensure world writable files and directories are secured |
| 6.2.13 | Ensure users' home directories permissions are 750 or more restrictive |
Level 2 (34 rules)
Section 1 — Initial Setup
| Rule ID | Title |
|---|---|
| 1.1.1.1 | Ensure mounting of squashfs filesystems is disabled |
| 1.1.1.2 | Ensure mounting of udf filesystems is disabled |
| 1.6.1.5 | Ensure the SELinux mode is enforcing |
Section 3 — Network Configuration
| Rule ID | Title |
|---|---|
| 3.1.2 | Ensure DCCP is disabled |
| 3.1.3 | Ensure SCTP is disabled |
| 3.1.4 | Ensure RDS is disabled |
Section 4
| Rule ID | Title |
|---|---|
| 4.2.12 | Ensure SSH X11 forwarding is disabled |
| 4.2.13 | Ensure SSH AllowTcpForwarding is disabled |
Section 5
| Rule ID | Title |
|---|---|
| 5.2.1.1 | Ensure auditd is installed |
| 5.2.1.3 | Ensure audit_backlog_limit is sufficient |
| 5.2.1.4 | Ensure auditd service is enabled |
| 5.2.2.1 | Ensure audit log storage size is configured |
| 5.2.2.2 | Ensure audit logs are not automatically deleted |
| 5.2.2.3 | Ensure system is disabled when audit logs are full |
| 5.2.3.1 | Ensure changes to system administration scope (sudoers) is collected |
| 5.2.3.2 | Ensure actions as another user are always logged |
| 5.2.3.3 | Ensure events that modify the sudo log file are collected |
| 5.2.3.4 | Ensure events that modify date and time information are collected |
| 5.2.3.5 | Ensure events that modify the system's network environment are collected |
| 5.2.3.6 | Ensure use of privileged commands are collected |
| 5.2.3.7 | Ensure unsuccessful file access attempts are collected |
| 5.2.3.8 | Ensure events that modify user/group information are collected |
| 5.2.3.9 | Ensure discretionary access control permission modification events are collected |
| 5.2.3.10 | Ensure successful file system mounts are collected |
| 5.2.3.11 | Ensure session initiation information is collected |
| 5.2.3.12 | Ensure login and logout events are collected |
| 5.2.3.13 | Ensure file deletion events by users are collected |
| 5.2.3.14 | Ensure events that modify the system's Mandatory Access Controls are collected |
| 5.2.3.15 | Ensure events that modify the system's Mandatory Access Controls are collected |
| 5.2.3.16 | Ensure events that modify the system's Mandatory Access Controls are collected |
| 5.2.3.17 | Ensure events that modify the system's Mandatory Access Controls are collected |
| 5.2.3.18 | Ensure events that modify the system's Mandatory Access Controls are collected |
| 5.2.3.19 | Ensure kernel module loading unloading and modification is collected |
| 5.2.3.20 | Ensure the audit configuration is immutable |