/home/mburket/code/ComplianceAsCode/content/build/rhel9/rhel9_srg_gpos_srg_export.xlsx vs /home/mburket/Downloads/RHEL_9_STIG_Stage_3_Submission_2022_11_01_clean_for_diff.xlsx

Missing in Base

Missing in Target

Deltas

CCE-83437-4 - aide_periodic_cron_checking

Fix

f1Configure the file integrity tool to run automatically on the system at least weekly and to notify designated personnel if baseline configurations are changed in an unauthorized manner. The AIDE tool can be configured to email designated personnel with the use of the cron system.f1Configure the file integrity tool to run automatically on the system at least weekly and to notify designated personnel if baseline configurations are changed in an unauthorized manner. The AIDE tool can be configured to email designated personnel with the use of the cron system.
22
t3The following example output is generic. It will set cron to run AIDE daily and to send email at the completion of the analysist3The following example output is generic. It will set cron to run AIDE daily and to send email at the completion of the analysis.
44
5$ sudo more /etc/cron.daily/aide5$ sudo more /etc/cron.daily/aide
66
7#!/bin/bash7#!/bin/bash
8/usr/sbin/aide --check | /bin/mail -s "$HOSTNAME - Daily aide integrity check run" root@sysname.mil8/usr/sbin/aide --check | /bin/mail -s "$HOSTNAME - Daily aide integrity check run" root@sysname.mil

CCE-83445-7 - configure_ssh_crypto_policy

Fix

f1Configure the RHEL 9 SSH daemon to use system-wide crypto policies by running the following commands:f1Configure the RHEL 9 SSH daemon to use system-wide crypto policies by running the following commands:
22
3$ sudo dnf reinstall openssh-server3$ sudo dnf reinstall openssh-server
tt4A reboot is required for the changes to take effect.

CCE-83448-1 - configure_openssl_tls_crypto_policy

Fix

f1Reinstall the crypto-policies package to remove any modifications.f1Reinstall the crypto-policies package to remove any modifications.
22
3$ sudo dnf reinstall crypto-policies3$ sudo dnf reinstall crypto-policies
44
5Then ensure that FIPS mode is setup with the following command:5Then ensure that FIPS mode is setup with the following command:
66
7$ sudo fips-mode-setup --enable7$ sudo fips-mode-setup --enable
88
9The system must be rebooted for the changes to take effect.9The system must be rebooted for the changes to take effect.
tt10A reboot is required for the changes to take effect.

CCE-83450-7 - configure_crypto_policy

Check

f1Verify that the RHEL 9 cryptography policy has been configured correctly with the following commands:f1Verify that the RHEL 9 cryptography policy has been configured correctly with the following commands:
22
3$ sudo update-crypto-policies --show3$ sudo update-crypto-policies --show
44
5FIPS5FIPS
66
7If the cryptography is not set to "FIPS" and is not applied, this is a finding.7If the cryptography is not set to "FIPS" and is not applied, this is a finding.
88
9$ sudo update-crypto-policies --check9$ sudo update-crypto-policies --check
1010
11The configured policy is applied.11The configured policy is applied.
1212
13If the command does not return "The configured policy is applied.", this is a finding.13If the command does not return "The configured policy is applied.", this is a finding.
t14 t
15 

CCE-83452-3 - configure_openssl_crypto_policy

Fix

f1Configure the RHEL 9 OpenSSL library to use the system cryptograhpic policy.f1Configure the RHEL 9 OpenSSL library to use the system cryptograhpic policy.
22
3Edit the "/etc/pki/tls/openssl.cnf" and add or modify the following line:3Edit the "/etc/pki/tls/openssl.cnf" and add or modify the following line:
4.include = /etc/crypto-policies/back-ends/opensslcnf.config4.include = /etc/crypto-policies/back-ends/opensslcnf.config
55
66
tt7A reboot is required for the changes to take effect.

CCE-83457-2 - ensure_gpgcheck_globally_activated

Requirement

t1RHEL 9, for PKI-based authentication, must validate certificates by constructing a certification path (which includes status information) to an accepted trust anchor.t1RHEL 9 must prevent the installation of software, patches, service packs, device drivers, or operating system components from a repository without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization.

Vul_Discussion

n1Without path validation, an informed trust decision by the relying party cannot be made when presented with any certificate not already explicitly trusted.n1Changes to any software components can have significant effects on the overall security of the operating system. This requirement ensures the software has not been tampered with and that it has been provided by a trusted vendor.
22
n3A trust anchor is an authoritative entity represented via a public key and associated data. It is used in the context of public key infrastructures, X.509 digital certificates, and DNSSEC.n3Accordingly, patches, service packs, device drivers, or operating system components must be signed with a certificate recognized and approved by the organization.
44
t5When there is a chain of trust, usually the top entity to be trusted becomes the trust anchor; it can be, for example, a Certification Authority (CA). A certification path starts with the subject certificate and proceeds through a number of intermediate certificates up to a trusted root certificate, typically issued by a trusted CA.t5Verifying the authenticity of the software prior to installation validates the integrity of the patch or upgrade received from a vendor. This verifies the software has not been tampered with and that it has been provided by a trusted vendor. Self-signed certificates are disallowed by this requirement. The operating system should not have to verify the software again. This requirement does not mandate DoD certificates for this purpose; however, the certificate used to verify the software must be from an approved CA.
6 
7This requirement verifies that a certification path to an accepted trust anchor is used for certificate validation and that the path includes status information. Path validation is necessary for a relying party to make an informed trust decision when presented with any certificate not already explicitly trusted. Status information for certification paths includes certificate revocation lists or online certificate status protocol responses. Validation of the certificate status information is out of scope for this requirement.

Check

n1Verify RHEL 9 for PKI-based authentication has valid certificates by constructing a certification path (which includes status information) to an accepted trust anchor.n1Verify that dnf verifies the signature of packages from a repository prior to install with the following command:
22
n3Check that the system has a valid DoD root CA installed with the following command:n3$ grep gpgcheck /etc/dnf/dnf.conf
44
n5$ sudo openssl x509 -text -in /etc/sssd/pki/sssd_auth_ca_db.pemn5gpgcheck=1
66
n7Certificate:n7If "gpgcheck" is not set to "1", or if the option is missing or commented out, ask the System Administrator how the certificates for patches and other operating system components are verified.
8    Data:
9        Version: 3 (0x2)
10        Serial Number: 1 (0x1)
11        Signature Algorithm: sha256WithRSAEncryption
12        Issuer: C = US, O = U.S. Government, OU = DoD, OU = PKI, CN = DoD Root CA 3
13        Validity
14        Not Before: Mar 20 18:46:41 2012 GMT
15        Not After: Dec 30 18:46:41 2029 GMT
16        Subject: C = US, O = U.S. Government, OU = DoD, OU = PKI, CN = DoD Root CA 3
17        Subject Public Key Info:
18            Public Key Algorithm: rsaEncryption
198
t20If the root CA file is not a DoD-issued certificate with a valid date and installed in the "/etc/sssd/pki/sssd_auth_ca_db.pem" location, this is a finding.t9If there is no process to validate certificates that is approved by the organization, this is a finding.

