scap-security-guide/SOURCES/scap-security-guide-0.1.51-...

1217 lines
50 KiB
Diff

From 29eb0f64454f275085015b481a59184e73ebe7f6 Mon Sep 17 00:00:00 2001
From: Shawn Wells <shawn@redhat.com>
Date: Sun, 29 Mar 2020 00:58:02 -0400
Subject: [PATCH 01/20] update CIS RHEL8 profile
---
.../service_crond_enabled/rule.yml | 2 +-
.../r_services/no_rsh_trust_files/rule.yml | 8 +-
.../rule.yml | 2 +-
.../account_unique_name/rule.yml | 11 +-
.../accounts_maximum_age_login_defs/rule.yml | 2 +-
.../accounts_minimum_age_login_defs/rule.yml | 1 +
.../rule.yml | 1 +
.../var_accounts_maximum_age_login_defs.var | 1 +
.../password_storage/no_netrc_files/rule.yml | 4 +-
.../accounts_no_uid_except_zero/rule.yml | 2 +-
.../no_direct_root_logins/rule.yml | 2 +-
.../rule.yml | 1 +
.../accounts-session/accounts_tmout/rule.yml | 1 +
.../rule.yml | 1 +
.../rule.yml | 1 +
.../file_permissions_home_dirs/rule.yml | 4 +-
.../rsyslog_files_permissions/rule.yml | 2 +-
.../ensure_logrotate_activated/rule.yml | 1 +
.../package_rsyslog_installed/rule.yml | 2 +-
.../rsyslog_nolisten/rule.yml | 2 +
.../rsyslog_remote_loghost/rule.yml | 4 +-
.../logging/service_rsyslog_enabled/rule.yml | 2 +-
rhel8/profiles/cis.profile | 141 ++++++++++++------
shared/references/cce-redhat-avail.txt | 2 -
24 files changed, 137 insertions(+), 63 deletions(-)
diff --git a/linux_os/guide/services/cron_and_at/service_crond_enabled/rule.yml b/linux_os/guide/services/cron_and_at/service_crond_enabled/rule.yml
index a1f82cf5c9..09d1a92a55 100644
--- a/linux_os/guide/services/cron_and_at/service_crond_enabled/rule.yml
+++ b/linux_os/guide/services/cron_and_at/service_crond_enabled/rule.yml
@@ -24,7 +24,7 @@ identifiers:
references:
stigid@rhel6: "000224"
srg@rhel6: SRG-OS-999999
- cis: 5.1.1
+ cis@rhel8: 5.1.1
hipaa: 164.308(a)(4)(i),164.308(b)(1),164.308(b)(3),164.310(b),164.312(e)(1),164.312(e)(2)(ii)
nist: CM-6(a)
nist-csf: PR.IP-1,PR.PT-3
diff --git a/linux_os/guide/services/obsolete/r_services/no_rsh_trust_files/rule.yml b/linux_os/guide/services/obsolete/r_services/no_rsh_trust_files/rule.yml
index 2ccf4127b7..ec2fa6c012 100644
--- a/linux_os/guide/services/obsolete/r_services/no_rsh_trust_files/rule.yml
+++ b/linux_os/guide/services/obsolete/r_services/no_rsh_trust_files/rule.yml
@@ -12,9 +12,9 @@ description: |-
<pre>$ rm ~/.rhosts</pre>
rationale: |-
- Trust files are convenient, but when
- used in conjunction with the R-services, they can allow
- unauthenticated access to a system.
+ This action is only meaningful if <tt>.rhosts</tt> support is permitted
+ through PAM. Trust files are convenient, but when used in conjunction with
+ the R-services, they can allow unauthenticated access to a system.
severity: high
@@ -26,7 +26,7 @@ identifiers:
references:
stigid@rhel6: "000019"
srg@rhel6: SRG-OS-000248
- cis: 6.2.14
+ cis@rhel8: 6.2.13
disa: "1436"
hipaa: 164.308(a)(4)(i),164.308(b)(1),164.308(b)(3),164.310(b),164.312(e)(1),164.312(e)(2)(ii)
nist: CM-7(a),CM-7(b),CM-6(a)
diff --git a/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/rule.yml b/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/rule.yml
index fff30d70c7..7a1538392a 100644
--- a/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/rule.yml
+++ b/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/rule.yml
@@ -43,7 +43,7 @@ references:
stigid@rhel6: "000062"
srg@rhel6: SRG-OS-000120
disa@rhel6: '803'
- cis: 6.3.1
+ cis@rhel8: 5.4.4
cjis: 5.6.2.2
cui: 3.13.11
disa: "196"
diff --git a/linux_os/guide/system/accounts/accounts-restrictions/account_expiration/account_unique_name/rule.yml b/linux_os/guide/system/accounts/accounts-restrictions/account_expiration/account_unique_name/rule.yml
index 2cdafc0609..35652a410b 100644
--- a/linux_os/guide/system/accounts/accounts-restrictions/account_expiration/account_unique_name/rule.yml
+++ b/linux_os/guide/system/accounts/accounts-restrictions/account_expiration/account_unique_name/rule.yml
@@ -2,9 +2,15 @@ documentation_complete: true
title: 'Ensure All Accounts on the System Have Unique Names'
-description: 'Change usernames, or delete accounts, so each has a unique name.'
+description: |-
+ Although the <tt>useradd</tt> utility prevents creation of duplicate user
+ names, it is possible for a malicious administrator to manually edit the
+ <tt>/etc/passwd</tt> file and change the user name.
-rationale: 'Unique usernames allow for accountability on the system.'
+rationale: |-
+ If a user is assigned a duplicate user name, the new user will be able to
+ create and have access to files with the first UID for that username as
+ defined in <tt>/etc/passwd</tt>.
severity: medium
@@ -19,6 +25,7 @@ references:
cjis: 5.5.2
disa: 770,804
pcidss: Req-8.1.1
+ cis@rhel8: 6.2.17
ocil_clause: 'a line is returned'
diff --git a/linux_os/guide/system/accounts/accounts-restrictions/password_expiration/accounts_maximum_age_login_defs/rule.yml b/linux_os/guide/system/accounts/accounts-restrictions/password_expiration/accounts_maximum_age_login_defs/rule.yml
index af1ea13d8f..c2c4aa11bc 100644
--- a/linux_os/guide/system/accounts/accounts-restrictions/password_expiration/accounts_maximum_age_login_defs/rule.yml
+++ b/linux_os/guide/system/accounts/accounts-restrictions/password_expiration/accounts_maximum_age_login_defs/rule.yml
@@ -34,7 +34,7 @@ references:
stigid@rhel6: "000053"
srg@rhel6: SRG-OS-000076
disa@rhel6: '180'
- cis: 5.4.1.1
+ cis@rhel8: 5.5.1.1
cjis: 5.6.2.1
cui: 3.5.6
disa: "199"
diff --git a/linux_os/guide/system/accounts/accounts-restrictions/password_expiration/accounts_minimum_age_login_defs/rule.yml b/linux_os/guide/system/accounts/accounts-restrictions/password_expiration/accounts_minimum_age_login_defs/rule.yml
index 2de12efb3e..6147d672a4 100644
--- a/linux_os/guide/system/accounts/accounts-restrictions/password_expiration/accounts_minimum_age_login_defs/rule.yml
+++ b/linux_os/guide/system/accounts/accounts-restrictions/password_expiration/accounts_minimum_age_login_defs/rule.yml
@@ -44,6 +44,7 @@ references:
cobit5: DSS05.04,DSS05.05,DSS05.07,DSS05.10,DSS06.03,DSS06.10
iso27001-2013: A.18.1.4,A.7.1.1,A.9.2.1,A.9.2.2,A.9.2.3,A.9.2.4,A.9.2.6,A.9.3.1,A.9.4.2,A.9.4.3
cis-csc: 1,12,15,16,5
+ cis@rhel8: 5.5.1.2
ocil_clause: 'it is not equal to or greater than the required value'
diff --git a/linux_os/guide/system/accounts/accounts-restrictions/password_expiration/accounts_password_warn_age_login_defs/rule.yml b/linux_os/guide/system/accounts/accounts-restrictions/password_expiration/accounts_password_warn_age_login_defs/rule.yml
index 3a5c00708d..2a1005bd20 100644
--- a/linux_os/guide/system/accounts/accounts-restrictions/password_expiration/accounts_password_warn_age_login_defs/rule.yml
+++ b/linux_os/guide/system/accounts/accounts-restrictions/password_expiration/accounts_password_warn_age_login_defs/rule.yml
@@ -33,6 +33,7 @@ references:
cobit5: DSS01.03,DSS03.05,DSS05.04,DSS05.05,DSS05.07,DSS05.10,DSS06.03,DSS06.10
iso27001-2013: A.12.4.1,A.12.4.3,A.18.1.4,A.6.1.2,A.7.1.1,A.9.1.2,A.9.2.1,A.9.2.2,A.9.2.3,A.9.2.4,A.9.2.6,A.9.3.1,A.9.4.1,A.9.4.2,A.9.4.3,A.9.4.4,A.9.4.5
cis-csc: 1,12,13,14,15,16,18,3,5,7,8
+ cis@rhel8: 5.5.1.3
ocil_clause: 'it is not set to the required value'
diff --git a/linux_os/guide/system/accounts/accounts-restrictions/password_expiration/var_accounts_maximum_age_login_defs.var b/linux_os/guide/system/accounts/accounts-restrictions/password_expiration/var_accounts_maximum_age_login_defs.var
index 731f8f475f..11eb238c5d 100644
--- a/linux_os/guide/system/accounts/accounts-restrictions/password_expiration/var_accounts_maximum_age_login_defs.var
+++ b/linux_os/guide/system/accounts/accounts-restrictions/password_expiration/var_accounts_maximum_age_login_defs.var
@@ -9,6 +9,7 @@ type: number
interactive: false
options:
+ 365: 365
120: 120
180: 180
60: 60
diff --git a/linux_os/guide/system/accounts/accounts-restrictions/password_storage/no_netrc_files/rule.yml b/linux_os/guide/system/accounts/accounts-restrictions/password_storage/no_netrc_files/rule.yml
index 01454a7274..8547893201 100644
--- a/linux_os/guide/system/accounts/accounts-restrictions/password_storage/no_netrc_files/rule.yml
+++ b/linux_os/guide/system/accounts/accounts-restrictions/password_storage/no_netrc_files/rule.yml
@@ -11,8 +11,7 @@ description: |-
rationale: |-
Unencrypted passwords for remote FTP servers may be stored in <tt>.netrc</tt>
- files. DoD policy requires passwords be encrypted in storage and not used
- in access scripts.
+ files.
severity: medium
@@ -24,6 +23,7 @@ identifiers:
references:
stigid@rhel6: "000347"
srg@rhel6: SRG-OS-000073
+ cis@rhel8: 6.2.11
disa: "196"
nist: IA-5(h),IA-5(1)(c),CM-6(a),IA-5(7)
nist-csf: PR.AC-1,PR.AC-4,PR.AC-6,PR.AC-7,PR.PT-3
diff --git a/linux_os/guide/system/accounts/accounts-restrictions/root_logins/accounts_no_uid_except_zero/rule.yml b/linux_os/guide/system/accounts/accounts-restrictions/root_logins/accounts_no_uid_except_zero/rule.yml
index 0b61daf925..14f9140687 100644
--- a/linux_os/guide/system/accounts/accounts-restrictions/root_logins/accounts_no_uid_except_zero/rule.yml
+++ b/linux_os/guide/system/accounts/accounts-restrictions/root_logins/accounts_no_uid_except_zero/rule.yml
@@ -31,7 +31,7 @@ references:
stigid@ol7: "020310"
stigid@rhel6: "000032"
srg@rhel6: SRG-OS-999999
- cis: 6.2.5
+ cis@rhel8: 6.2.6
cui: 3.1.1,3.1.5
disa: "366"
nist: IA-2,AC-6(5),IA-4(b)
diff --git a/linux_os/guide/system/accounts/accounts-restrictions/root_logins/no_direct_root_logins/rule.yml b/linux_os/guide/system/accounts/accounts-restrictions/root_logins/no_direct_root_logins/rule.yml
index 1d08bde4d9..9e00f3aad6 100644
--- a/linux_os/guide/system/accounts/accounts-restrictions/root_logins/no_direct_root_logins/rule.yml
+++ b/linux_os/guide/system/accounts/accounts-restrictions/root_logins/no_direct_root_logins/rule.yml
@@ -33,7 +33,7 @@ identifiers:
cce@ocp4: 82698-2
references:
- cis: "5.5"
+ cis@rhel8: "5.6"
cui: 3.1.1,3.1.6
hipaa: 164.308(a)(1)(ii)(B),164.308(a)(7)(i),164.308(a)(7)(ii)(A),164.310(a)(1),164.310(a)(2)(i),164.310(a)(2)(ii),164.310(a)(2)(iii),164.310(b),164.310(c),164.310(d)(1),164.310(d)(2)(iii)
nist: IA-2,CM-6(a)
diff --git a/linux_os/guide/system/accounts/accounts-restrictions/root_logins/securetty_root_login_console_only/rule.yml b/linux_os/guide/system/accounts/accounts-restrictions/root_logins/securetty_root_login_console_only/rule.yml
index ae8ba133b7..0c26ac3240 100644
--- a/linux_os/guide/system/accounts/accounts-restrictions/root_logins/securetty_root_login_console_only/rule.yml
+++ b/linux_os/guide/system/accounts/accounts-restrictions/root_logins/securetty_root_login_console_only/rule.yml
@@ -35,6 +35,7 @@ references:
cobit5: APO01.06,DSS05.04,DSS05.07,DSS06.02
iso27001-2013: A.10.1.1,A.11.1.4,A.11.1.5,A.11.2.1,A.13.1.1,A.13.1.3,A.13.2.1,A.13.2.3,A.13.2.4,A.14.1.2,A.14.1.3,A.6.1.2,A.7.1.1,A.7.1.2,A.7.3.1,A.8.2.2,A.8.2.3,A.9.1.1,A.9.1.2,A.9.2.3,A.9.4.1,A.9.4.4,A.9.4.5
cis-csc: 12,13,14,15,16,18,3,5
+ cis@rhel8: "5.6"
srg: SRG-OS-000324-GPOS-00125
ocil_clause: 'root login over virtual console devices is permitted'
diff --git a/linux_os/guide/system/accounts/accounts-session/accounts_tmout/rule.yml b/linux_os/guide/system/accounts/accounts-session/accounts_tmout/rule.yml
index 787f2264de..f09006b72b 100644
--- a/linux_os/guide/system/accounts/accounts-session/accounts_tmout/rule.yml
+++ b/linux_os/guide/system/accounts/accounts-session/accounts_tmout/rule.yml
@@ -38,6 +38,7 @@ references:
cobit5: DSS05.04,DSS05.10,DSS06.10
iso27001-2013: A.18.1.4,A.9.2.1,A.9.2.4,A.9.3.1,A.9.4.2,A.9.4.3
cis-csc: 1,12,15,16
+ cis@rhel8: 5.5.3
anssi: NT28(R29)
ocil_clause: 'value of TMOUT is not less than or equal to expected setting'
diff --git a/linux_os/guide/system/accounts/accounts-session/accounts_user_interactive_home_directory_exists/rule.yml b/linux_os/guide/system/accounts/accounts-session/accounts_user_interactive_home_directory_exists/rule.yml
index e7e9a751a4..bedf3a0b19 100644
--- a/linux_os/guide/system/accounts/accounts-session/accounts_user_interactive_home_directory_exists/rule.yml
+++ b/linux_os/guide/system/accounts/accounts-session/accounts_user_interactive_home_directory_exists/rule.yml
@@ -27,6 +27,7 @@ references:
disa: "366"
srg: SRG-OS-000480-GPOS-00227
stigid@rhel7: "020620"
+ cis@rhel8: 6.2.20
ocil_clause: 'users home directory does not exist'
diff --git a/linux_os/guide/system/accounts/accounts-session/file_groupownership_home_directories/rule.yml b/linux_os/guide/system/accounts/accounts-session/file_groupownership_home_directories/rule.yml
index d58884235e..1c5ac8d099 100644
--- a/linux_os/guide/system/accounts/accounts-session/file_groupownership_home_directories/rule.yml
+++ b/linux_os/guide/system/accounts/accounts-session/file_groupownership_home_directories/rule.yml
@@ -26,6 +26,7 @@ references:
disa: "366"
srg: SRG-OS-000480-GPOS-00227
stigid@rhel7: "020650"
+ cis@rhel8: 6.2.8
ocil_clause: 'the group ownership is incorrect'
diff --git a/linux_os/guide/system/accounts/accounts-session/file_permissions_home_dirs/rule.yml b/linux_os/guide/system/accounts/accounts-session/file_permissions_home_dirs/rule.yml
index 8812f9d123..27c190b5b1 100644
--- a/linux_os/guide/system/accounts/accounts-session/file_permissions_home_dirs/rule.yml
+++ b/linux_os/guide/system/accounts/accounts-session/file_permissions_home_dirs/rule.yml
@@ -22,11 +22,12 @@ rationale: |-
to one another's home directories, this can be provided using
groups or ACLs.
-severity: unknown
+severity: medium
identifiers:
cce@rhel6: 26981-1
cce@rhel7: 80201-7
+ cce@rhel8: 84274-0
references:
disa: "225"
@@ -37,6 +38,7 @@ references:
cobit5: APO01.06,DSS05.04,DSS05.07,DSS06.02
iso27001-2013: A.10.1.1,A.11.1.4,A.11.1.5,A.11.2.1,A.13.1.1,A.13.1.3,A.13.2.1,A.13.2.3,A.13.2.4,A.14.1.2,A.14.1.3,A.6.1.2,A.7.1.1,A.7.1.2,A.7.3.1,A.8.2.2,A.8.2.3,A.9.1.1,A.9.1.2,A.9.2.3,A.9.4.1,A.9.4.4,A.9.4.5
cis-csc: 12,13,14,15,16,18,3,5
+ cis@rhel8: 6.2.7
ocil_clause: 'the user home directory is group-writable or world-readable'
diff --git a/linux_os/guide/system/logging/ensure_rsyslog_log_file_configuration/rsyslog_files_permissions/rule.yml b/linux_os/guide/system/logging/ensure_rsyslog_log_file_configuration/rsyslog_files_permissions/rule.yml
index 4c1e69020b..aa6e0905ae 100644
--- a/linux_os/guide/system/logging/ensure_rsyslog_log_file_configuration/rsyslog_files_permissions/rule.yml
+++ b/linux_os/guide/system/logging/ensure_rsyslog_log_file_configuration/rsyslog_files_permissions/rule.yml
@@ -31,7 +31,7 @@ references:
anssi: NT28(R36)
stigid@rhel6: "000135"
srg@rhel6: SRG-OS-000206
- cis: 4.2.1.3
+ cis@rhel8: 4.2.1.3
disa: "1314"
nist: CM-6(a),AC-6(1)
pcidss: Req-10.5.1,Req-10.5.2
diff --git a/linux_os/guide/system/logging/log_rotation/ensure_logrotate_activated/rule.yml b/linux_os/guide/system/logging/log_rotation/ensure_logrotate_activated/rule.yml
index def9566692..2c41a3b9ef 100644
--- a/linux_os/guide/system/logging/log_rotation/ensure_logrotate_activated/rule.yml
+++ b/linux_os/guide/system/logging/log_rotation/ensure_logrotate_activated/rule.yml
@@ -35,6 +35,7 @@ references:
cobit5: APO11.04,BAI03.05,DSS05.04,DSS05.07,MEA02.01
iso27001-2013: A.12.4.1,A.12.4.2,A.12.4.3,A.12.4.4,A.12.7.1
cis-csc: 1,14,15,16,3,5,6
+ cis@rhel8: 4.3
anssi: NT28(R43),NT12(R18)
ocil_clause: 'logrotate is not configured to run daily'
diff --git a/linux_os/guide/system/logging/package_rsyslog_installed/rule.yml b/linux_os/guide/system/logging/package_rsyslog_installed/rule.yml
index 9f00dd9704..00fecf8a3c 100644
--- a/linux_os/guide/system/logging/package_rsyslog_installed/rule.yml
+++ b/linux_os/guide/system/logging/package_rsyslog_installed/rule.yml
@@ -18,7 +18,7 @@ identifiers:
references:
cis@debian8: 5.1.1
anssi: NT28(R5),NT28(R46)
- cis: 4.2.3
+ cis@rhel8: 4.2.1.1
disa: 1311,1312
hipaa: 164.312(a)(2)(ii)
iso27001-2013: A.12.4.1,A.12.4.2,A.12.4.3,A.12.4.4,A.12.7.1
diff --git a/linux_os/guide/system/logging/rsyslog_accepting_remote_messages/rsyslog_nolisten/rule.yml b/linux_os/guide/system/logging/rsyslog_accepting_remote_messages/rsyslog_nolisten/rule.yml
index 8a5a15e1da..14e729252c 100644
--- a/linux_os/guide/system/logging/rsyslog_accepting_remote_messages/rsyslog_nolisten/rule.yml
+++ b/linux_os/guide/system/logging/rsyslog_accepting_remote_messages/rsyslog_nolisten/rule.yml
@@ -26,6 +26,7 @@ severity: medium
identifiers:
cce@rhel6: 26803-7
cce@rhel7: 80192-8
+ cce@rhel8: 84275-7
references:
stigid@ol7: "031010"
@@ -39,3 +40,4 @@ references:
iso27001-2013: A.10.1.1,A.11.1.4,A.11.1.5,A.11.2.1,A.12.1.1,A.12.1.2,A.12.4.1,A.12.4.2,A.12.4.3,A.12.4.4,A.12.5.1,A.12.6.2,A.12.7.1,A.13.1.1,A.13.1.2,A.13.1.3,A.13.2.1,A.13.2.2,A.13.2.3,A.13.2.4,A.14.1.2,A.14.1.3,A.14.2.2,A.14.2.3,A.14.2.4,A.6.1.2,A.7.1.1,A.7.1.2,A.7.3.1,A.8.2.2,A.8.2.3,A.9.1.1,A.9.1.2,A.9.2.3,A.9.4.1,A.9.4.4,A.9.4.5
cis-csc: 1,11,12,13,14,15,16,18,3,4,5,6,8,9
stigid@rhel7: "031010"
+ cis@rhel8: 4.2.1.6
diff --git a/linux_os/guide/system/logging/rsyslog_sending_messages/rsyslog_remote_loghost/rule.yml b/linux_os/guide/system/logging/rsyslog_sending_messages/rsyslog_remote_loghost/rule.yml
index 7b70b0c186..da28b99561 100644
--- a/linux_os/guide/system/logging/rsyslog_sending_messages/rsyslog_remote_loghost/rule.yml
+++ b/linux_os/guide/system/logging/rsyslog_sending_messages/rsyslog_remote_loghost/rule.yml
@@ -46,8 +46,8 @@ references:
anssi: NT28(R7),NT28(R43),NT12(R5)
stigid@rhel6: "000136"
srg@rhel6: SRG-OS-000043,SRG-OS-000215
- cis: 4.2.1.4
- disa: 136,366,1348,1851
+ cis@rhel8: 4.2.1.5
+ disa: 366,1348,136,1851
hipaa: 164.308(a)(1)(ii)(D),164.308(a)(5)(ii)(B),164.308(a)(5)(ii)(C),164.308(a)(6)(ii),164.308(a)(8),164.310(d)(2)(iii),164.312(b),164.314(a)(2)(i)(C),164.314(a)(2)(iii)
iso27001-2013: A.12.1.3,A.12.4.1,A.12.4.2,A.12.4.3,A.12.4.4,A.12.7.1,A.17.2.1
nist: CM-6(a),AU-4(1),AU-9(2)
diff --git a/linux_os/guide/system/logging/service_rsyslog_enabled/rule.yml b/linux_os/guide/system/logging/service_rsyslog_enabled/rule.yml
index ce8347c686..92fd6bc4d8 100644
--- a/linux_os/guide/system/logging/service_rsyslog_enabled/rule.yml
+++ b/linux_os/guide/system/logging/service_rsyslog_enabled/rule.yml
@@ -20,7 +20,7 @@ identifiers:
references:
cis@debian8: 5.1.2
anssi: NT28(R5),NT28(R46)
- cis: 4.2.1.1
+ cis@rhel8: 4.2.1.2
disa: 1311,1312,1557,1851
hipaa: 164.312(a)(2)(ii)
iso27001-2013: A.12.1.3,A.12.4.1,A.12.4.2,A.12.4.3,A.12.4.4,A.12.7.1,A.14.2.7,A.15.2.1,A.15.2.2,A.17.2.1
diff --git a/rhel8/profiles/cis.profile b/rhel8/profiles/cis.profile
index cc0c2a5b9a..528f17d696 100644
--- a/rhel8/profiles/cis.profile
+++ b/rhel8/profiles/cis.profile
@@ -602,87 +602,88 @@ selections:
### 4.1.9 Ensure discretionary access control permission modification
### events are collected (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5509
### 4.1.10 Ensure unsuccessful unauthorized file access attempts are
### collected (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5510
### 4.1.11 Ensure events that modify user/group information are
### collected (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5511
### 4.1.12 Ensure successful file system mounts are collected (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5512
### 4.1.13 Ensure use of privileged commands is collected (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5513
### 4.1.14 Ensure file deletion events by users are collected
### (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5514
### 4.1.15 Ensure kernel module loading and unloading is collected
### (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5515
### 4.1.16 Ensure system administrator actions (sudolog) are
### collected (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5516
### 4.1.17 Ensure the audit configuration is immutable (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5517
## 4.2 Configure Logging
### 4.2.1 Configure rsyslog
#### 4.2.1.1 Ensure rsyslog is installed (Scored)
-
+ - package_rsyslog_installed
#### 4.2.1.2 Ensure rsyslog Service is enabled (Scored)
-
+ - service_rsyslog_enabled
#### 4.2.1.3 Ensure rsyslog default file permissions configured (Scored)
-
+ - rsyslog_files_permissions
#### 4.2.1.4 Ensure logging is configured (Not Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5519
#### 4.2.1.5 Ensure rsyslog is configured to send logs to a remote
#### log host (Scored)
-
+ - rsyslog_remote_loghost
#### 4.2.1.6 Ensure remote rsyslog messages are only accepted on
#### designated log hosts (Not Scored)
-
+ - rsyslog_nolisten
### 4.2.2 Configure journald
#### 4.2.2.1 Ensure journald is configured to send logs to
#### rsyslog (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5520
#### 4.2.2.2 Ensure journald is configured to compress large
#### log files (Scored)
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5521
#### 4.2.2.3 Ensure journald is configured to write logfiles to
#### persistent disk (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5522
### 4.2.3 Ensure permissions on all logfiles are configured (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5523
## 4.3 Ensure logrotate is conifgured (Not Scored)
-
+ - ensure_logrotate_activated
# 5 Access, Authentication and Authorization
## 5.1 Configure cron
-
### 5.1.1 Ensure cron daemon is enabled (Scored)
+ - service_crond_enabled
### 5.1.2 Ensure permissions on /etc/crontab are configured (Scored)
@@ -790,19 +791,19 @@ selections:
### 5.2.14 Ensure SSH LoginGraceTime is set to one minute
### or less (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5525
### 5.2.15 Ensure SSH warning banner is configured (Scored)
- sshd_enable_warning_banner
### 5.2.16 Ensure SSH PAM is enabled (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5526
### 5.2.17 Ensure SSH AllowTcpForwarding is disabled (Scored)
- sshd_disable_tcp_forwarding
### 5.2.18 Ensure SSH MaxStarups is configured (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5528
### 5.2.19 Ensure SSH MaxSessions is set to 4 or less (Scored)
- sshd_set_max_sessions
@@ -815,69 +816,75 @@ selections:
### 5.3.1 Create custom authselectet profile (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5530
### 5.3.2 Select authselect profile (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5531
### 5.3.3 Ensure authselect includes with-faillock (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5532
## 5.4 Configure PAM
### 5.4.1 Ensure password creation requirements are configured (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5533
### 5.4.2 Ensure lockout for failed password attempts is
### configured (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5534
### 5.4.3 Ensure password reuse is limited (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5535
### 5.4.4 Ensure password hashing algorithm is SHA-512 (Scored)
-
+ - set_password_hashing_algorithm_systemauth
## 5.5 User Accounts and Environment
### 5.5.1 Set Shadow Password Suite Parameters
#### 5.5.1 Ensure password expiration is 365 days or less (Scored)
-
+ - var_accounts_maximum_age_login_defs=365
+ - accounts_maximum_age_login_defs
#### 5.5.1.2 Ensure minimum days between password changes is 7
#### or more (Scored)
-
+ - var_accounts_minimum_age_login_defs=7
+ - accounts_minimum_age_login_defs
#### 5.5.1.3 Ensure password expiration warning days is
#### 7 or more (Scored)
-
+ - var_accounts_password_warn_age_login_defs=7
+ - accounts_password_warn_age_login_defs
#### 5.5.1.4 Ensure inactive password lock is 30 days or less (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5536
#### 5.5.1.5 Ensure all users last password change date is
#### in the past (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5537
### 5.5.2 Ensure system accounts are secured (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5538
### 5.5.3 Ensure default user shell timeout is 900 seconds
### or less (Scored)
-
+ - var_accounts_tmout=15_min
+ - accounts_tmout
### 5.5.4 Ensure default group for the root account is
### GID 0 (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5539
### 5.5.5 Ensure default user mask is 027 or more restrictive (Scored)
-
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5540
## 5.6 Ensure root login is restricted to system console (Not Scored)
-
+ - securetty_root_login_console_only
+ - no_direct_root_logins
## 5.7 Ensure access to the su command is restricted (Scored)
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5541
# System Maintenance
@@ -971,8 +978,58 @@ selections:
### 6.2.2 Ensure no legacy "+" entries exist in /etc/passwd (Scored)
- no_legacy_plus_entries_etc_passwd
- ## 6.2.4 Ensure no legacy "+" entries exist in /etc/shadow (Scored)
+ ### 6.2.4 Ensure no legacy "+" entries exist in /etc/shadow (Scored)
- no_legacy_plus_entries_etc_shadow
- ###6.2.5 Ensure no legacy "+" entries exist in /etc/group (Scored)
+ ### 6.2.5 Ensure no legacy "+" entries exist in /etc/group (Scored)
- no_legacy_plus_entries_etc_group
+
+ ### 6.2.6 Ensure root is the only UID 0 account (Scored)
+ - accounts_no_uid_except_zero
+
+ ### 6.2.7 Ensure users' home directories permissions are 750
+ ### or more restrictive (Scored)
+ - file_permissions_home_dirs
+
+ ### 6.2.8 Ensure users own their home directories (Scored)
+ # NEEDS RULE for user owner @ https://github.com/ComplianceAsCode/content/issues/5507
+ - file_groupownership_home_directories
+
+ ### 6.2.9 Ensure users' dot files are not group or world
+ ### writable (Scored)
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5506
+
+ ### 6.2.10 Ensure no users have .forward files (Scored)
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5505
+
+ ### 6.2.11 Ensure no users have .netrc files (Scored)
+ - no_netrc_files
+
+ ### 6.2.12 Ensure users' .netrc Files are not group or
+ ### world accessible (Scored)
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5504
+
+ ### 6.2.13 Ensure no users have .rhosts files (Scored)
+ - no_rsh_trust_files
+
+ ### 6.2.14 Ensure all groups in /etc/passwd exist in
+ ### /etc/group (Scored)
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5503
+
+ ### 6.2.15 Ensure no duplicate UIDs exist (Scored)
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5502
+
+ ### 6.2.16 Ensure no duplicate GIDs exist (Scored)
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5501
+
+ ### 6.2.17 Ensure no duplicate user names exist (Scored)
+ - account_unique_name
+
+ ### 6.2.18 Ensure no duplicate group names exist (Scored)
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5500
+
+ ### 6.2.19 Ensure shadow group is empty (Scored)
+ # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5499
+
+ ### 6.2.20 Ensure all users' home directories exist (Scored)
+ - accounts_user_interactive_home_directory_exists
diff --git a/shared/references/cce-redhat-avail.txt b/shared/references/cce-redhat-avail.txt
index feb31b0395..9e7bd35178 100644
--- a/shared/references/cce-redhat-avail.txt
+++ b/shared/references/cce-redhat-avail.txt
@@ -901,8 +901,6 @@ CCE-84270-8
CCE-84271-6
CCE-84272-4
CCE-84273-2
-CCE-84274-0
-CCE-84275-7
CCE-84276-5
CCE-84277-3
CCE-84278-1
From c8a19c84dad5165ece50f6148646f9bbc8c4c3fd Mon Sep 17 00:00:00 2001
From: Shawn Wells <shawn@shawndwells.io>
Date: Sat, 25 Apr 2020 18:52:21 -0400
Subject: [PATCH 02/20] misc cis8 updates
---
.../accounts_users_home_files_ownership/rule.yml | 1 +
.../logging/log_rotation/ensure_logrotate_activated/rule.yml | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/linux_os/guide/system/accounts/accounts-session/accounts_users_home_files_ownership/rule.yml b/linux_os/guide/system/accounts/accounts-session/accounts_users_home_files_ownership/rule.yml
index a9c73e46ac..8e225cdc64 100644
--- a/linux_os/guide/system/accounts/accounts-session/accounts_users_home_files_ownership/rule.yml
+++ b/linux_os/guide/system/accounts/accounts-session/accounts_users_home_files_ownership/rule.yml
@@ -24,6 +24,7 @@ references:
stigid@ol7: "020660"
disa: "366"
srg: SRG-OS-000480-GPOS-00227
+ cis@rhel8: 6.2.8
stigid@rhel7: "020660"
ocil_clause: 'the user ownership is incorrect'
diff --git a/linux_os/guide/system/logging/log_rotation/ensure_logrotate_activated/rule.yml b/linux_os/guide/system/logging/log_rotation/ensure_logrotate_activated/rule.yml
index 2c41a3b9ef..6e569edfa9 100644
--- a/linux_os/guide/system/logging/log_rotation/ensure_logrotate_activated/rule.yml
+++ b/linux_os/guide/system/logging/log_rotation/ensure_logrotate_activated/rule.yml
@@ -35,7 +35,7 @@ references:
cobit5: APO11.04,BAI03.05,DSS05.04,DSS05.07,MEA02.01
iso27001-2013: A.12.4.1,A.12.4.2,A.12.4.3,A.12.4.4,A.12.7.1
cis-csc: 1,14,15,16,3,5,6
- cis@rhel8: 4.3
+ cis@rhel8: "4.3"
anssi: NT28(R43),NT12(R18)
ocil_clause: 'logrotate is not configured to run daily'
From f8d80a55f0cd6bf3b9bf5b75ba037466b7fc89c8 Mon Sep 17 00:00:00 2001
From: Watson Sato <wsato@redhat.com>
Date: Tue, 19 May 2020 22:32:44 +0200
Subject: [PATCH 03/20] Add auxiliary rule for dconf settings
---
rhel8/profiles/cis.profile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/rhel8/profiles/cis.profile b/rhel8/profiles/cis.profile
index 528f17d696..202db7f693 100644
--- a/rhel8/profiles/cis.profile
+++ b/rhel8/profiles/cis.profile
@@ -8,6 +8,8 @@ description: |-
09-30-2019.
selections:
+ # Necessary for dconf rules
+ - dconf_db_up_to_date
### Partitioning
- mount_option_home_nodev
From 865fe310e82a1eb0fc0c37c8de253dc7171abae7 Mon Sep 17 00:00:00 2001
From: Watson Sato <wsato@redhat.com>
Date: Tue, 19 May 2020 22:43:20 +0200
Subject: [PATCH 04/20] Update time synchonization rule selections
In RHEL8, only chrony is available
---
rhel8/profiles/cis.profile | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/rhel8/profiles/cis.profile b/rhel8/profiles/cis.profile
index 202db7f693..762d4a04e3 100644
--- a/rhel8/profiles/cis.profile
+++ b/rhel8/profiles/cis.profile
@@ -256,10 +256,12 @@ selections:
### 2.2.1 Time Synchronization
#### 2.2.1.1 Ensure time synchronization is in use (Not Scored)
- - service_chronyd_or_ntpd_enabled
+ - package_chrony_installed
#### 2.2.1.2 Ensure chrony is configured (Scored)
- - chronyd_or_ntpd_specify_remote_server
+ - service_chronyd_enabled
+ - chronyd_specify_remote_server
+ - chronyd_run_as_chrony_user
### 2.2.2 Ensure X Window System is not installed (Scored)
- package_xorg-x11-server-common_removed
From a515b26c5af850dbc7917807397668df8a076249 Mon Sep 17 00:00:00 2001
From: Watson Sato <wsato@redhat.com>
Date: Tue, 19 May 2020 22:49:55 +0200
Subject: [PATCH 05/20] Select sysctl rules for secure ICMp redirects
Fixes: #5234
Fixes: #5235
---
rhel8/profiles/cis.profile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/rhel8/profiles/cis.profile b/rhel8/profiles/cis.profile
index 762d4a04e3..3a8e19259b 100644
--- a/rhel8/profiles/cis.profile
+++ b/rhel8/profiles/cis.profile
@@ -371,14 +371,14 @@ selections:
- sysctl_net_ipv6_conf_all_accept_redirects
#### net.ipv6.conf.defaults.accept_redirects = 0
- # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5234
+ - sysctl_net_ipv6_conf_default_accept_redirects
### 3.2.3 Ensure secure ICMP redirects are not accepted (Scored)
#### net.ipv4.conf.all.secure_redirects = 0
- sysctl_net_ipv4_conf_all_secure_redirects
#### net.ipv4.cof.default.secure_redirects = 0
- # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5235
+ - sysctl_net_ipv4_conf_default_secure_redirects
### 3.2.4 Ensure suspicious packets are logged (Scored)
#### net.ipv4.conf.all.log_martians = 1
From d14ce8e0ab8c39282883520bb141919af379d0fa Mon Sep 17 00:00:00 2001
From: Watson Sato <wsato@redhat.com>
Date: Tue, 19 May 2020 23:02:09 +0200
Subject: [PATCH 06/20] Select Audit DAC rules for RHEL8 CIS
Fixes: #5509
---
rhel8/profiles/cis.profile | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/rhel8/profiles/cis.profile b/rhel8/profiles/cis.profile
index 3a8e19259b..a990de4565 100644
--- a/rhel8/profiles/cis.profile
+++ b/rhel8/profiles/cis.profile
@@ -606,7 +606,19 @@ selections:
### 4.1.9 Ensure discretionary access control permission modification
### events are collected (Scored)
- # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5509
+ - audit_rules_dac_modification_chmod
+ - audit_rules_dac_modification_fchmod
+ - audit_rules_dac_modification_fchmodat
+ - audit_rules_dac_modification_chown
+ - audit_rules_dac_modification_fchown
+ - audit_rules_dac_modification_fchownat
+ - audit_rules_dac_modification_lchown
+ - audit_rules_dac_modification_setxattr
+ - audit_rules_dac_modification_lsetxattr
+ - audit_rules_dac_modification_fsetxattr
+ - audit_rules_dac_modification_removexattr
+ - audit_rules_dac_modification_lremovexattr
+ - audit_rules_dac_modification_fremovexattr
### 4.1.10 Ensure unsuccessful unauthorized file access attempts are
### collected (Scored)
From aec372e7bd05b3ed470f188952dbf11a6ae123ad Mon Sep 17 00:00:00 2001
From: Watson Sato <wsato@redhat.com>
Date: Tue, 19 May 2020 23:07:34 +0200
Subject: [PATCH 07/20] Select rules for unsuccessful modification
Fixes: #5510
---
rhel8/profiles/cis.profile | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/rhel8/profiles/cis.profile b/rhel8/profiles/cis.profile
index a990de4565..db54d9ece5 100644
--- a/rhel8/profiles/cis.profile
+++ b/rhel8/profiles/cis.profile
@@ -622,7 +622,13 @@ selections:
### 4.1.10 Ensure unsuccessful unauthorized file access attempts are
### collected (Scored)
- # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5510
+ - audit_rules_unsuccessful_file_modification_creat
+ - audit_rules_unsuccessful_file_modification_open
+ - audit_rules_unsuccessful_file_modification_openat
+ - audit_rules_unsuccessful_file_modification_truncate
+ - audit_rules_unsuccessful_file_modification_ftruncate
+ # Opinionated selection
+ - audit_rules_unsuccessful_file_modification_open_by_handle_at
### 4.1.11 Ensure events that modify user/group information are
### collected (Scored)
From 69493775c8a5b140f55802f7dca84c659662039c Mon Sep 17 00:00:00 2001
From: Watson Sato <wsato@redhat.com>
Date: Tue, 19 May 2020 23:10:45 +0200
Subject: [PATCH 08/20] Select rules for user/group modification
Fixes: #5511
---
rhel8/profiles/cis.profile | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/rhel8/profiles/cis.profile b/rhel8/profiles/cis.profile
index db54d9ece5..f8ec16b9a8 100644
--- a/rhel8/profiles/cis.profile
+++ b/rhel8/profiles/cis.profile
@@ -632,7 +632,11 @@ selections:
### 4.1.11 Ensure events that modify user/group information are
### collected (Scored)
- # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5511
+ - audit_rules_usergroup_modification_passwd
+ - audit_rules_usergroup_modification_group
+ - audit_rules_usergroup_modification_gshadow
+ - audit_rules_usergroup_modification_shadow
+ - audit_rules_usergroup_modification_opasswd
### 4.1.12 Ensure successful file system mounts are collected (Scored)
# NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5512
From 86c35876312882a861d253e13d31ff5bfc32630b Mon Sep 17 00:00:00 2001
From: Watson Sato <wsato@redhat.com>
Date: Tue, 19 May 2020 23:12:58 +0200
Subject: [PATCH 09/20] Audit successful system mounts
Fixes: #5512
---
rhel8/profiles/cis.profile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rhel8/profiles/cis.profile b/rhel8/profiles/cis.profile
index f8ec16b9a8..e4f5313e3e 100644
--- a/rhel8/profiles/cis.profile
+++ b/rhel8/profiles/cis.profile
@@ -639,7 +639,7 @@ selections:
- audit_rules_usergroup_modification_opasswd
### 4.1.12 Ensure successful file system mounts are collected (Scored)
- # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5512
+ - audit_rules_media_export
### 4.1.13 Ensure use of privileged commands is collected (Scored)
# NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5513
From ea7ef606c881fdddecfef036383fbd0718950162 Mon Sep 17 00:00:00 2001
From: Watson Sato <wsato@redhat.com>
Date: Tue, 19 May 2020 23:14:21 +0200
Subject: [PATCH 10/20] Audit privileged commands
Fixes: #5513
---
rhel8/profiles/cis.profile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rhel8/profiles/cis.profile b/rhel8/profiles/cis.profile
index e4f5313e3e..087dd79bb5 100644
--- a/rhel8/profiles/cis.profile
+++ b/rhel8/profiles/cis.profile
@@ -642,7 +642,7 @@ selections:
- audit_rules_media_export
### 4.1.13 Ensure use of privileged commands is collected (Scored)
- # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5513
+ - audit_rules_privileged_commands
### 4.1.14 Ensure file deletion events by users are collected
### (Scored)
From 16d84540566c8fa6d9f6880f3f1fe04edf97b822 Mon Sep 17 00:00:00 2001
From: Watson Sato <wsato@redhat.com>
Date: Tue, 19 May 2020 23:15:49 +0200
Subject: [PATCH 11/20] Audit file deletion events
Fixes: #5514
---
rhel8/profiles/cis.profile | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/rhel8/profiles/cis.profile b/rhel8/profiles/cis.profile
index 087dd79bb5..ca42f24190 100644
--- a/rhel8/profiles/cis.profile
+++ b/rhel8/profiles/cis.profile
@@ -646,7 +646,12 @@ selections:
### 4.1.14 Ensure file deletion events by users are collected
### (Scored)
- # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5514
+ - audit_rules_file_deletion_events_unlink
+ - audit_rules_file_deletion_events_unlinkat
+ - audit_rules_file_deletion_events_rename
+ - audit_rules_file_deletion_events_renameat
+ # Opinionated selection
+ - audit_rules_file_deletion_events_rmdir
### 4.1.15 Ensure kernel module loading and unloading is collected
### (Scored)
From 8377e1d574a9d0388c0847177f11afe83af3a30f Mon Sep 17 00:00:00 2001
From: Watson Sato <wsato@redhat.com>
Date: Tue, 19 May 2020 23:16:33 +0200
Subject: [PATCH 12/20] Audit kernel module loads
Fixes: #5515
---
rhel8/profiles/cis.profile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rhel8/profiles/cis.profile b/rhel8/profiles/cis.profile
index ca42f24190..5e214941ec 100644
--- a/rhel8/profiles/cis.profile
+++ b/rhel8/profiles/cis.profile
@@ -655,7 +655,7 @@ selections:
### 4.1.15 Ensure kernel module loading and unloading is collected
### (Scored)
- # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5515
+ - audit_rules_kernel_module_loading
### 4.1.16 Ensure system administrator actions (sudolog) are
### collected (Scored)
From 7d62c009987be550d074f8e7cacd2e843d1e3061 Mon Sep 17 00:00:00 2001
From: Watson Sato <wsato@redhat.com>
Date: Tue, 19 May 2020 23:17:52 +0200
Subject: [PATCH 13/20] Audit rules should be immutable
Fixes: #5517
---
rhel8/profiles/cis.profile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rhel8/profiles/cis.profile b/rhel8/profiles/cis.profile
index 5e214941ec..a0fdd69869 100644
--- a/rhel8/profiles/cis.profile
+++ b/rhel8/profiles/cis.profile
@@ -662,7 +662,7 @@ selections:
# NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5516
### 4.1.17 Ensure the audit configuration is immutable (Scored)
- # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5517
+ - audit_rules_immutable
## 4.2 Configure Logging
From 02e2a9744bd9eb969b46b18d4824fae65d5764f3 Mon Sep 17 00:00:00 2001
From: Watson Sato <wsato@redhat.com>
Date: Tue, 19 May 2020 23:31:10 +0200
Subject: [PATCH 14/20] Select rules for password requirements
Related to: #5533
---
rhel8/profiles/cis.profile | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/rhel8/profiles/cis.profile b/rhel8/profiles/cis.profile
index a0fdd69869..a55c3291a9 100644
--- a/rhel8/profiles/cis.profile
+++ b/rhel8/profiles/cis.profile
@@ -858,7 +858,12 @@ selections:
## 5.4 Configure PAM
### 5.4.1 Ensure password creation requirements are configured (Scored)
- # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5533
+ # NEEDS RULE: try_first_pass - https://github.com/ComplianceAsCode/content/issues/5533
+ - accounts_password_pam_retry
+ - var_password_pam_minlen=14
+ - accounts_password_pam_minlen
+ - var_password_pam_minclass=4
+ - accounts_password_pam_minclass
### 5.4.2 Ensure lockout for failed password attempts is
### configured (Scored)
From bec97effc13e0056cbcdc939620e78669558f9a4 Mon Sep 17 00:00:00 2001
From: Watson Sato <wsato@redhat.com>
Date: Tue, 19 May 2020 23:35:50 +0200
Subject: [PATCH 15/20] Configure password lockout
Fixes: #5534
---
rhel8/profiles/cis.profile | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/rhel8/profiles/cis.profile b/rhel8/profiles/cis.profile
index a55c3291a9..6e10c2efcb 100644
--- a/rhel8/profiles/cis.profile
+++ b/rhel8/profiles/cis.profile
@@ -867,7 +867,10 @@ selections:
### 5.4.2 Ensure lockout for failed password attempts is
### configured (Scored)
- # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5534
+ - var_accounts_passwords_pam_faillock_unlock_time=900
+ - var_accounts_passwords_pam_faillock_deny=5
+ - accounts_passwords_pam_faillock_unlock_time
+ - accounts_passwords_pam_faillock_deny
### 5.4.3 Ensure password reuse is limited (Scored)
# NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5535
From 73a087ed0b13bb73f1e60792c4d2e3c3aa944cd9 Mon Sep 17 00:00:00 2001
From: Watson Sato <wsato@redhat.com>
Date: Tue, 19 May 2020 23:38:58 +0200
Subject: [PATCH 16/20] Configure password reuse
Fixes: #5535
---
rhel8/profiles/cis.profile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/rhel8/profiles/cis.profile b/rhel8/profiles/cis.profile
index 6e10c2efcb..2fa85d8676 100644
--- a/rhel8/profiles/cis.profile
+++ b/rhel8/profiles/cis.profile
@@ -873,7 +873,8 @@ selections:
- accounts_passwords_pam_faillock_deny
### 5.4.3 Ensure password reuse is limited (Scored)
- # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5535
+ - var_password_pam_unix_remember=5
+ - accounts_password_pam_unix_remember
### 5.4.4 Ensure password hashing algorithm is SHA-512 (Scored)
- set_password_hashing_algorithm_systemauth
From 4307123e1889359b1c444d55a9b221bc5b3f7970 Mon Sep 17 00:00:00 2001
From: Watson Sato <wsato@redhat.com>
Date: Tue, 19 May 2020 23:43:04 +0200
Subject: [PATCH 17/20] Select rule to check useradd INACTIVE setting
Related to: #5536
---
rhel8/profiles/cis.profile | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/rhel8/profiles/cis.profile b/rhel8/profiles/cis.profile
index 2fa85d8676..e0fd5e1492 100644
--- a/rhel8/profiles/cis.profile
+++ b/rhel8/profiles/cis.profile
@@ -898,7 +898,10 @@ selections:
- accounts_password_warn_age_login_defs
#### 5.5.1.4 Ensure inactive password lock is 30 days or less (Scored)
- # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5536
+ # TODO: Rule doesn't check list of users
+ # https://github.com/ComplianceAsCode/content/issues/5536
+ - var_account_disable_post_pw_expiration=30
+ - account_disable_post_pw_expiration
#### 5.5.1.5 Ensure all users last password change date is
#### in the past (Scored)
From 07752fbac033400946c29fe6cbfe553913e4a96c Mon Sep 17 00:00:00 2001
From: Watson Sato <wsato@redhat.com>
Date: Tue, 19 May 2020 23:46:48 +0200
Subject: [PATCH 18/20] No shelllogin for system accounts
Fixes: #5538
---
rhel8/profiles/cis.profile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rhel8/profiles/cis.profile b/rhel8/profiles/cis.profile
index e0fd5e1492..0431fb0d45 100644
--- a/rhel8/profiles/cis.profile
+++ b/rhel8/profiles/cis.profile
@@ -908,7 +908,7 @@ selections:
# NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5537
### 5.5.2 Ensure system accounts are secured (Scored)
- # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5538
+ - no_shelllogin_for_systemaccounts
### 5.5.3 Ensure default user shell timeout is 900 seconds
### or less (Scored)
From e46c2cfb8541f559b234df9a8a478494db46e785 Mon Sep 17 00:00:00 2001
From: Watson Sato <wsato@redhat.com>
Date: Tue, 19 May 2020 23:54:07 +0200
Subject: [PATCH 19/20] Partially cover umask requirements
Related to: #5540
---
rhel8/profiles/cis.profile | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/rhel8/profiles/cis.profile b/rhel8/profiles/cis.profile
index 0431fb0d45..f332ee5462 100644
--- a/rhel8/profiles/cis.profile
+++ b/rhel8/profiles/cis.profile
@@ -920,7 +920,9 @@ selections:
# NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5539
### 5.5.5 Ensure default user mask is 027 or more restrictive (Scored)
- # NEEDS RULE - https://github.com/ComplianceAsCode/content/issues/5540
+ - var_accounts_user_umask=027
+ - accounts_umask_etc_bashrc
+ - accounts_umask_etc_profile
## 5.6 Ensure root login is restricted to system console (Not Scored)
- securetty_root_login_console_only
From 586cedfb95523acbe0c0c92953851d6536c29230 Mon Sep 17 00:00:00 2001
From: Watson Sato <wsato@redhat.com>
Date: Tue, 19 May 2020 22:31:16 +0200
Subject: [PATCH 20/20] account_unique_name: Improve description, rationale and
OCIL
---
.../account_unique_name/rule.yml | 19 +++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)
diff --git a/linux_os/guide/system/accounts/accounts-restrictions/account_expiration/account_unique_name/rule.yml b/linux_os/guide/system/accounts/accounts-restrictions/account_expiration/account_unique_name/rule.yml
index 35652a410b..909f1b6657 100644
--- a/linux_os/guide/system/accounts/accounts-restrictions/account_expiration/account_unique_name/rule.yml
+++ b/linux_os/guide/system/accounts/accounts-restrictions/account_expiration/account_unique_name/rule.yml
@@ -3,14 +3,13 @@ documentation_complete: true
title: 'Ensure All Accounts on the System Have Unique Names'
description: |-
- Although the <tt>useradd</tt> utility prevents creation of duplicate user
- names, it is possible for a malicious administrator to manually edit the
- <tt>/etc/passwd</tt> file and change the user name.
+ Ensure accounts on the system have unique names.
-rationale: |-
- If a user is assigned a duplicate user name, the new user will be able to
- create and have access to files with the first UID for that username as
- defined in <tt>/etc/passwd</tt>.
+ To ensure all accounts have unique names, run the following command:
+ <pre>$ sudo getent passwd | awk -F: '{ print $1}' | uniq -d</pre>
+ If a username is returned, change or delete the username.
+
+rationale: 'Unique usernames allow for accountability on the system.'
severity: medium
@@ -30,6 +29,6 @@ references:
ocil_clause: 'a line is returned'
ocil: |-
- Run the following command to check for duplicate account names:
- <pre>$ sudo pwck -qr</pre>
- If there are no duplicate names, no line will be returned.
+ To verify all accounts have unique names, run the following command:
+ <pre>$ sudo getent passwd | awk -F: '{ print $1}' | uniq -d</pre>
+ No output should be returned.