Fix

n1Configure RHEL 9, for PKI-based authentication, to validate certificates by constructing a certification path (which includes status information) to an accepted trust anchor.n1Configure RHEL 9 to always check package signatures before installation.
22
t3Obtain a valid copy of the DoD root CA file from the PKI CA certificate bundle from cyber.mil and copy the DoD_PKE_CA_chain.pem into the following file:t3Add or update the following line in the [main] section of the /etc/dnf/dnf.conf file:
4/etc/sssd/pki/sssd_auth_ca_db.pem4 
5gpgcheck=1

CCE-83464-8 - ensure_gpgcheck_never_disabled

Requirement

t1RHEL9 must have gpgcheck enabled for all repositories.t1RHEL 9 must have gpgcheck enabled for all repositories.

CCE-83544-7 - sudo_remove_no_authenticate

Check

t1 Verify that "/etc/sudoers" has no occurrences of "!authenticate" with the following command:t1Verify that "/etc/sudoers" has no occurrences of "!authenticate" with the following command:
22
3$ sudo grep -i !authenticate /etc/sudoers /etc/sudoers.d/*3$ sudo grep -i !authenticate /etc/sudoers /etc/sudoers.d/*
44
5If any occurrences of "!authenticate" are returned, this is a finding.5If any occurrences of "!authenticate" are returned, this is a finding.

CCE-83588-4 - accounts_passwords_pam_faillock_unlock_time

Vul_Discussion

n1By limiting the number of failed logon attempts the risk of unauthorized systemn1by limiting the number of failed logon attempts the risk of unauthorized system
2access via user password guessing, otherwise known as brute-forcing, is reduced.2access via user password guessing, otherwise known as brute-forcing, is reduced.
t3Limits are imposed by locking the account.t3limits are imposed by locking the account.

Check

n1Verify RHEL 9 is configured to lock an account until released by an administrator after three unsuccessful logon attempts with the command:n1verify RHEL 9 is configured to lock an account until released by an administrator after three unsuccessful logon attempts with the command:
22
3$ grep 'unlock_time =' /etc/security/faillock.conf3$ grep 'unlock_time =' /etc/security/faillock.conf
44
5unlock_time = 05unlock_time = 0
66
t7If the "unlock_time" option is not set to "0", the line is missing, or commented out, this is a finding.t7if the "unlock_time" option is not set to "0", the line is missing, or commented out, this is a finding.

Fix

n1Configure RHEL 9 to lock an account until released by an administrator after three unsuccessful logon attempts with the command:n1configure RHEL 9 to lock an account until released by an administrator after three unsuccessful logon attempts with the command:
22
3$ authselect enable-feature with-faillock3$ authselect enable-feature with-faillock
44
t5Then edit the "/etc/security/faillock.conf" file as follows:t5then edit the "/etc/security/faillock.conf" file as follows:
66
7unlock_time = 07unlock_time = 0

CCE-83589-2 - accounts_passwords_pam_faillock_deny_root

Fix

f1Configure RHEL 9 to lock out the "root" account after a number of incorrect loginf1Configure RHEL 9 to lock out the "root" account after a number of incorrect login
2attempts using "pam_faillock.so", first enable the feature using the following command:2attempts using "pam_faillock.so", first enable the feature using the following command:
33
4$  sudo authselect enable-feature with-faillock4$  sudo authselect enable-feature with-faillock
55
6 Then edit the "/etc/security/faillock.conf" file as follows:6 Then edit the "/etc/security/faillock.conf" file as follows:
77
8  add or uncomment the following line:8  add or uncomment the following line:
9 even_deny_root9 even_deny_root
t10 t

CCE-83623-9 - no_shelllogin_for_systemaccounts

Fix

f1Configure RHEL 9 so that all non-interactive accounts on the system do not have an interactive shell assigned to them.f1Configure RHEL 9 so that all non-interactive accounts on the system do not have an interactive shell assigned to them.
22
3If the system account needs a shell assigned for mission operations, doucment the need with the Information System Security Officer (ISSO).3If the system account needs a shell assigned for mission operations, doucment the need with the Information System Security Officer (ISSO).
44
5Run the following command to disable the interactive shell for a specific non-interactive user account:5Run the following command to disable the interactive shell for a specific non-interactive user account:
66
n7Replace <user> with the user that has a login shell.n7Replace &ltuser&gt with the user that has a login shell.
88
t9$ sudo usermod --shell /sbin/nologin <user>t9$ sudo usermod --shell /sbin/nologin &ltuser&gt
1010
11Do not perform the steps in this section on the root account. Doing so will cause the system to become inaccessible.11Do not perform the steps in this section on the root account. Doing so will cause the system to become inaccessible.

CCE-83627-0 - account_disable_post_pw_expiration

Check

t1Verify that RHEL9 account identifiers (individuals, groups, roles, and devices) are disabled after 35 days of inactivity with the following command:t1Verify that RHEL 9 account identifiers (individuals, groups, roles, and devices) are disabled after 35 days of inactivity with the following command:
22
3Check the account inactivity value by performing the following command:3Check the account inactivity value by performing the following command:
44
5$ sudo grep -i inactive /etc/default/useradd5$ sudo grep -i inactive /etc/default/useradd
66
7INACTIVE=357INACTIVE=35
88
9If "INACTIVE" is set to "-1", a value greater than "35", or is commented out, this is a finding.9If "INACTIVE" is set to "-1", a value greater than "35", or is commented out, this is a finding.

CCE-83634-6 - file_permissions_home_directories

Check

n1 Verify the assigned home directory of all local interactive users has a mode of "0750" or less permissive with the following command:n1Verify the assigned home directory of all local interactive users has a mode of "0750" or less permissive with the following command:
22
3Note: This may miss interactive users that have been assigned a privileged User Identifier (UID). Evidence of interactive use may be obtained from a number of log files containing system logon information.3Note: This may miss interactive users that have been assigned a privileged User Identifier (UID). Evidence of interactive use may be obtained from a number of log files containing system logon information.
44
t5$ sudo ls -ld $(awk -F: '($3>=1000)&&($7 !~ /nologin/){print $6}' /etc/passwd)t5$ sudo ls -ld $(awk -F: '($3&gt=1000)&&($7 !~ /nologin/){print $6}' /etc/passwd)
66
7drwxr-x--- 2 smithj admin 4096 Jun 5 12:41 smithj7drwxr-x--- 2 smithj admin 4096 Jun 5 12:41 smithj
88
9If home directories referenced in "/etc/passwd" do not have a mode of "0750" or less permissive, this is a finding.9If home directories referenced in "/etc/passwd" do not have a mode of "0750" or less permissive, this is a finding.

CCE-83682-5 - auditd_local_events

Fix

f1Configure RHEL 9 to generate audit records for local events by adding or updating the following line in "/etc/audit/auditd.conf":f1Configure RHEL 9 to generate audit records for local events by adding or updating the following line in "/etc/audit/auditd.conf":
22
3local_events = yes3local_events = yes
44
tt5 
5The audit daemon must be restarted for the changes to take effect.6The audit daemon must be restarted for the changes to take effect.

CCE-83709-6 - audit_rules_system_shutdown

Fix

f1Configure RHEL 9 to shutdown when auditing failures occur.f1Configure RHEL 9 to shutdown when auditing failures occur.
22
3Add the following line to the bottom of the /etc/audit/audit.rules file:3Add the following line to the bottom of the /etc/audit/audit.rules file:
44
5-f 25-f 2
tt6-f 2

CCE-83712-0 - audit_rules_usergroup_modification_opasswd

Requirement

t1 RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/opasswd.t1RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/opasswd.

Fix

f1Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd".f1Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd".
2Add or update the following file system rule to "/etc/audit/rules.d/audit.rules":2Add or update the following file system rule to "/etc/audit/rules.d/audit.rules":
3-w /etc/security/opasswd -p wa -k identity3-w /etc/security/opasswd -p wa -k identity
tt4 
4The audit daemon must be restarted for the changes to take effect.5The audit daemon must be restarted for the changes to take effect.

CCE-83714-6 - audit_rules_usergroup_modification_passwd

Requirement

t1 RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/passwd.t1RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/passwd.

Fix

f1Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd".f1Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd".
2Add or update the following file system rule to "/etc/audit/rules.d/audit.rules":2Add or update the following file system rule to "/etc/audit/rules.d/audit.rules":
3-w /etc/passwd -p wa -k identity3-w /etc/passwd -p wa -k identity
tt4 
4The audit daemon must be restarted for the changes to take effect.5The audit daemon must be restarted for the changes to take effect.

CCE-83722-9 - audit_rules_usergroup_modification_group

Requirement

t1 RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/group.t1RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/group.

Fix

f1Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/group".f1Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/group".
2Add or update the following file system rule to "/etc/audit/rules.d/audit.rules":2Add or update the following file system rule to "/etc/audit/rules.d/audit.rules":
3-w /etc/group -p wa -k identity3-w /etc/group -p wa -k identity
tt4 
4The audit daemon must be restarted for the changes to take effect.5The audit daemon must be restarted for the changes to take effect.

CCE-83723-7 - audit_rules_usergroup_modification_gshadow

Requirement

t1 RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/gshadow.t1RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/gshadow.

Fix

f1Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow".f1Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow".
2Add or update the following file system rule to "/etc/audit/rules.d/audit.rules":2Add or update the following file system rule to "/etc/audit/rules.d/audit.rules":
3-w /etc/gshadow -p wa -k identity3-w /etc/gshadow -p wa -k identity
tt4 
4The audit daemon must be restarted for the changes to take effect.5The audit daemon must be restarted for the changes to take effect.

CCE-83725-2 - audit_rules_usergroup_modification_shadow

Requirement

t1 RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/shadow.t1RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/shadow.

Fix

f1Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/shadow".f1Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/shadow".
2Add or update the following file system rule to "/etc/audit/rules.d/audit.rules":2Add or update the following file system rule to "/etc/audit/rules.d/audit.rules":
3-w /etc/shadow -p wa -k identity3-w /etc/shadow -p wa -k identity
tt4 
4The audit daemon must be restarted for the changes to take effect.5The audit daemon must be restarted for the changes to take effect.

CCE-83751-8 - audit_rules_execution_setsebool

Check

f1Verify that RHEL 9 is configured to audit the execution of the "setsebool" command with the following command:f1Verify that RHEL 9 is configured to audit the execution of the "setsebool" command with the following command:
22
3$ sudo auditctl -l | grep setsebool3$ sudo auditctl -l | grep setsebool
44
t5 -a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privilegedt5 -a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid&gt=1000 -F auid!=unset -F key=privileged
66
7If the command does not return a line, or the line is commented out, this is a finding.7If the command does not return a line, or the line is commented out, this is a finding.

Fix

f1Configure RHEL 9 to generate an audit event for any successful/unsuccessful use of the "setsebool " command by adding or updating the following rules in the "/etc/audit/rules.d/audit.rules" file:f1Configure RHEL 9 to generate an audit event for any successful/unsuccessful use of the "setsebool " command by adding or updating the following rules in the "/etc/audit/rules.d/audit.rules" file:
22
t3-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privilegedt3-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid&gt=1000 -F auid!=unset -F key=privileged
44
5The audit daemon must be restarted for the changes to take effect.5The audit daemon must be restarted for the changes to take effect.

CCE-83762-5 - audit_rules_privileged_commands_umount

Check

f1Verify that RHEL 9 is configured to audit the execution of the "umount"command with the following command:f1Verify that RHEL 9 is configured to audit the execution of the "umount"command with the following command:
22
3$ sudo auditctl -l | grep umount3$ sudo auditctl -l | grep umount
44
t5-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-mountt5-a always,exit -F path=/usr/bin/umount -F perm=x -F auid&gt=1000 -F auid!=unset -k privileged-mount
66
7If the command does not return an audit rule for "umount" or any of the lines returned are commented out, this is a finding.7If the command does not return an audit rule for "umount" or any of the lines returned are commented out, this is a finding.

Fix

f1Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "umount" command by adding or updating the following rules in "/etc/audit/rules.d/audit.rules":f1Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "umount" command by adding or updating the following rules in "/etc/audit/rules.d/audit.rules":
22
t3-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-mountt3-a always,exit -F path=/usr/bin/umount -F perm=x -F auid&gt=1000 -F auid!=unset -k privileged-mount
4 
45
5The audit daemon must be restarted for the changes to take effect.6The audit daemon must be restarted for the changes to take effect.

CCE-83781-5 - audit_rules_privileged_commands_passwd

Check

f1Verify RHEL 9 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command:f1Verify RHEL 9 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command:
22
3$ sudo auditctl -l | egrep '(/usr/bin/passwd)'3$ sudo auditctl -l | egrep '(/usr/bin/passwd)'
44
t5-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-passwdt5-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid&gt=1000 -F auid!=unset -k privileged-passwd
66
7If the command does not return a line, or the line is commented out, this is a finding.7If the command does not return a line, or the line is commented out, this is a finding.

CCE-83782-3 - audit_rules_login_events_tallylog

Requirement

t1 RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /var/log/tallylog.t1RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /var/log/tallylog.

CCE-83785-6 - audit_rules_login_events_lastlog

Requirement

t1 RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /var/log/lastlog.t1RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /var/log/lastlog.

CCE-83786-4 - audit_rules_unsuccessful_file_modification_creat

Check

f1Verify that RHEL 9 is configured to audit successful/unsuccessful attempts to use the "truncate", "ftruncate", "creat", "open", "openat", and "open_by_handle_at" system calls with the following command:f1Verify that RHEL 9 is configured to audit successful/unsuccessful attempts to use the "truncate", "ftruncate", "creat", "open", "openat", and "open_by_handle_at" system calls with the following command:
22
3$ sudo auditctl -l | grep'open\|truncate\|creat'3$ sudo auditctl -l | grep'open\|truncate\|creat'
44
n5-a always,exit -F arch=b32 -S truncate,ftruncate,creat,open,openat,open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k perm_accessn5-a always,exit -F arch=b32 -S truncate,ftruncate,creat,open,openat,open_by_handle_at -F exit=-EPERM -F auid&gt=1000 -F auid!=unset -k perm_access
6-a always,exit -F arch=b64 -S truncate,ftruncate,creat,open,openat,open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k perm_access6-a always,exit -F arch=b64 -S truncate,ftruncate,creat,open,openat,open_by_handle_at -F exit=-EPERM -F auid&gt=1000 -F auid!=unset -k perm_access
77
t8-a always,exit -F arch=b32 -S truncate,ftruncate,creat,open,openat,open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k perm_accesst8-a always,exit -F arch=b32 -S truncate,ftruncate,creat,open,openat,open_by_handle_at -F exit=-EACCES -F auid&gt=1000 -F auid!=unset -k perm_access
9-a always,exit -F arch=b64 -S truncate,ftruncate,creat,open,openat,open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k perm_access9-a always,exit -F arch=b64 -S truncate,ftruncate,creat,open,openat,open_by_handle_at -F exit=-EACCES -F auid&gt=1000 -F auid!=unset -k perm_access
1010
11If the output does not produce rules containing "-F exit=-EPERM", this is a finding.11If the output does not produce rules containing "-F exit=-EPERM", this is a finding.
12If the output does not produce rules containing "-F exit=-EACCES", this is a finding.12If the output does not produce rules containing "-F exit=-EACCES", this is a finding.
13If the command does not return an audit rule for "truncate", "ftruncate", "creat", "open", "openat", and "open_by_handle_at" or any of the lines returned are commented out, this is a finding.13If the command does not return an audit rule for "truncate", "ftruncate", "creat", "open", "openat", and "open_by_handle_at" or any of the lines returned are commented out, this is a finding.

CCE-83830-0 - audit_rules_dac_modification_chmod

Requirement

t1 RHEL 9 must audit all uses of the chmod, fchmod, and fchmodat syscalls.t1RHEL 9 must audit all uses of the chmod, fchmod, and fchmodat syscalls.

CCE-83849-0 - grub2_password

Fix

f1Configure RHEL 9 to require a grub bootloader password for the grub superuser account.f1Configure RHEL 9 to require a grub bootloader password for the grub superuser account.
22
3Generate an encrypted grub2 password for the grub superuser account with the following command:3Generate an encrypted grub2 password for the grub superuser account with the following command:
44
5$ sudo grub2-setpassword5$ sudo grub2-setpassword
6Enter password:6Enter password:
7Confirm password:7Confirm password:
88
99
tt10export superusers

CCE-83924-1 - file_owner_etc_gshadow

Fix

f1Change the owner of the file /etc/gshadow to root by running the following command:f1Change the owner of the file /etc/gshadow to root by running the following command:
tt2 
2$ sudo chown root /etc/gshadow3$ sudo chown root /etc/gshadow

CCE-83943-1 - file_owner_etc_passwd

Fix

f1Change the owner of the file /etc/passwd to root by running the following command:f1Change the owner of the file /etc/passwd to root by running the following command:
tt2 
2$ sudo chown root /etc/passwd3$ sudo chown root /etc/passwd

CCE-83945-6 - file_groupowner_etc_group

Fix

f1Change the group of the file /etc/group to root by running the following command:f1Change the group of the file /etc/group to root by running the following command:
22
3$ sudo chgrp root /etc/group3$ sudo chgrp root /etc/group
t4 t
5 

CCE-83965-4 - sysctl_kernel_yama_ptrace_scope

Vul_Discussion

f1Unrestricted usage of ptrace allows compromised binaries to run ptrace on another processes of the user. Like this, the attacker can stealf1Unrestricted usage of ptrace allows compromised binaries to run ptrace on another processes of the user. Like this, the attacker can steal
2sensitive information from the target processes (e.g. SSH sessions, web browser, etc) without any additional assistance from the user (i.e. without resorting to phishing).2sensitive information from the target processes (e.g. SSH sessions, web browser, etc) without any additional assistance from the user (i.e. without resorting to phishing).
t3 t

CCE-83986-0 - grub2_slub_debug_argument

Vul_Discussion

nn1Some adversaries launch attacks with the intent of executing code in non-executable regions of memory or in memory locations that are prohibited. Security safeguards employed to protect memory include, for example, data execution prevention and address space layout randomization. Data execution prevention safeguards can be either hardware-enforced or software-enforced with hardware providing the greater strength of mechanism.
12
tt3Poisoning writes an arbitrary value to freed pages, so any modification or reference to that page after being freed or before being initialized will be detected and prevented. This prevents many types of use-after-free vulnerabilities at little performance cost. Also prevents leak of data and detection of corrupted memory.
4 
5SLAB objects are blocks of physically-contiguous memory. SLUB is the unqueued SLAB allocator.

CCE-83995-1 - rsyslog_nolisten

Requirement

t1 RHEL 9 must be configured so that the rsyslog daemon does not accept log messages from other servers unless the server is being used for log aggregation.t1RHEL 9 must be configured so that the rsyslog daemon does not accept log messages from other servers unless the server is being used for log aggregation.

CCE-84131-2 - sysctl_net_ipv6_conf_all_accept_source_route

Vul_Discussion

f1Source-routed packets allow the source of the packet to suggest that routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures. This requirement applies only to the forwarding of source-routed traffic, such as when forwarding is enabled and the system is functioning as a router.f1Source-routed packets allow the source of the packet to suggest that routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures. This requirement applies only to the forwarding of source-routed traffic, such as when forwarding is enabled and the system is functioning as a router.
t2 t

CCE-84176-7 - file_permissions_crontab

Fix

f1Configure the RHEL 9 file /etc/crontab with mode 600.f1Configure the RHEL 9 file /etc/crontab with mode 600.
22
3$ sudo chmod 0600 /etc/crontab3$ sudo chmod 0600 /etc/crontab
tt4chmod 0600 /etc/crontab

CCE-84180-9 - ensure_redhat_gpgkey_installed

Check

f1To ensure that the GPG key is installed, run:f1To ensure that the GPG key is installed, run:
2 $ rpm -q --queryformat "%{SUMMARY}\n" gpg-pubkey2 $ rpm -q --queryformat "%{SUMMARY}\n" gpg-pubkey
3The command should return the string below:3The command should return the string below:
t4 gpg(Red Hat, Inc. (release key 2)  <security@redhat.com>t4 gpg(Red Hat, Inc. (release key 2)  &ltsecurity@redhat.com&gt
55
6If the Red Hat GPG Key is not installed, this is a finding.6If the Red Hat GPG Key is not installed, this is a finding.

CCE-84185-8 - security_patches_up_to_date

Check

t1Verify RHEL9 security patches and updates are installed and up to date.    Updates are required to be applied with a frequency determined by organizational policy.t1Verify RHEL 9 security patches and updates are installed and up to date.    Updates are required to be applied with a frequency determined by organizational policy.
22
3Obtain the list of available package security updates from Red Hat. The URL for updates is https://access.redhat.com/errata-search/.    It is important to note that updates provided by Red Hat may not be present on the system if the underlying packages are not installed.3Obtain the list of available package security updates from Red Hat. The URL for updates is https://access.redhat.com/errata-search/.    It is important to note that updates provided by Red Hat may not be present on the system if the underlying packages are not installed.
44
5Check that the available package security updates have been installed on the system with the following command:5Check that the available package security updates have been installed on the system with the following command:
66
7$ dnf history list | more7$ dnf history list | more
88
9    ID | Command line | Date and time | Action(s) | Altered9    ID | Command line | Date and time | Action(s) | Altered
10-------------------------------------------------------------------------------10-------------------------------------------------------------------------------
11   70 | install aide | 2020-03-05 10:58 | Install | 111   70 | install aide | 2020-03-05 10:58 | Install | 1
12   69 | update -y | 2020-03-04 14:34 | Update | 18 EE12   69 | update -y | 2020-03-04 14:34 | Update | 18 EE
13   68 | install vlc | 2020-02-21 17:12 | Install | 2113   68 | install vlc | 2020-02-21 17:12 | Install | 21
14   67 | update -y | 2020-02-21 17:04 | Update | 7 EE14   67 | update -y | 2020-02-21 17:04 | Update | 7 EE
1515
16Typical update frequency may be overridden by Information Assurance Vulnerability Alert (IAVA) notifications from CYBERCOM.16Typical update frequency may be overridden by Information Assurance Vulnerability Alert (IAVA) notifications from CYBERCOM.
1717
18If the system is in non-compliance with the organizational patching policy, this is a finding.18If the system is in non-compliance with the organizational patching policy, this is a finding.

Fix

t1Install RHEL9 security patches and updates at the organizationally-defined frequency. If system updates are installed via a centralized repository that is configured on the system, you can install all updates with the following command:t1Install RHEL 9 security patches and updates at the organizationally-defined frequency. If system updates are installed via a centralized repository that is configured on the system, you can install all updates with the following command:
22
3$ sudo dnf update3$ sudo dnf update

CCE-84203-9 - package_usbguard_installed

Check

t1Alan Mayt1Verify that RHEL 9 usbguard package is installed with the following command:
2 
3$ sudo dnf list --installed usbguard
4 
5usbguard.x86_64      1.0.0-10.el9
6 
7If the usbguard package is not installed, this is a finding.

CCE-84206-2 - configure_usbguard_auditbackend

Requirement

t1RHEL 8 must enable Linux audit logging for the USBGuard daemon.t1RHEL 9 must enable Linux audit logging for the USBGuard daemon.

CCE-84232-8 - service_kdump_disabled

Fix

f1Disable and mask the kdump service on RHEL 9.f1Disable and mask the kdump service on RHEL 9.
22
3To disable the kdump service run the following command:3To disable the kdump service run the following command:
44
5$ sudo systemctl disable --now kdump5$ sudo systemctl disable --now kdump
66
7To mask the kdump service run the following command:7To mask the kdump service run the following command:
88
9$ sudo systemctl mask --now kdump9$ sudo systemctl mask --now kdump
tt10$ sudo systemctl mask --now kdump

CCE-85956-1 - audit_privileged_commands_init

Check

f1Verify that RHEL 9 is configured to audit the execution of the "init" command with the following command:f1Verify that RHEL 9 is configured to audit the execution of the "init" command with the following command:
22
3$ sudo auditctl -l | grep init3$ sudo auditctl -l | grep init
44
t5-a always,exit -F path=/usr/sbin/init -F perm=x -F auid>=1000 -F auid!=unset -k privileged-initt5-a always,exit -F path=/usr/sbin/init -F perm=x -F auid&gt=1000 -F auid!=unset -k privileged-init
66
7If the command does not return a line, or the line is commented out, this is a finding.7If the command does not return a line, or the line is commented out, this is a finding.

CCE-85957-9 - audit_privileged_commands_poweroff

Check

f1Verify that RHEL 9 is configured to audit the execution of the "poweroff" command with the following command:f1Verify that RHEL 9 is configured to audit the execution of the "poweroff" command with the following command:
22
3$ sudo auditctl -l | grep poweroff3$ sudo auditctl -l | grep poweroff
44
t5-a always,exit -F path=/usr/sbin/poweroff -F perm=x -F auid>=1000 -F auid!=unset -k privileged-powerofft5-a always,exit -F path=/usr/sbin/poweroff -F perm=x -F auid&gt=1000 -F auid!=unset -k privileged-poweroff
66
7If the command does not return a line, or the line is commented out, this is a finding.7If the command does not return a line, or the line is commented out, this is a finding.

CCE-85958-7 - audit_privileged_commands_reboot

Check

f1Verify that RHEL 9 is configured to audit the execution of the "reboot" command with the following command:f1Verify that RHEL 9 is configured to audit the execution of the "reboot" command with the following command:
22
3$ sudo auditctl -l | grep reboot3$ sudo auditctl -l | grep reboot
44
t5-a always,exit -F path=/usr/sbin/reboot -F perm=x -F auid>=1000 -F auid!=unset -k privileged-reboott5-a always,exit -F path=/usr/sbin/reboot -F perm=x -F auid&gt=1000 -F auid!=unset -k privileged-reboot
66
7If the command does not return a line, or the line is commented out, this is a finding.7If the command does not return a line, or the line is commented out, this is a finding.

CCE-85959-5 - audit_privileged_commands_shutdown

Check

f1Verify that RHEL 9 is configured to audit the execution of the "shutdown" command with the following command:f1Verify that RHEL 9 is configured to audit the execution of the "shutdown" command with the following command:
22
3$ sudo auditctl -l | grep shutdown3$ sudo auditctl -l | grep shutdown
44
t5-a always,exit -F path=/usr/sbin/shutdown -F perm=x -F auid>=1000 -F auid!=unset -k privileged-shutdownt5-a always,exit -F path=/usr/sbin/shutdown -F perm=x -F auid&gt=1000 -F auid!=unset -k privileged-shutdown
66
7If the command does not return a line, or the line is commented out, this is a finding.7If the command does not return a line, or the line is commented out, this is a finding.

CCE-86228-4 - file_audit_tools_permissions

Vul_Discussion

f1Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information.f1Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information.
22
t3RHEL9 systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools, and the corresponding rights the user enjoys, to make access decisions regarding the access to audit tools.t3RHEL 9 systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools, and the corresponding rights the user enjoys, to make access decisions regarding the access to audit tools.
44
5Audit tools include, but are not limited to, vendor-provided and open source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators.5Audit tools include, but are not limited to, vendor-provided and open source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators.

CCE-86240-9 - file_audit_tools_group_ownership

Vul_Discussion

f1Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information.f1Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information.
22
t3RHEL9 systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools, and the corresponding rights the user enjoys, to make access decisions regarding the access to audit tools.t3RHEL 9 systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools, and the corresponding rights the user enjoys, to make access decisions regarding the access to audit tools.
44
5Audit tools include, but are not limited to, vendor-provided and open source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators.5Audit tools include, but are not limited to, vendor-provided and open source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators.

CCE-86263-1 - file_audit_tools_ownership

Vul_Discussion

f1Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information.f1Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information.
22
t3RHEL9 systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools, and the corresponding rights the user enjoys, to make access decisions regarding the access to audit tools.t3RHEL 9 systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools, and the corresponding rights the user enjoys, to make access decisions regarding the access to audit tools.
44
5Audit tools include, but are not limited to, vendor-provided and open source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators.5Audit tools include, but are not limited to, vendor-provided and open source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators.

CCE-86402-5 - audit_rules_suid_privilege_function

Fix

f1Configure RHEL 9 to audit the execution of the "execve" system call.f1Configure RHEL 9 to audit the execution of the "execve" system call.
22
3Add or update the following file system rules to "/etc/audit/rules.d/audit.rules":3Add or update the following file system rules to "/etc/audit/rules.d/audit.rules":
44
5-a always,exit -F arch=b32 -S execve -C uid!=euid -F euid=0 -k execpriv5-a always,exit -F arch=b32 -S execve -C uid!=euid -F euid=0 -k execpriv
6-a always,exit -F arch=b64 -S execve -C uid!=euid -F euid=0 -k execpriv6-a always,exit -F arch=b64 -S execve -C uid!=euid -F euid=0 -k execpriv
7-a always,exit -F arch=b32 -S execve -C gid!=egid -F egid=0 -k execpriv7-a always,exit -F arch=b32 -S execve -C gid!=egid -F egid=0 -k execpriv
8-a always,exit -F arch=b64 -S execve -C gid!=egid -F egid=0 -k execpriv8-a always,exit -F arch=b64 -S execve -C gid!=egid -F egid=0 -k execpriv
99
tt10 
10The audit daemon must be restarted for the changes to take effect.11The audit daemon must be restarted for the changes to take effect.

CCE-87332-3 - harden_sshd_ciphers_opensshserver_conf_crypto_policy

Fix

f1Reinstall the crypto-policies package to remove any modifications.f1Reinstall the crypto-policies package to remove any modifications.
22
3$ sudo dnf reinstall crypto-policies3$ sudo dnf reinstall crypto-policies
44
5Then ensure that FIPS mode is setup with the following command:5Then ensure that FIPS mode is setup with the following command:
66
7$ sudo fips-mode-setup --enable7$ sudo fips-mode-setup --enable
88
9The system must be rebooted for the changes to take effect.9The system must be rebooted for the changes to take effect.
tt10A reboot is required for the changes to take effect.

CCE-87370-3 - grub2_admin_username

Check

f1Verify the boot loader superuser account has been set with the following command:f1Verify the boot loader superuser account has been set with the following command:
22
3$ sudo grep -A1 "superusers" /etc/grub2.cfg3$ sudo grep -A1 "superusers" /etc/grub2.cfg
44
n5 set superusers="<superusers-account>"n5 set superusers="&ltsuperusers-account&gt"
6export superusers6export superusers
77
t8The <superusers-account> is the actual account name different from common names like root,t8The &ltsuperusers-account&gt is the actual account name different from common names like root,
9admin, or administrator.9admin, or administrator.
1010
11If superusers contains easily guessable usernames, this is a finding.11If superusers contains easily guessable usernames, this is a finding.

CCE-87757-1 - aide_check_audit_tools

Fix

f1Add or update the following lines to "/etc/aide.conf", to protect the integrity of the audit tools.f1Add or update the following lines to "/etc/aide.conf", to protect the integrity of the audit tools.
22
3/usr/sbin/auditctl p+i+n+u+g+s+b+acl+xattrs+sha5123/usr/sbin/auditctl p+i+n+u+g+s+b+acl+xattrs+sha512
4/usr/sbin/auditd p+i+n+u+g+s+b+acl+xattrs+sha5124/usr/sbin/auditd p+i+n+u+g+s+b+acl+xattrs+sha512
5/usr/sbin/ausearch p+i+n+u+g+s+b+acl+xattrs+sha5125/usr/sbin/ausearch p+i+n+u+g+s+b+acl+xattrs+sha512
6/usr/sbin/aureport p+i+n+u+g+s+b+acl+xattrs+sha5126/usr/sbin/aureport p+i+n+u+g+s+b+acl+xattrs+sha512
7/usr/sbin/autrace p+i+n+u+g+s+b+acl+xattrs+sha5127/usr/sbin/autrace p+i+n+u+g+s+b+acl+xattrs+sha512
8/usr/sbin/autrace p+i+n+u+g+s+b+acl+xattrs+sha5128/usr/sbin/autrace p+i+n+u+g+s+b+acl+xattrs+sha512
9/usr/sbin/augenrules p+i+n+u+g+s+b+acl+xattrs+sha5129/usr/sbin/augenrules p+i+n+u+g+s+b+acl+xattrs+sha512
t10 t
11 
12 

CCE-88048-4 - accounts_authorized_local_users

Fix

n1Remove unauthorized local interactive user accounts with the following command where <unauthorized_user> is the unauthorized account:n1Remove unauthorized local interactive user accounts with the following command where &ltunauthorized_user&gt is the unauthorized account:
22
t3$ sudo userdel  <unauthorized_user>t3$ sudo userdel  &ltunauthorized_user&gt

CCE-88396-7 - auditd_data_retention_max_log_file_action_stig

Requirement

t1 The RHEL 9 audit system must take appropriate action when the audit files have reached maximum size.t1The RHEL 9 audit system must take appropriate action when the audit files have reached maximum size.

CCE-88964-2 - accounts_user_interactive_home_directory_defined

Check

f1Verify that interactive users on the system have a home directory assigned with the following command:f1Verify that interactive users on the system have a home directory assigned with the following command:
22
t3$ sudo awk -F: '($3>=1000)&&($7 !~ /nologin/){print $1, $3, $6}' /etc/passwdt3$ sudo awk -F: '($3&gt=1000)&&($7 !~ /nologin/){print $1, $3, $6}' /etc/passwd
44
5smithk:x:1000:1000:smithk:/home/smithk:/bin/bash5smithk:x:1000:1000:smithk:/home/smithk:/bin/bash
6throckw:x:1001:1001:throckw:/home/throckw:/bin/bash6throckw:x:1001:1001:throckw:/home/throckw:/bin/bash
77
8Inspect the output and verify that all interactive users (normally users with a UID greater that 1000) have a home directory defined.8Inspect the output and verify that all interactive users (normally users with a UID greater that 1000) have a home directory defined.
99
10If users home directory is not defined, this is a finding.10If users home directory is not defined, this is a finding.

Fix

f1Create and assign home directories to all local interactive users on RHEL 9 that currently do not have a home directory assigned.f1Create and assign home directories to all local interactive users on RHEL 9 that currently do not have a home directory assigned.
tt2Assign home directories to all local interactive users on RHEL 9 that currently do not have a home directory assigned.

CCE-89064-0 - postfix_client_configure_mail_alias_postmaster

Check

f1Verify that the administrators are notified in the event of an audit processing failure.f1Verify that the administrators are notified in the event of an audit processing failure.
22
3 Check that the "/etc/aliases" file has a defined value for "root".3 Check that the "/etc/aliases" file has a defined value for "root".
44
5 $ sudo grep "postmaster:\s*root$" /etc/aliases5 $ sudo grep "postmaster:\s*root$" /etc/aliases
66
7 If the command does not return a line, or the line is commented out, ask the system administrator to indicate how they and the ISSO are notified of an audit process failure.7 If the command does not return a line, or the line is commented out, ask the system administrator to indicate how they and the ISSO are notified of an audit process failure.
8 If there is no evidence of the proper personnel being notified of an audit processing failure, this is a finding.8 If there is no evidence of the proper personnel being notified of an audit processing failure, this is a finding.
t9 t

CCE-89175-4 - firewalld_sshd_port_enabled

Check

t1 Inspect the firewall configuration and running services to verify it is configured to prohibit or restrict the use of functions, ports, protocols, and/or services that are unnecessary or prohibited.t1Inspect the firewall configuration and running services to verify it is configured to prohibit or restrict the use of functions, ports, protocols, and/or services that are unnecessary or prohibited.
22
3Check which services are currently active with the following command:3Check which services are currently active with the following command:
44
5$ sudo firewall-cmd --list-all-zones5$ sudo firewall-cmd --list-all-zones
66
7custom (active)7custom (active)
8target: DROP8target: DROP
9icmp-block-inversion: no9icmp-block-inversion: no
10interfaces: ens3310interfaces: ens33
11sources:11sources:
12services: dhcpv6-client dns http https ldaps rpc-bind ssh12services: dhcpv6-client dns http https ldaps rpc-bind ssh
13ports:13ports:
14masquerade: no14masquerade: no
15forward-ports:15forward-ports:
16icmp-blocks:16icmp-blocks:
17rich rules:17rich rules:
1818
19Ask the System Administrator for the site or program Ports, Protocols, and Services Management Component Local Service Assessment (PPSM CLSA). Verify the services allowed by the firewall match the PPSM CLSA.19Ask the System Administrator for the site or program Ports, Protocols, and Services Management Component Local Service Assessment (PPSM CLSA). Verify the services allowed by the firewall match the PPSM CLSA.
2020
21If there are additional ports, protocols, or services that are not in the PPSM CLSA, or there are ports, protocols, or services that are prohibited by the PPSM Category Assurance List (CAL), this is a finding.21If there are additional ports, protocols, or services that are not in the PPSM CLSA, or there are ports, protocols, or services that are prohibited by the PPSM Category Assurance List (CAL), this is a finding.

CCE-89498-0 - audit_rules_sudoers_d

Requirement

t1 RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/sudoers.d/.t1RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/sudoers.d/.

Fix

f1Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/".f1Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/".
2Add or update the following file system rule to "/etc/audit/rules.d/audit.rules":2Add or update the following file system rule to "/etc/audit/rules.d/audit.rules":
3-w /etc/sudoers.d/ -p wa -k identity3-w /etc/sudoers.d/ -p wa -k identity
tt4 
4The audit daemon must be restarted for the changes to take effect.5The audit daemon must be restarted for the changes to take effect.

CCE-89564-9 - audit_rules_privileged_commands_mount

Check

f1Verify RHEL 9 generates audit records for the execution of the "mount" command with the following command:f1Verify RHEL 9 generates audit records for the execution of the "mount" command with the following command:
22
3$ sudo auditctl -l | grep /usr/bin/mount3$ sudo auditctl -l | grep /usr/bin/mount
44
t5-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-mountt5-a always,exit -F path=/usr/bin/mount -F perm=x -F auid&gt=1000 -F auid!=unset -k privileged-mount
66
7If the command does not return a line, or the line is commented out, this is a finding.7If the command does not return a line, or the line is commented out, this is a finding.

CCE-89737-1 - sssd_enable_certmap

Check

f1Verify the certificate of the user or group is mapped to the corresponding user or group in the "sssd.conf" file with the following command:f1Verify the certificate of the user or group is mapped to the corresponding user or group in the "sssd.conf" file with the following command:
22
3$ sudo cat /etc/sssd/sssd.conf3$ sudo cat /etc/sssd/sssd.conf
44
5[certmap/testing.test/rule_name]5[certmap/testing.test/rule_name]
t6matchrule =<SAN>.*EDIPI@milt6matchrule =&ltSAN&gt.*EDIPI@mil
7maprule = (userCertificate;binary={cert!bin})7maprule = (userCertificate;binary={cert!bin})
8domains = testing.test8domains = testing.test
99
10If the certmap section does not exist, ask the System Administrator to indicate how certificates are mapped to accounts.  If there is no evidence of certificate mapping, this is a finding.10If the certmap section does not exist, ask the System Administrator to indicate how certificates are mapped to accounts.  If there is no evidence of certificate mapping, this is a finding.

CCE-90125-6 - harden_sshd_ciphers_openssh_conf_crypto_policy

Check

f1Verify that system-wide crypto policies are in effect:f1Verify that system-wide crypto policies are in effect:
22
3$ sudo grep Include /etc/ssh/ssh_config  /etc/ssh/ssh_config.d/*3$ sudo grep Include /etc/ssh/ssh_config  /etc/ssh/ssh_config.d/*
4/etc/ssh/ssh_config:Include /etc/ssh/ssh_config.d/*.conf4/etc/ssh/ssh_config:Include /etc/ssh/ssh_config.d/*.conf
5/etc/ssh/ssh_config.d/50-redhat.conf:        Include /etc/crypto-policies/back-ends/openssh.config5/etc/ssh/ssh_config.d/50-redhat.conf:        Include /etc/crypto-policies/back-ends/openssh.config
66
7If "Include /etc/crypto-policies/back-ends/openssh.config" or "Include /etc/ssh/ssh_config.d/*.conf" are not included in the system ssh client config or the file "/etc/ssh/ssh_config.d/50-redhat.conf" is missing, this is a finding.7If "Include /etc/crypto-policies/back-ends/openssh.config" or "Include /etc/ssh/ssh_config.d/*.conf" are not included in the system ssh client config or the file "/etc/ssh/ssh_config.d/50-redhat.conf" is missing, this is a finding.
t8 t

Fix

f1Configure the RHEL 9 SSH daemon to use system-wide crypto policies by running the following commands:f1Configure the RHEL 9 SSH daemon to use system-wide crypto policies by running the following commands:
22
3$ sudo dnf reinstall openssh-clients3$ sudo dnf reinstall openssh-clients
tt4 
5A reboot is required for the changes to take effect.

CCE-90176-9 - audit_rules_sudoers

Requirement

t1 RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/sudoers.t1RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/sudoers.

Fix

f1Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers".f1Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers".
2Add or update the following file system rule to "/etc/audit/rules.d/audit.rules":2Add or update the following file system rule to "/etc/audit/rules.d/audit.rules":
3-w /etc/sudoers -p wa -k identity3-w /etc/sudoers -p wa -k identity
tt4 
4The audit daemon must be restarted for the changes to take effect.5The audit daemon must be restarted for the changes to take effect.

CCE-90365-8 - accounts_umask_interactive_users

Check

f1Verify that the default umask for all local interactive users is "077".f1Verify that the default umask for all local interactive users is "077".
22
3Identify the locations of all local interactive user home directories by looking at the "/etc/passwd" file.3Identify the locations of all local interactive user home directories by looking at the "/etc/passwd" file.
44
5Check all local interactive user initialization files for interactive users with the following command:5Check all local interactive user initialization files for interactive users with the following command:
66
7Note: The example is for a system that is configured to create users home directories in the "/home" directory.7Note: The example is for a system that is configured to create users home directories in the "/home" directory.
88
t9# grep -ri umask /home/t9$ sudo grep -ir ^umask --exclude=.bash_history /home
1010
11/home/smithj/.bash_history:grep -i umask /etc/bashrc /etc/csh.cshrc /etc/profile11/home/smithj/.bash_history:grep -i umask /etc/bashrc /etc/csh.cshrc /etc/profile
12/home/smithj/.bash_history:grep -i umask /etc/login.defs12/home/smithj/.bash_history:grep -i umask /etc/login.defs
1313
14If any local interactive user initialization files are found to have a umask statement that sets a value less restrictive than "077", this is a finding.14If any local interactive user initialization files are found to have a umask statement that sets a value less restrictive than "077", this is a finding.

CCE-90590-1 - set_password_hashing_algorithm_logindefs

Vul_Discussion

f1Passwords need to be protected at all times, and encryption is the standardf1Passwords need to be protected at all times, and encryption is the standard
2method for protecting passwords. If passwords are not encrypted, they can2method for protecting passwords. If passwords are not encrypted, they can
3be plainly read (i.e., clear text) and easily compromised. Passwords that3be plainly read (i.e., clear text) and easily compromised. Passwords that
4are encrypted with a weak algorithm are no more protected than if they are4are encrypted with a weak algorithm are no more protected than if they are
5kepy in plain text.5kepy in plain text.
66
77
88
9This setting ensures user and group account administration utilities are9This setting ensures user and group account administration utilities are
10configured to store only encrypted representations of passwords.10configured to store only encrypted representations of passwords.
11Additionally, the "crypt_style" configuration option ensures the use11Additionally, the "crypt_style" configuration option ensures the use
12of a strong hashing algorithm that makes password cracking attacks more12of a strong hashing algorithm that makes password cracking attacks more
13difficult.13difficult.
t14 t

CCE-90826-9 - postfix_client_configure_mail_alias

Vul_Discussion

t1 It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without this notification, the security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected.t1It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without this notification, the security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected.
22
3Audit processing failures include software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded.3Audit processing failures include software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded.
44
5This requirement applies to each audit data storage repository (i.e., distinct information system component where audit records are stored), the centralized audit storage capacity of organizations (i.e., all audit data storage repositories combined), or both.5This requirement applies to each audit data storage repository (i.e., distinct information system component where audit records are stored), the centralized audit storage capacity of organizations (i.e., all audit data storage repositories combined), or both.

CCE-90829-3 - service_auditd_enabled

Requirement

t1The RHEL9 audit service must be enabled.t1The RHEL 9 audit service must be enabled.

CCE-90838-4 - mount_option_nodev_remote_filesystems

Vul_Discussion

t1 The "nodev" mount option causes the system to not interpret character or block special devices. Executing character or block special devices from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.t1The "nodev" mount option causes the system to not interpret character or block special devices. Executing character or block special devices from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.

CCE-90843-4 - package_aide_installed

Check

f1Verify that RHEL 9 has the aide package installed with the following command:f1Verify that RHEL 9 has the aide package installed with the following command:
22
t3$sudo dnf list --installed aidet3$ sudo dnf list --installed aide
44
5aide.x86_64        0.16.100.el95aide.x86_64        0.16.100.el9
66
7If the "aide" package is not installed, this is a finding.7If the "aide" package is not installed, this is a finding.