From ff8f5ccff7a2286a23ea1dee2f42f60025480f05 Mon Sep 17 00:00:00 2001 From: Matthew Burket Date: Wed, 24 Jan 2024 20:38:38 -0600 Subject: [PATCH 1/3] Allow sssd_offline_cred_expiration to be configed in drop in dirs --- .../sssd/sssd_offline_cred_expiration/oval/shared.xml | 4 ++-- .../tests/correct_value_dropin.pass.sh | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 linux_os/guide/services/sssd/sssd_offline_cred_expiration/tests/correct_value_dropin.pass.sh diff --git a/linux_os/guide/services/sssd/sssd_offline_cred_expiration/oval/shared.xml b/linux_os/guide/services/sssd/sssd_offline_cred_expiration/oval/shared.xml index 9741e2e56d6..3a5bd52c10b 100644 --- a/linux_os/guide/services/sssd/sssd_offline_cred_expiration/oval/shared.xml +++ b/linux_os/guide/services/sssd/sssd_offline_cred_expiration/oval/shared.xml @@ -16,7 +16,7 @@ - /etc/sssd/sssd.conf + ^\/etc\/sssd\/(sssd.conf|conf\.d\/.+\.conf)$ ^[\s]*\[pam](?:[^\n\[]*\n+)+?[\s]*offline_credentials_expiration[\s]*=[\s]*1\s*(?:#.*)?$ 1 @@ -28,7 +28,7 @@ - /etc/sssd/sssd.conf + ^\/etc\/sssd\/(sssd.conf|conf\.d\/.+\.conf)$ ^[\s]*cache_credentials\s*=\s*(\w+)\s*(?:#.*)?$ 1 diff --git a/linux_os/guide/services/sssd/sssd_offline_cred_expiration/tests/correct_value_dropin.pass.sh b/linux_os/guide/services/sssd/sssd_offline_cred_expiration/tests/correct_value_dropin.pass.sh new file mode 100644 index 00000000000..66eefb0b18e --- /dev/null +++ b/linux_os/guide/services/sssd/sssd_offline_cred_expiration/tests/correct_value_dropin.pass.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +source common.sh + +export SSSD_CONF=/etc/sssd/conf.d/cac.conf + +echo -e "[pam]\noffline_credentials_expiration = 1" >> $SSSD_CONF + +echo -e "[domain/EXAMPLE]\ncache_credentials = true" >> $SSSD_CONF From 041c8e73c65550473334211e1c289d97ed02bbc3 Mon Sep 17 00:00:00 2001 From: Matthew Burket Date: Wed, 24 Jan 2024 20:44:59 -0600 Subject: [PATCH 2/3] Update DISA files for RHEL 8 STIG V1R13 --- ...l => disa-stig-rhel8-v1r12-xccdf-scap.xml} | 1993 ++++++++++------- ...=> disa-stig-rhel8-v1r13-xccdf-manual.xml} | 999 ++++----- 2 files changed, 1628 insertions(+), 1364 deletions(-) rename shared/references/{disa-stig-rhel8-v1r11-xccdf-scap.xml => disa-stig-rhel8-v1r12-xccdf-scap.xml} (95%) rename shared/references/{disa-stig-rhel8-v1r12-xccdf-manual.xml => disa-stig-rhel8-v1r13-xccdf-manual.xml} (93%) diff --git a/shared/references/disa-stig-rhel8-v1r11-xccdf-scap.xml b/shared/references/disa-stig-rhel8-v1r12-xccdf-scap.xml similarity index 95% rename from shared/references/disa-stig-rhel8-v1r11-xccdf-scap.xml rename to shared/references/disa-stig-rhel8-v1r12-xccdf-scap.xml index 156d23137aa..cf7ead7c0dd 100644 --- a/shared/references/disa-stig-rhel8-v1r11-xccdf-scap.xml +++ b/shared/references/disa-stig-rhel8-v1r12-xccdf-scap.xml @@ -1,36 +1,36 @@ - - + + - + - + - + - + - - + + - + Red Hat Enterprise Linux 8 - oval:mil.disa.stig.rhel8:def:1 + oval:mil.disa.stig.rhel8os:def:1 - + - accepted + accepted Red Hat Enterprise Linux 8 STIG SCAP Benchmark This Security Technical Implementation Guide is published as a tool to improve the security of Department of Defense (DOD) information systems. The requirements are derived from the National Institute of Standards and Technology (NIST) 800-53 and related documents. Comments or proposed revisions to this document should be sent via email to the following address: disa.stig_spt@mail.mil. @@ -40,19 +40,19 @@ DISA STIG.DOD.MIL - Release: 1.11 Benchmark Date: 25 Oct 2023 + Release: 1.12 Benchmark Date: 24 Jan 2024 3.4.1.22916 1.10.0 RHEL 8.3 or Lower - + - 001.011 + 001.012 DISA DISA @@ -137,7 +137,6 @@ - @@ -156,6 +155,7 @@ + @@ -289,11 +289,13 @@ + + I - Mission Critical Public @@ -373,7 +375,6 @@ - @@ -392,6 +393,7 @@ + @@ -525,11 +527,13 @@ + + I - Mission Critical Sensitive @@ -609,7 +613,6 @@ - @@ -628,6 +631,7 @@ + @@ -761,11 +765,13 @@ + + II - Mission Support Classified @@ -845,7 +851,6 @@ - @@ -864,6 +869,7 @@ + @@ -997,11 +1003,13 @@ + + II - Mission Support Public @@ -1081,7 +1089,6 @@ - @@ -1100,6 +1107,7 @@ + @@ -1233,11 +1241,13 @@ + + II - Mission Support Sensitive @@ -1317,7 +1327,6 @@ - @@ -1336,6 +1345,7 @@ + @@ -1469,11 +1479,13 @@ + + III - Administrative Classified @@ -1553,7 +1565,6 @@ - @@ -1572,6 +1583,7 @@ + @@ -1705,11 +1717,13 @@ + + III - Administrative Public @@ -1789,7 +1803,6 @@ - @@ -1808,6 +1821,7 @@ + @@ -1941,11 +1955,13 @@ + + III - Administrative Sensitive @@ -2025,7 +2041,6 @@ - @@ -2044,6 +2059,7 @@ + @@ -2177,11 +2193,13 @@ + + CAT I Only @@ -2253,7 +2271,6 @@ - @@ -2272,6 +2289,7 @@ + @@ -2347,14 +2365,14 @@ - - - - - - - - + + + + + + + + @@ -2398,8 +2416,10 @@ + + SRG-OS-000480-GPOS-00227 @@ -2422,7 +2442,7 @@ Note: The life-cycle time spans and dates are subject to adjustment.</VulnDis Upgrade to a supported version of RHEL 8. - + @@ -2458,7 +2478,7 @@ Enable FIPS mode after installation (not strict FIPS-compliant) with the followi Reboot the system for the changes to take effect. - + @@ -2488,7 +2508,7 @@ Edit/Modify the following line in the "/etc/login.defs" file and set "[ENCRYPT_M ENCRYPT_METHOD SHA512 - + @@ -2512,7 +2532,7 @@ Passwords need to be protected at all times, and encryption is the standard meth Lock all interactive user accounts not using SHA-512 hashing until the passwords can be regenerated with SHA-512. - + @@ -2540,7 +2560,7 @@ Edit/modify the following line in the "/etc/login.defs" file and set "SHA_CRYPT_ SHA_CRYPT_MIN_ROUNDS 5000 - + @@ -2568,7 +2588,7 @@ Enter password: Confirm password: - + @@ -2596,7 +2616,7 @@ Enter password: Confirm password: - + @@ -2620,7 +2640,7 @@ Confirm password: ExecStart=-/usr/lib/systemd/systemd-sulogin-shell rescue - + @@ -2650,7 +2670,7 @@ Edit/modify the following line in the "/etc/pam.d/password-auth" file to include password sufficient pam_unix.so sha512 - + @@ -2680,7 +2700,7 @@ FIPS 140-2 is the current standard for validating that mechanisms used to access Remove any files with the .keytab extension from the operating system. - + @@ -2710,7 +2730,7 @@ FIPS 140-2 is the current standard for validating that mechanisms used to access $ sudo yum remove krb5-workstation - + @@ -2736,7 +2756,7 @@ Policycoreutils contains the policy core utilities that are required for basic o $ sudo yum install policycoreutils - + @@ -2774,7 +2794,7 @@ For the changes to take effect, the SSH daemon must be restarted: $ sudo systemctl restart sshd.service - + @@ -2800,7 +2820,7 @@ The structure and content of error messages must be carefully considered by the $ sudo chmod 0640 /var/log/messages - + @@ -2826,7 +2846,7 @@ The structure and content of error messages must be carefully considered by the $ sudo chown root /var/log/messages - + @@ -2852,7 +2872,7 @@ The structure and content of error messages must be carefully considered by the $ sudo chgrp root /var/log/messages - + @@ -2878,7 +2898,7 @@ The structure and content of error messages must be carefully considered by the $ sudo chmod 0755 /var/log - + @@ -2904,7 +2924,7 @@ The structure and content of error messages must be carefully considered by the $ sudo chown root /var/log - + @@ -2930,7 +2950,7 @@ The structure and content of error messages must be carefully considered by the $ sudo chgrp root /var/log - + @@ -2960,7 +2980,7 @@ SSH_USE_STRONG_RNG=32 The SSH service must be restarted for changes to take effect. - + @@ -2998,7 +3018,7 @@ DTLS.MinProtocol = DTLSv1.2 A reboot is required for the changes to take effect. - + @@ -3026,7 +3046,7 @@ Run the following command, replacing "[FILE]" with any system command with a mod $ sudo chmod 755 [FILE] - + @@ -3054,7 +3074,7 @@ Run the following command, replacing "[FILE]" with any system command file not o $ sudo chown root [FILE] - + @@ -3082,7 +3102,7 @@ Run the following command, replacing "[FILE]" with any system command file not g $ sudo chgrp root [FILE] - + @@ -3110,7 +3130,7 @@ Verifying the authenticity of the software prior to installation validates the i gpgcheck=1 - + @@ -3140,7 +3160,7 @@ Set the "localpkg_gpgcheck" option to "True" in the "/etc/dnf/dnf.conf" file: localpkg_gpgcheck=True - + @@ -3188,7 +3208,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -3240,7 +3260,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -3292,7 +3312,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -3344,7 +3364,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -3396,7 +3416,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -3422,7 +3442,7 @@ Satisfies: SRG-OS-000373-GPOS-00156, SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPO Remove any occurrence of "NOPASSWD" found in "/etc/sudoers" file or files in the "/etc/sudoers.d" directory. - + @@ -3448,7 +3468,7 @@ Satisfies: SRG-OS-000373-GPOS-00156, SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPO Remove any occurrence of "!authenticate" found in "/etc/sudoers" file or files in the "/etc/sudoers.d" directory. - + @@ -3480,7 +3500,7 @@ This requirement only applies to components where this is specific to the functi $ sudo yum install openssl-pkcs11 - + @@ -3528,7 +3548,7 @@ Issue the following command to make the changes take effect: $ sudo sysctl --system - + @@ -3554,7 +3574,7 @@ Set the "clean_requirements_on_remove" option to "True" in the "/etc/dnf/dnf.con clean_requirements_on_remove=True - + @@ -3584,7 +3604,7 @@ SELINUXTYPE=targeted A reboot is required for the changes to take effect. - + @@ -3608,7 +3628,7 @@ A reboot is required for the changes to take effect. $ sudo rm /etc/ssh/shosts.equiv - + @@ -3632,7 +3652,7 @@ $ sudo rm /etc/ssh/shosts.equiv $ sudo rm /[path]/[to]/[file]/.shosts - + @@ -3660,7 +3680,7 @@ The SSH daemon must be restarted for the changes to take effect. To restart the $ sudo systemctl restart sshd.service - + @@ -3688,7 +3708,7 @@ The SSH daemon must be restarted for the changes to take effect. To restart the $ sudo systemctl restart sshd.service - + @@ -3716,7 +3736,7 @@ The SSH daemon must be restarted for the changes to take effect. To restart the $ sudo systemctl restart sshd.service - + @@ -3746,7 +3766,7 @@ The SSH daemon must be restarted for the changes to take effect. To restart the $ sudo systemctl restart sshd.service - + @@ -3776,7 +3796,7 @@ The SSH daemon must be restarted for the changes to take effect. To restart the $ sudo systemctl restart sshd.service - + @@ -3798,7 +3818,7 @@ $ sudo systemctl restart sshd.service Migrate the "/var" path onto a separate file system. - + @@ -3820,7 +3840,7 @@ $ sudo systemctl restart sshd.service Migrate the "/var/log" path onto a separate file system. - + @@ -3842,7 +3862,7 @@ $ sudo systemctl restart sshd.service Migrate the system audit data path onto a separate file system. - + @@ -3864,7 +3884,7 @@ $ sudo systemctl restart sshd.service Migrate the "/tmp" directory onto a separate file system/partition. - + @@ -3894,7 +3914,7 @@ The SSH daemon must be restarted for the changes to take effect. To restart the $ sudo systemctl restart sshd.service - + @@ -3922,7 +3942,7 @@ $ sudo systemctl start rsyslog.service $ sudo systemctl enable rsyslog.service - + @@ -3944,7 +3964,7 @@ $ sudo systemctl enable rsyslog.service Configure the "/etc/fstab" to use the "nosuid" option on the /boot directory. - + @@ -3966,7 +3986,7 @@ $ sudo systemctl enable rsyslog.service Configure the "/etc/fstab" to use the "nodev" option on all non-root local partitions. - + @@ -3988,7 +4008,7 @@ $ sudo systemctl enable rsyslog.service Configure the "/etc/fstab" to use the "noexec" option on file systems that are being imported via NFS. - + @@ -4010,7 +4030,7 @@ $ sudo systemctl enable rsyslog.service Configure the "/etc/fstab" to use the "nodev" option on file systems that are being imported via NFS. - + @@ -4032,7 +4052,7 @@ $ sudo systemctl enable rsyslog.service Configure the "/etc/fstab" to use the "nosuid" option on file systems that are being imported via NFS. - + @@ -4078,7 +4098,7 @@ The system configuration files need to be reloaded for the changes to take effec $ sudo sysctl --system - + @@ -4106,7 +4126,7 @@ Add the following line to the top of the /etc/security/limits.conf or in a ".con * hard core 0 - + @@ -4134,7 +4154,7 @@ Add or modify the following line in /etc/systemd/coredump.conf: Storage=none - + @@ -4162,7 +4182,7 @@ Add or modify the following line in /etc/systemd/coredump.conf: ProcessSizeMax=0 - + @@ -4186,7 +4206,7 @@ ProcessSizeMax=0 CREATE_HOME yes - + @@ -4216,7 +4236,7 @@ The SSH daemon must be restarted for the changes to take effect. To restart the $ sudo systemctl restart sshd.service - + @@ -4254,7 +4274,7 @@ The "sssd" service must be restarted for the changes to take effect. To restart $ sudo systemctl restart sssd.service - + @@ -4286,7 +4306,7 @@ Add/Modify the "/etc/security/faillock.conf" file to match the following line: deny = 3 - + @@ -4324,7 +4344,7 @@ The "sssd" service must be restarted for the changes to take effect. To restart $ sudo systemctl restart sssd.service - + @@ -4356,7 +4376,7 @@ Add/Modify the "/etc/security/faillock.conf" file to match the following line: fail_interval = 900 - + @@ -4394,7 +4414,7 @@ The "sssd" service must be restarted for the changes to take effect. To restart $ sudo systemctl restart sssd.service - + @@ -4426,7 +4446,7 @@ Add/Modify the "/etc/security/faillock.conf" file to match the following line: unlock_time = 0 - + @@ -4464,7 +4484,7 @@ The "sssd" service must be restarted for the changes to take effect. To restart $ sudo systemctl restart sssd.service - + @@ -4496,7 +4516,7 @@ Add/Modify the "/etc/security/faillock.conf" file to match the following line: silent - + @@ -4536,7 +4556,7 @@ The "sssd" service must be restarted for the changes to take effect. To restart $ sudo systemctl restart sssd.service - + @@ -4568,7 +4588,7 @@ Add/Modify the "/etc/security/faillock.conf" file to match the following line: audit - + @@ -4608,7 +4628,7 @@ The "sssd" service must be restarted for the changes to take effect. To restart $ sudo systemctl restart sssd.service - + @@ -4640,7 +4660,7 @@ Add/Modify the "/etc/security/faillock.conf" file to match the following line: even_deny_root - + @@ -4668,7 +4688,7 @@ Add the following line to the top of the /etc/security/limits.conf or in a ".con * hard maxlogins 10 - + @@ -4705,39 +4725,7 @@ Reload tmux configuration to take effect. This can be performed in tmux while it $ tmux source-file /etc/tmux.conf - - - - - - SRG-OS-000028-GPOS-00009 - <GroupDescription></GroupDescription> - - RHEL-08-020041 - RHEL 8 must ensure session control is automatically started at shell initialization. - <VulnDiscussion>Tmux is a terminal multiplexer that enables a number of terminals to be created, accessed, and controlled from a single screen. Red Hat endorses tmux as the recommended session controlling package. - -Satisfies: SRG-OS-000028-GPOS-00009, SRG-OS-000030-GPOS-00011</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> - - DPMS Target Red Hat Enterprise Linux 8 - DISA - DPMS Target - Red Hat Enterprise Linux 8 - 2921 - - CCI-000056 - Configure the operating system to initialize the tmux terminal multiplexer as each shell is called by adding the following lines to a custom.sh shell script in the /etc/profile.d/ directory: - -if [ "$PS1" ]; then -parent=$(ps -o ppid= -p $$) -name=$(ps -o comm= -p $parent) -case "$name" in (sshd|login) tmux ;; esac -fi - -This setting will take effect at next logon. - - - + @@ -4765,7 +4753,7 @@ Satisfies: SRG-OS-000028-GPOS-00009, SRG-OS-000030-GPOS-00011</VulnDiscussion Configure the operating system to prevent users from disabling the tmux terminal multiplexer by editing the "/etc/shells" configuration file to remove any instances of tmux. - + @@ -4795,7 +4783,7 @@ Add the following line to the "/etc/pam.d/password-auth" file (or modify the lin password requisite pam_pwquality.so - + @@ -4827,7 +4815,7 @@ ucredit = -1 Remove any configurations that conflict with the above value. - + @@ -4859,7 +4847,7 @@ lcredit = -1 Remove any configurations that conflict with the above value. - + @@ -4891,7 +4879,7 @@ dcredit = -1 Remove any configurations that conflict with the above value. - + @@ -4923,7 +4911,7 @@ maxclassrepeat = 4 Remove any configurations that conflict with the above value. - + @@ -4955,7 +4943,7 @@ maxrepeat = 3 Remove any configurations that conflict with the above value. - + @@ -4987,7 +4975,7 @@ minclass = 4 Remove any configurations that conflict with the above value. - + @@ -5019,7 +5007,7 @@ difok = 8 Remove any configurations that conflict with the above value. - + @@ -5043,7 +5031,7 @@ Remove any configurations that conflict with the above value. $ sudo chage -m 1 [user] - + @@ -5069,7 +5057,7 @@ Add the following line in "/etc/login.defs" (or modify the line to have the requ PASS_MIN_DAYS 1 - + @@ -5095,7 +5083,7 @@ Add, or modify the following line in the "/etc/login.defs" file: PASS_MAX_DAYS 60 - + @@ -5119,7 +5107,7 @@ PASS_MAX_DAYS 60 $ sudo chage -M 60 [user] - + @@ -5151,7 +5139,7 @@ Add the following line in "/etc/pam.d/password-auth" (or modify the line to have password requisite pam_pwhistory.so use_authtok remember=5 retry=3 - + @@ -5187,7 +5175,7 @@ minlen = 15 Remove any configurations that conflict with the above value. - + @@ -5217,7 +5205,7 @@ Add, or modify the following line in the "/etc/login.defs" file: PASS_MIN_LEN 15 - + @@ -5247,7 +5235,7 @@ $ sudo useradd -D -f 35 DoD recommendation is 35 days, but a lower value is acceptable. The value "-1" will disable this feature, and "0" will disable the account immediately after the password expires. - + @@ -5279,7 +5267,35 @@ ocredit = -1 Remove any configurations that conflict with the above value. - + + + + + + SRG-OS-000383-GPOS-00166 + <GroupDescription></GroupDescription> + + RHEL-08-020290 + RHEL 8 must prohibit the use of cached authentications after one day. + <VulnDiscussion>If cached authentication information is out-of-date, the validity of the authentication information may be questionable. + +RHEL 8 includes multiple options for configuring authentication, but this requirement will be focus on the System Security Services Daemon (SSSD). By default sssd does not cache credentials.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> + + DPMS Target Red Hat Enterprise Linux 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-002007 + Configure the SSSD to prohibit the use of cached authentications after one day. + +Add or change the following line in "/etc/sssd/sssd.conf" just below the line "[pam]". + + offline_credentials_expiration = 1 + + + @@ -5307,7 +5323,7 @@ dictcheck=1 Remove any configurations that conflict with the above value. - + @@ -5335,7 +5351,7 @@ Modify the "/etc/login.defs" file to set the "FAIL_DELAY" parameter to "4" or gr FAIL_DELAY 4 - + @@ -5363,7 +5379,7 @@ The SSH daemon must be restarted for the changes to take effect. To restart the $ sudo systemctl restart sshd.service - + @@ -5389,7 +5405,7 @@ Add the following line to the top of "/etc/pam.d/postlogin": session required pam_lastlog.so showfailed - + @@ -5417,7 +5433,7 @@ PrintLastLog yes The SSH service must be restarted for changes to "sshd_config" to take effect. - + @@ -5443,7 +5459,7 @@ Add or edit the line for the "UMASK" parameter in "/etc/login.defs" file to "077 UMASK 077 - + @@ -5477,7 +5493,7 @@ Add or update the following file system rules to "/etc/audit/rules.d/audit.rules The audit daemon must be restarted for the changes to take effect. - + @@ -5507,7 +5523,7 @@ Edit the following line in "/etc/audit/auditd.conf" to ensure that administrator action_mail_acct = root - + @@ -5539,7 +5555,7 @@ disk_error_action = HALT If availability has been determined to be more important, and this decision is documented with the ISSO, configure the operating system to notify system administration staff and ISSO staff in the event of an audit processing failure by setting the "disk_error_action" to "SYSLOG". - + @@ -5573,7 +5589,7 @@ disk_full_action = HALT If availability has been determined to be more important, and this decision is documented with the ISSO, configure the operating system to notify system administration staff and ISSO staff in the event of an audit processing failure by setting the "disk_full_action" to "SYSLOG". - + @@ -5601,7 +5617,7 @@ Add or update the following line in "/etc/audit/auditd.conf" file: local_events = yes - + @@ -5633,7 +5649,7 @@ name_format = hostname The audit daemon must be restarted for changes to take effect. - + @@ -5663,7 +5679,7 @@ log_format = ENRICHED The audit daemon must be restarted for changes to take effect. - + @@ -5691,7 +5707,7 @@ Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPO $ sudo chmod 0600 /var/log/audit/audit.log - + @@ -5721,7 +5737,7 @@ $ sudo chown root [audit_log_file] Replace "[audit_log_file]" to the correct audit log path, by default this location is "/var/log/audit/audit.log". - + @@ -5749,7 +5765,7 @@ Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPO log_group = root - + @@ -5779,7 +5795,7 @@ $ sudo chown root [audit_log_directory] Replace "[audit_log_directory]" with the correct audit log directory path, by default this location is usually "/var/log/audit". - + @@ -5809,7 +5825,7 @@ $ sudo chgrp root [audit_log_directory] Replace "[audit_log_directory]" with the correct audit log directory path, by default this location is usually "/var/log/audit". - + @@ -5839,7 +5855,7 @@ $ sudo chmod 0700 [audit_log_directory] Replace "[audit_log_directory]" to the correct audit log directory path, by default this location is "/var/log/audit". - + @@ -5871,7 +5887,7 @@ Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPO Note: Once set, the system must be rebooted for auditing to be changed. It is recommended to add this option as the last step in securing the system. - + @@ -5901,7 +5917,7 @@ Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPO --loginuid-immutable - + @@ -5933,7 +5949,7 @@ Add or update the following file system rule to "/etc/audit/rules.d/audit.rules" The audit daemon must be restarted for the changes to take effect. - + @@ -5965,7 +5981,7 @@ Add or update the following file system rule to "/etc/audit/rules.d/audit.rules" The audit daemon must be restarted for the changes to take effect. - + @@ -5997,7 +6013,7 @@ Add or update the following file system rule to "/etc/audit/rules.d/audit.rules" The audit daemon must be restarted for the changes to take effect. - + @@ -6029,7 +6045,7 @@ Add or update the following file system rule to "/etc/audit/rules.d/audit.rules" The audit daemon must be restarted for the changes to take effect. - + @@ -6061,7 +6077,7 @@ Add or update the following file system rule to "/etc/audit/rules.d/audit.rules" The audit daemon must be restarted for the changes to take effect. - + @@ -6093,7 +6109,7 @@ Add or update the following file system rule to "/etc/audit/rules.d/audit.rules" The audit daemon must be restarted for the changes to take effect. - + @@ -6125,7 +6141,7 @@ Add or update the following file system rule to "/etc/audit/rules.d/audit.rules" The audit daemon must be restarted for the changes to take effect. - + @@ -6157,7 +6173,7 @@ Install the audit service (if the audit service is not already installed) with t $ sudo yum install audit - + @@ -6189,7 +6205,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6234,7 +6250,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6266,7 +6282,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6298,7 +6314,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6330,7 +6346,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6362,7 +6378,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6394,7 +6410,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6426,7 +6442,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6459,7 +6475,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6491,7 +6507,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6523,7 +6539,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6555,7 +6571,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6587,7 +6603,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6619,7 +6635,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6651,7 +6667,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6683,7 +6699,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6715,7 +6731,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6747,7 +6763,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6779,7 +6795,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6811,7 +6827,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6843,7 +6859,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6878,7 +6894,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6918,7 +6934,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6950,7 +6966,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -6983,7 +6999,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -7015,7 +7031,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -7047,7 +7063,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -7090,7 +7106,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -7129,7 +7145,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -7167,7 +7183,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -7199,7 +7215,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -7231,7 +7247,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -7263,7 +7279,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -7305,7 +7321,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -7347,7 +7363,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -7373,7 +7389,7 @@ $ sudo chmod 0640 /etc/audit/rules.d/[customrulesfile].rules $ sudo chmod 0640 /etc/audit/auditd.conf - + @@ -7403,7 +7419,7 @@ $ sudo chmod 0755 [audit_tool] Replace "[audit_tool]" with the audit tool that does not have the correct permissive mode. - + @@ -7435,7 +7451,7 @@ $ sudo chown root [audit_tool] Replace "[audit_tool]" with each audit tool not owned by "root". - + @@ -7467,7 +7483,7 @@ $ sudo chgrp root [audit_tool] Replace "[audit_tool]" with each audit tool not group-owned by "root". - + @@ -7502,7 +7518,7 @@ Note that a port number was given as there is no standard port for RELP.</Vul $ sudo yum install rsyslog - + @@ -7537,7 +7553,7 @@ Note that a port number was given as there is no standard port for RELP.</Vul $ sudo yum install rsyslog-gnutls - + @@ -7569,7 +7585,7 @@ overflow_action = syslog The audit daemon must be restarted for changes to take effect. - + @@ -7595,7 +7611,7 @@ space_left = 25% Note: Option names and values in the auditd.conf file are case insensitive. - + @@ -7625,7 +7641,7 @@ Note that USNO offers authenticated NTP service to DOD and U.S. Government agenc port 0 - + @@ -7655,7 +7671,7 @@ Note that USNO offers authenticated NTP service to DOD and U.S. Government agenc cmdport 0 - + @@ -7689,7 +7705,7 @@ If a privileged user were to log on using this service, the privileged user pass $ sudo yum remove telnet-server - + @@ -7719,7 +7735,7 @@ Verify the operating system is configured to disable non-essential capabilities. $ sudo yum remove abrt* - + @@ -7749,7 +7765,7 @@ Verify the operating system is configured to disable non-essential capabilities. $ sudo yum remove sendmail - + @@ -7781,14 +7797,14 @@ Satisfies: SRG-OS-000095-GPOS-00049, SRG-OS-000074-GPOS-00042</VulnDiscussion $ sudo yum remove rsh-server - + SRG-OS-000095-GPOS-00049 <GroupDescription></GroupDescription> - + RHEL-08-040021 RHEL 8 must disable the asynchronous transfer mode (ATM) protocol. <VulnDiscussion>It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. @@ -7804,24 +7820,24 @@ The Asynchronous Transfer Mode (ATM) is a protocol operating on network, data li 2921 CCI-000381 - Configure the operating system to disable the ability to use the ATM protocol kernel module. + Configure the operating system to disable the ability to use the ATM protocol kernel module. Add or update the following lines in the file "/etc/modprobe.d/blacklist.conf": -install atm /bin/true -blacklist atm + install atm /bin/false + blacklist atm Reboot the system for the settings to take effect. - + - + SRG-OS-000095-GPOS-00049 <GroupDescription></GroupDescription> - + RHEL-08-040022 RHEL 8 must disable the controller area network (CAN) protocol. <VulnDiscussion>It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. @@ -7837,24 +7853,24 @@ The Controller Area Network (CAN) is a serial communications protocol, which was 2921 CCI-000381 - Configure the operating system to disable the ability to use the CAN protocol kernel module. + Configure the operating system to disable the ability to use the CAN protocol kernel module. Add or update the following lines in the file "/etc/modprobe.d/blacklist.conf": -install can /bin/true -blacklist can + install can /bin/false + blacklist can Reboot the system for the settings to take effect. - + - + SRG-OS-000095-GPOS-00049 <GroupDescription></GroupDescription> - + RHEL-08-040023 RHEL 8 must disable the stream control transmission protocol (SCTP). <VulnDiscussion>It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. @@ -7870,24 +7886,24 @@ The Stream Control Transmission Protocol (SCTP) is a transport layer protocol, d 2921 CCI-000381 - Configure the operating system to disable the ability to use the SCTP kernel module. + Configure the operating system to disable the ability to use the SCTP kernel module. Add or update the following lines in the file "/etc/modprobe.d/blacklist.conf": -install sctp /bin/true -blacklist sctp + install sctp /bin/false + blacklist sctp Reboot the system for the settings to take effect. - + - + SRG-OS-000095-GPOS-00049 <GroupDescription></GroupDescription> - + RHEL-08-040024 RHEL 8 must disable the transparent inter-process communication (TIPC) protocol. <VulnDiscussion>It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. @@ -7903,24 +7919,24 @@ The Transparent Inter-Process Communication (TIPC) protocol is designed to provi 2921 CCI-000381 - Configure the operating system to disable the ability to use the TIPC protocol kernel module. + Configure the operating system to disable the ability to use the TIPC protocol kernel module. Add or update the following lines in the file "/etc/modprobe.d/blacklist.conf": -install tipc /bin/true -blacklist tipc + install tipc /bin/false + blacklist tipc Reboot the system for the settings to take effect. - + - + SRG-OS-000095-GPOS-00049 <GroupDescription></GroupDescription> - + RHEL-08-040025 RHEL 8 must disable mounting of cramfs. <VulnDiscussion>It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. @@ -7936,24 +7952,24 @@ Compressed ROM/RAM file system (or cramfs) is a read-only file system designed f 2921 CCI-000381 - Configure the operating system to disable the ability to use the cramfs kernel module. + Configure the operating system to disable the ability to use the cramfs kernel module. Add or update the following lines in the file "/etc/modprobe.d/blacklist.conf": -install cramfs /bin/true -blacklist cramfs + install cramfs /bin/false + blacklist cramfs Reboot the system for the settings to take effect. - + - + SRG-OS-000095-GPOS-00049 <GroupDescription></GroupDescription> - + RHEL-08-040026 RHEL 8 must disable IEEE 1394 (FireWire) Support. <VulnDiscussion>It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. @@ -7967,24 +7983,24 @@ The IEEE 1394 (FireWire) is a serial bus standard for high-speed real-time commu 2921 CCI-000381 - Configure the operating system to disable the ability to use the firewire-core kernel module. + Configure the operating system to disable the ability to use the firewire-core kernel module. Add or update the following lines in the file "/etc/modprobe.d/blacklist.conf": -install firewire-core /bin/true -blacklist firewire-core + install firewire-core /bin/false + blacklist firewire-core Reboot the system for the settings to take effect. - + - + SRG-OS-000114-GPOS-00059 <GroupDescription></GroupDescription> - + RHEL-08-040080 RHEL 8 must be configured to disable USB mass storage. <VulnDiscussion>USB mass storage permits easy introduction of unknown devices, thereby facilitating malicious activity. @@ -7998,24 +8014,24 @@ Satisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163</VulnDiscussion 2921 CCI-000778 - Configure the operating system to disable the ability to use the USB Storage kernel module and the ability to use USB mass storage devices. + Configure the operating system to disable the ability to use the USB Storage kernel module and the ability to use USB mass storage devices. Add or update the following lines in the file "/etc/modprobe.d/blacklist.conf": -install usb-storage /bin/true -blacklist usb-storage + install usb-storage /bin/false + blacklist usb-storage Reboot the system for the settings to take effect. - + - + SRG-OS-000300-GPOS-00118 <GroupDescription></GroupDescription> - + RHEL-08-040111 RHEL 8 Bluetooth must be disabled. <VulnDiscussion>Without protection of communications with wireless peripherals, confidentiality and integrity may be compromised because unprotected communications can be intercepted and either read, altered, or used to compromise the RHEL 8 operating system. @@ -8031,24 +8047,24 @@ Protecting the confidentiality and integrity of communications with wireless per 2921 CCI-001443 - Configure the operating system to disable the Bluetooth adapter when not in use. + Configure the operating system to disable the Bluetooth adapter when not in use. Build or modify the "/etc/modprobe.d/bluetooth.conf" file with the following line: -install bluetooth /bin/true + install bluetooth /bin/false Disable the ability to use the Bluetooth kernel module. -$ sudo vi /etc/modprobe.d/blacklist.conf + $ sudo vi /etc/modprobe.d/blacklist.conf Add or update the line: -blacklist bluetooth + blacklist bluetooth Reboot the system for the settings to take effect. - + - + @@ -8078,7 +8094,7 @@ The "nosuid" mount option causes the system to not execute "setuid" and "setgid" tmpfs /dev/shm tmpfs defaults,nodev,nosuid,noexec 0 0 - + @@ -8106,7 +8122,7 @@ The "nosuid" mount option causes the system to not execute "setuid" and "setgid" tmpfs /dev/shm tmpfs defaults,nodev,nosuid,noexec 0 0 - + @@ -8136,7 +8152,7 @@ The "nosuid" mount option causes the system to not execute "setuid" and "setgid" tmpfs /dev/shm tmpfs defaults,nodev,nosuid,noexec 0 0 - + @@ -8166,7 +8182,7 @@ The "nosuid" mount option causes the system to not execute "setuid" and "setgid" /dev/mapper/rhel-tmp /tmp xfs defaults,nodev,nosuid,noexec 0 0 - + @@ -8194,7 +8210,7 @@ The "nosuid" mount option causes the system to not execute "setuid" and "setgid" /dev/mapper/rhel-tmp /tmp xfs defaults,nodev,nosuid,noexec 0 0 - + @@ -8224,7 +8240,7 @@ The "nosuid" mount option causes the system to not execute "setuid" and "setgid" /dev/mapper/rhel-tmp /tmp xfs defaults,nodev,nosuid,noexec 0 0 - + @@ -8254,7 +8270,7 @@ The "nosuid" mount option causes the system to not execute "setuid" and "setgid" /dev/mapper/rhel-var-log /var/log xfs defaults,nodev,nosuid,noexec 0 0 - + @@ -8284,7 +8300,7 @@ The "nosuid" mount option causes the system to not execute "setuid" and "setgid" /dev/mapper/rhel-var-log /var/log xfs defaults,nodev,nosuid,noexec 0 0 - + @@ -8314,7 +8330,7 @@ The "nosuid" mount option causes the system to not execute "setuid" and "setgid" /dev/mapper/rhel-var-log /var/log xfs defaults,nodev,nosuid,noexec 0 0 - + @@ -8344,7 +8360,7 @@ The "nosuid" mount option causes the system to not execute "setuid" and "setgid" /dev/mapper/rhel-var-log-audit /var/log/audit xfs defaults,nodev,nosuid,noexec 0 0 - + @@ -8374,7 +8390,7 @@ The "nosuid" mount option causes the system to not execute "setuid" and "setgid" /dev/mapper/rhel-var-log-audit /var/log/audit xfs defaults,nodev,nosuid,noexec 0 0 - + @@ -8404,7 +8420,7 @@ The "nosuid" mount option causes the system to not execute "setuid" and "setgid" /dev/mapper/rhel-var-log-audit /var/log/audit xfs defaults,nodev,nosuid,noexec 0 0 - + @@ -8434,7 +8450,7 @@ The "nosuid" mount option causes the system to not execute "setuid" and "setgid" /dev/mapper/rhel-var-tmp /var/tmp xfs defaults,nodev,nosuid,noexec 0 0 - + @@ -8464,7 +8480,7 @@ The "nosuid" mount option causes the system to not execute "setuid" and "setgid" /dev/mapper/rhel-var-tmp /var/tmp xfs defaults,nodev,nosuid,noexec 0 0 - + @@ -8494,7 +8510,7 @@ The "nosuid" mount option causes the system to not execute "setuid" and "setgid" /dev/mapper/rhel-var-tmp /var/tmp xfs defaults,nodev,nosuid,noexec 0 0 - + @@ -8524,7 +8540,7 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000424-GPOS-00188, SRG-OS-000425-GPO $ sudo systemctl enable sshd.service - + @@ -8560,7 +8576,7 @@ Restart the SSH daemon for the settings to take effect. $ sudo systemctl restart sshd.service - + @@ -8588,7 +8604,7 @@ Reload the daemon for this change to take effect. $ sudo systemctl daemon-reload - + @@ -8612,7 +8628,7 @@ $ sudo systemctl daemon-reload $ sudo yum remove tftp-server - + @@ -8636,7 +8652,7 @@ $ sudo yum remove tftp-server If the account is associated with system commands or applications, the UID should be changed to one greater than "0" but less than "1000". Otherwise, assign a UID of greater than "1000" that has not already been assigned. - + @@ -8682,7 +8698,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8730,7 +8746,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8777,7 +8793,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8823,7 +8839,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8869,7 +8885,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8915,7 +8931,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8963,7 +8979,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -9011,7 +9027,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -9059,7 +9075,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -9105,7 +9121,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -9149,7 +9165,7 @@ The system configuration files need to be reloaded for the changes to take effec $ sudo sysctl --system - + @@ -9193,7 +9209,7 @@ The system configuration files need to be reloaded for the changes to take effec $ sudo sysctl --system - + @@ -9237,7 +9253,7 @@ The system configuration files need to be reloaded for the changes to take effec $ sudo sysctl --system - + @@ -9283,7 +9299,7 @@ The system configuration files need to be reloaded for the changes to take effec $ sudo sysctl --system - + @@ -9327,7 +9343,7 @@ The system configuration files need to be reloaded for the changes to take effec $ sudo sysctl --system - + @@ -9351,7 +9367,7 @@ $ sudo sysctl --system $ sudo postconf -e 'smtpd_client_restrictions = permit_mynetworks,reject' - + @@ -9383,7 +9399,7 @@ The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd - + @@ -9409,7 +9425,7 @@ Edit the "/etc/ssh/sshd_config" file to uncomment or add the line for the "X11Us X11UseLocalhost yes - + @@ -9433,7 +9449,7 @@ X11UseLocalhost yes server_args = -s /var/lib/tftpboot - + @@ -9457,7 +9473,7 @@ server_args = -s /var/lib/tftpboot $ sudo yum remove vsftpd - + @@ -9485,7 +9501,7 @@ The gssproxy package is a proxy for GSS API credential handling and could expose $ sudo yum remove gssproxy - + @@ -9513,7 +9529,7 @@ The iprutils package provides a suite of utilities to manage and configure SCSI $ sudo yum remove iprutils - + @@ -9541,7 +9557,7 @@ The tuned package contains a daemon that tunes the system settings dynamically. $ sudo yum remove tuned - + @@ -9571,7 +9587,7 @@ FIPS 140-2 is the current standard for validating that mechanisms used to access $ sudo yum remove krb5-server - + @@ -9595,7 +9611,7 @@ ALL ALL=(ALL) ALL ALL ALL=(ALL:ALL) ALL - + @@ -9625,7 +9641,7 @@ Remove any configurations that conflict with the above from the following locati /etc/sudoers.d/ - + @@ -9659,7 +9675,37 @@ Note: The "[value]" must be a number that is greater than or equal to "0". Remove any duplicate or conflicting lines from /etc/sudoers and /etc/sudoers.d/ files. - + + + + + + SRG-OS-000120-GPOS-00061 + <GroupDescription></GroupDescription> + + RHEL-08-010159 + The RHEL 8 pam_unix.so module must be configured in the system-auth file to use a FIPS 140-2 approved cryptographic hashing algorithm for system authentication. + <VulnDiscussion>Unapproved mechanisms that are used for authentication to the cryptographic module are not verified and therefore cannot be relied upon to provide confidentiality or integrity, and DoD data may be compromised. + +RHEL 8 systems utilizing encryption are required to use FIPS-compliant mechanisms for authenticating to cryptographic modules. + +FIPS 140-2 is the current standard for validating that mechanisms used to access cryptographic modules utilize authentication that meets DoD requirements. This allows for Security Levels 1, 2, 3, or 4 for use on a general-purpose computing system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> + + DPMS Target Red Hat Enterprise Linux 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-000803 + Configure RHEL 8 to use a FIPS 140-2 approved cryptographic hashing algorithm for system authentication. + +Edit/modify the following line in the "/etc/pam.d/system-auth" file to include the sha512 option for pam_unix.so: + +password sufficient pam_unix.so sha512 + + + @@ -9683,7 +9729,7 @@ Remove any duplicate or conflicting lines from /etc/sudoers and /etc/sudoers.d/ Note: Manual changes to the listed file may be overwritten by the "authselect" program. - + @@ -9707,7 +9753,7 @@ Note: Manual changes to the listed file may be overwritten by the "authselect" p Note: Manual changes to the listed file may be overwritten by the "authselect" program. - + @@ -9753,7 +9799,7 @@ The system configuration files need to be reloaded for the changes to take effec $ sudo sysctl --system - + @@ -9780,7 +9826,7 @@ Lock an account: $ sudo passwd -l [username] - + @@ -9813,18 +9859,48 @@ Add the following line to the "/etc/pam.d/system-auth" file (or modify the line password requisite pam_pwquality.so retry=3 - + + + + + + SRG-OS-000163-GPOS-00072 + <GroupDescription></GroupDescription> + + RHEL-08-020035 + RHEL 8 must terminate idle user sessions. + <VulnDiscussion>Terminating an idle session within a short time period reduces the window of opportunity for unauthorized personnel to take control of a management session enabled on the console or console port that has been left unattended.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> + + DPMS Target Red Hat Enterprise Linux 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-001133 + Configure RHEL 8 to log out idle sessions by editing the /etc/systemd/logind.conf file with the following line: + + StopIdleSessionSec=900 + +The "logind" service must be restarted for the changes to take effect. To restart the "logind" service, run the following command: + + $ sudo systemctl restart systemd-logind + +Note: To preserve running user programs such as tmux, uncomment and/or edit "KillUserProccesses=no" in "/etc/systemd/logind.conf". + + + - + repotool 5.10 - 2023-09-27T11:54:10 + 2023-12-27T16:41:10 @@ -9836,6 +9912,25 @@ Add the following line to the "/etc/pam.d/system-auth" file (or modify the line + + + The operating system must implement NIST FIPS-validated cryptography for the following: to provision digital signatures, to generate cryptographic hashes, and to protect data requiring data-at-rest protections in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards. + + + + + + + + + + The operating system pam_unix.so module must be configured in the password-auth file to use a FIPS 140-2 approved cryptographic hashing algorithm for system authentication. + + + + + + The operating system must be configured so that all network connections associated with SSH traffic are terminated at the end of the session or after 10 minutes of inactivity, except to fulfill documented and validated mission requirements. @@ -9863,6 +9958,16 @@ Add the following line to the "/etc/pam.d/system-auth" file (or modify the line + + + The operating system must enable the SELinux targeted policy. + + + + + + + The operating system must use a separate file system for /var. @@ -9975,6 +10080,16 @@ Add the following line to the "/etc/pam.d/system-auth" file (or modify the line + + + The operating system user account passwords must be configured so that existing passwords are restricted to a 60-day maximum lifetime. + + + + + + + The operating system must be configured in the password-auth file to prohibit password reuse for a minimum of five generations. @@ -10002,6 +10117,16 @@ Add the following line to the "/etc/pam.d/system-auth" file (or modify the line + + + The operating system must prohibit the use of cached authentications after one day. + + + + + + + The operating system must display the date and time of the last successful account logon upon logon. @@ -10021,6 +10146,95 @@ Add the following line to the "/etc/pam.d/system-auth" file (or modify the line + + + The operating system must disable the asynchronous transfer mode (ATM) protocol. + + + + + + + + + + The operating system must disable the controller area network (CAN) protocol. + + + + + + + + + + The operating system must disable the stream control transmission protocol (SCTP). + + + + + + + + + + The operating system must disable the transparent inter-process communication (TIPC) protocol. + + + + + + + + + + The operating system must disable mounting of cramfs. + + + + + + + + + + The operating system must disable IEEE 1394 (FireWire) Support. + + + + + + + + + + The operating system must be configured to disable USB mass storage. + + + + + + + + + + The operating system Bluetooth must be disabled. + + + + + + + + + + The operating system pam_unix.so module must be configured in the system-auth file to use a FIPS 140-2 approved cryptographic hashing algorithm for system authentication. + + + + + + Systems below version 8.4 must ensure the password complexity module in the system-auth file is configured for three retries or less. @@ -10030,6 +10244,15 @@ Add the following line to the "/etc/pam.d/system-auth" file (or modify the line + + + The system must terminate idle user sessions. + + + + + + The system is RHEL 8.3 or lower @@ -10083,23 +10306,6 @@ Add the following line to the "/etc/pam.d/system-auth" file (or modify the line - - - RHEL-08-010020 - RHEL 8 must implement NIST FIPS-validated cryptography for the following: to provision digital signatures, to generate cryptographic hashes, and to protect data requiring data-at-rest protections in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards. - - Red Hat Enterprise Linux 8 - - Use of weak or untested encryption algorithms undermines the purposes of using encryption to protect data. The operating system must implement cryptographic modules adhering to the higher standards approved by the Federal Government since this provides assurance they have been tested and validated. - -RHEL 8 utilizes GRUB 2 as the default bootloader. Note that GRUB 2 command-line parameters are defined in the "kernelopts" variable of the /boot/grub2/grubenv file for all kernel boot entries. The command "fips-mode-setup" modifies the "kernelopts" variable, which in turn updates all kernel boot entries. - -The fips=1 kernel option needs to be added to the kernel command line during system installation so that key generation is done with FIPS-approved algorithms and continuous monitoring tests in place. Users must also ensure the system has plenty of entropy during the installation process by moving the mouse around, or if no mouse is available, ensuring that many keystrokes are typed. The recommended amount of keystrokes is 256 and more. Less than 256 keystrokes may generate a non-unique key. - - - - - - RHEL-08-010110 - RHEL 8 must encrypt all stored passwords with a FIPS 140-2 approved cryptographic hashing algorithm. @@ -10189,22 +10395,6 @@ Passwords need to be protected at all times, and encryption is the standard meth - - - RHEL-08-010160 - The RHEL 8 pam_unix.so module must be configured in the password-auth file to use a FIPS 140-2 approved cryptographic hashing algorithm for system authentication. - - Red Hat Enterprise Linux 8 - - Unapproved mechanisms that are used for authentication to the cryptographic module are not verified and therefore cannot be relied upon to provide confidentiality or integrity, and DoD data may be compromised. - -RHEL 8 systems utilizing encryption are required to use FIPS-compliant mechanisms for authenticating to cryptographic modules. - -FIPS 140-2 is the current standard for validating that mechanisms used to access cryptographic modules utilize authentication that meets DoD requirements. This allows for Security Levels 1, 2, 3, or 4 for use on a general-purpose computing system. - - - - - RHEL-08-010161 - RHEL 8 must prevent system daemons from using Kerberos for authentication. @@ -10642,20 +10832,6 @@ The sysctl --system command will load settings from all system configuration fil - - - RHEL-08-010450 - RHEL 8 must enable the SELinux targeted policy. - - Red Hat Enterprise Linux 8 - - Without verification of the security functions, security functions may not operate correctly and the failure may go unnoticed. Security function is defined as the hardware, software, and/or firmware of the information system responsible for enforcing the system security policy and supporting the isolation of code and data on which the protection is based. Security functionality includes, but is not limited to, establishing system accounts, configuring access authorizations (i.e., permissions, privileges), setting events to be audited, and setting intrusion detection parameters. - -This requirement applies to operating systems performing security function verification/testing and/or systems and environments that require this functionality. - - - - - RHEL-08-010460 - There must be no shosts.equiv files on the RHEL 8 operating system. @@ -11197,23 +11373,6 @@ From "faillock.conf" man pages: Note that the default directory that "pam_faillo - - - RHEL-08-020041 - RHEL 8 must ensure session control is automatically started at shell initialization. - - Red Hat Enterprise Linux 8 - - A session lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not want to log out because of the temporary nature of the absence. - -The session lock is implemented at the point where session activity can be determined. Rather than be forced to wait for a period of time to expire before the user session can be locked, RHEL 8 needs to provide users with the ability to manually invoke a session lock so users can secure their session if it is necessary to temporarily vacate the immediate physical vicinity. - -Tmux is a terminal multiplexer that enables a number of terminals to be created, accessed, and controlled from a single screen. Red Hat endorses tmux as the recommended session controlling package. - - - - - - RHEL-08-020042 - RHEL 8 must prevent users from disabling session control mechanisms. @@ -11267,21 +11426,6 @@ Tmux is a terminal multiplexer that enables a number of terminals to be created, - - - RHEL-08-020210 - RHEL 8 user account passwords must be configured so that existing passwords are restricted to a 60-day maximum lifetime. - - Red Hat Enterprise Linux 8 - - Any password, no matter how complex, can eventually be cracked. Therefore, passwords need to be changed periodically. If RHEL 8 does not limit the lifetime of passwords and force users to change their passwords, there is the risk that RHEL 8 passwords could be compromised. - - - - - - - - RHEL-08-020231 - RHEL 8 passwords for new users must have a minimum of 15 characters. @@ -12654,179 +12798,49 @@ If a privileged user were to log on using this service, the privileged user pass - + - RHEL-08-040021 - RHEL 8 must disable the asynchronous transfer mode (ATM) protocol. + RHEL-08-040060 - RHEL 8 must enforce SSHv2 for network access to all accounts. Red Hat Enterprise Linux 8 - It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. + A replay attack may enable an unauthorized user to gain access to RHEL 8. Authentication sessions between the authenticator and RHEL 8 validating the user credentials must not be vulnerable to a replay attack. -Failing to disconnect unused protocols can result in a system compromise. +An authentication process resists replay attacks if it is impractical to achieve a successful authentication by recording and replaying a previous authentication message. -The Asynchronous Transfer Mode (ATM) is a protocol operating on network, data link, and physical layers, based on virtual circuits and virtual paths. Disabling ATM protects the system against exploitation of any laws in its implementation. +A privileged account is any information system account with authorizations of a privileged user. + +Techniques used to address this include protocols using nonces (e.g., numbers generated for a specific one-time use) or challenges (e.g., TLS, WS_Security). Additional techniques include time-synchronous or challenge-response one-time authenticators. + +RHEL 8 incorporates OpenSSH as a default ssh provider. OpenSSH has been a 100 percent SSHv2 implementation since version 7.6 in late 2017 and dropped support of SSH protocol version 1. - - + + - + - RHEL-08-040022 - RHEL 8 must disable the controller area network (CAN) protocol. + RHEL-08-040120 - RHEL 8 must mount /dev/shm with the nodev option. Red Hat Enterprise Linux 8 - It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. + The organization must identify authorized software programs and permit execution of authorized software. The process used to identify software programs that are authorized to execute on organizational information systems is commonly referred to as whitelisting. -Failing to disconnect unused protocols can result in a system compromise. +The "noexec" mount option causes the system to not execute binary files. This option must be used for mounting any file system not containing approved binary files, as they may be incompatible. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access. -The Controller Area Network (CAN) is a serial communications protocol, which was initially developed for automotive and is now also used in marine, industrial, and medical applications. Disabling CAN protects the system against exploitation of any flaws in its implementation. +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. + +The "nosuid" mount option causes the system to not execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access. - - + + - + - RHEL-08-040023 - RHEL 8 must disable the stream control transmission (SCTP) protocol. - - Red Hat Enterprise Linux 8 - - It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. - -Failing to disconnect unused protocols can result in a system compromise. - -The Stream Control Transmission Protocol (SCTP) is a transport layer protocol, designed to support the idea of message-oriented communication, with several streams of messages within one connection. Disabling SCTP protects the system against exploitation of any flaws in its implementation. - - - - - - - - - RHEL-08-040024 - RHEL 8 must disable the transparent inter-process communication (TIPC) protocol. - - Red Hat Enterprise Linux 8 - - It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. - -Failing to disconnect unused protocols can result in a system compromise. - -The Transparent Inter-Process Communication (TIPC) protocol is designed to provide communications between nodes in a cluster. Disabling TIPC protects the system against exploitation of any flaws in its implementation. - - - - - - - - - RHEL-08-040025 - RHEL 8 must disable mounting of cramfs. - - Red Hat Enterprise Linux 8 - - It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. - -Removing support for unneeded filesystem types reduces the local attack surface of the server. - -Compressed ROM/RAM file system (or cramfs) is a read-only file system designed for simplicity and space-efficiency. It is mainly used in embedded and small-footprint systems. - - - - - - - - - RHEL-08-040026 - RHEL 8 must disable IEEE 1394 (FireWire) Support. - - Red Hat Enterprise Linux 8 - - It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. - -The IEEE 1394 (FireWire) is a serial bus standard for high-speed real-time communication. Disabling FireWire protects the system against exploitation of any flaws in its implementation. - - - - - - - - - RHEL-08-040060 - RHEL 8 must enforce SSHv2 for network access to all accounts. - - Red Hat Enterprise Linux 8 - - A replay attack may enable an unauthorized user to gain access to RHEL 8. Authentication sessions between the authenticator and RHEL 8 validating the user credentials must not be vulnerable to a replay attack. - -An authentication process resists replay attacks if it is impractical to achieve a successful authentication by recording and replaying a previous authentication message. - -A privileged account is any information system account with authorizations of a privileged user. - -Techniques used to address this include protocols using nonces (e.g., numbers generated for a specific one-time use) or challenges (e.g., TLS, WS_Security). Additional techniques include time-synchronous or challenge-response one-time authenticators. - -RHEL 8 incorporates OpenSSH as a default ssh provider. OpenSSH has been a 100 percent SSHv2 implementation since version 7.6 in late 2017 and dropped support of SSH protocol version 1. - - - - - - - - - RHEL-08-040080 - RHEL 8 must be configured to disable USB mass storage. - - Red Hat Enterprise Linux 8 - - USB mass storage permits easy introduction of unknown devices, thereby facilitating malicious activity. - - - - - - - - - RHEL-08-040111 - RHEL 8 Bluetooth must be disabled. - - Red Hat Enterprise Linux 8 - - Without protection of communications with wireless peripherals, confidentiality and integrity may be compromised because unprotected communications can be intercepted and either read, altered, or used to compromise the RHEL 8 operating system. - -This requirement applies to wireless peripheral technologies (e.g., wireless mice, keyboards, displays, etc.) used with RHEL 8 systems. Wireless peripherals (e.g., Wi-Fi/Bluetooth/IR Keyboards, Mice, and Pointing Devices and Near Field Communications [NFC]) present a unique challenge by creating an open, unsecured port on a computer. Wireless peripherals must meet DoD requirements for wireless data transmission and be approved for use by the Authorizing Official (AO). Even though some wireless peripherals, such as mice and pointing devices, do not ordinarily carry information that need to be protected, modification of communications with these wireless peripherals may be used to compromise the RHEL 8 operating system. Communication paths outside the physical protection of a controlled boundary are exposed to the possibility of interception and modification. - -Protecting the confidentiality and integrity of communications with wireless peripherals can be accomplished by physical means (e.g., employing physical barriers to wireless radio frequencies) or by logical means (e.g., employing cryptographic techniques). If physical means of protection are employed, then logical means (cryptography) do not have to be employed, and vice versa. If the wireless peripheral is only passing telemetry data, encryption of the data may not be required. - - - - - - - - - RHEL-08-040120 - RHEL 8 must mount /dev/shm with the nodev option. - - Red Hat Enterprise Linux 8 - - The organization must identify authorized software programs and permit execution of authorized software. The process used to identify software programs that are authorized to execute on organizational information systems is commonly referred to as whitelisting. - -The "noexec" mount option causes the system to not execute binary files. This option must be used for mounting any file system not containing approved binary files, as they may be incompatible. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access. - -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. - -The "nosuid" mount option causes the system to not execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access. - - - - - - - - - RHEL-08-040121 - RHEL 8 must mount /dev/shm with the nosuid option. + RHEL-08-040121 - RHEL 8 must mount /dev/shm with the nosuid option. Red Hat Enterprise Linux 8 @@ -13796,6 +13810,40 @@ Note: The life-cycle time spans and dates are subject to adjustment. + + + RHEL-08-010020 - RHEL 8 must implement NIST FIPS-validated cryptography for the following: to provision digital signatures, to generate cryptographic hashes, and to protect data requiring data-at-rest protections in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards. + + Red Hat Enterprise Linux 8 + + Use of weak or untested encryption algorithms undermines the purposes of using encryption to protect data. The operating system must implement cryptographic modules adhering to the higher standards approved by the Federal Government since this provides assurance they have been tested and validated. + +RHEL 8 utilizes GRUB 2 as the default bootloader. Note that GRUB 2 command-line parameters are defined in the "kernelopts" variable of the /boot/grub2/grubenv file for all kernel boot entries. The command "fips-mode-setup" modifies the "kernelopts" variable, which in turn updates all kernel boot entries. + +The fips=1 kernel option needs to be added to the kernel command line during system installation so that key generation is done with FIPS-approved algorithms and continuous monitoring tests in place. Users must also ensure the system has plenty of entropy during the installation process by moving the mouse around, or if no mouse is available, ensuring that many keystrokes are typed. The recommended amount of keystrokes is 256 and more. Less than 256 keystrokes may generate a non-unique key. + +Satisfies: SRG-OS-000033-GPOS-00014, SRG-OS-000125-GPOS-00065, SRG-OS-000396-GPOS-00176, SRG-OS-000423-GPOS-00187, SRG-OS-000478-GPOS-00223 + + + + + + + + RHEL-08-010160 - The RHEL 8 pam_unix.so module must be configured in the password-auth file to use a FIPS 140-2 approved cryptographic hashing algorithm for system authentication. + + Red Hat Enterprise Linux 8 + + Unapproved mechanisms that are used for authentication to the cryptographic module are not verified and therefore cannot be relied upon to provide confidentiality or integrity, and DoD data may be compromised. + +RHEL 8 systems utilizing encryption are required to use FIPS-compliant mechanisms for authenticating to cryptographic modules. + +FIPS 140-2 is the current standard for validating that mechanisms used to access cryptographic modules utilize authentication that meets DoD requirements. This allows for Security Levels 1, 2, 3, or 4 for use on a general-purpose computing system. + + + + + RHEL-08-010200 - RHEL 8 must be configured so that all network connections associated with SSH traffic are terminated at the end of the session or after 10 minutes of inactivity, except to fulfill documented and validated mission requirements. @@ -13844,6 +13892,20 @@ Verifying the authenticity of the software prior to installation validates the i + + + RHEL-08-010450 - RHEL 8 must enable the SELinux targeted policy. + + Red Hat Enterprise Linux 8 + + Without verification of the security functions, security functions may not operate correctly and the failure may go unnoticed. Security function is defined as the hardware, software, and/or firmware of the information system responsible for enforcing the system security policy and supporting the isolation of code and data on which the protection is based. Security functionality includes, but is not limited to, establishing system accounts, configuring access authorizations (i.e., permissions, privileges), setting events to be audited, and setting intrusion detection parameters. + +This requirement applies to operating systems performing security function verification/testing and/or systems and environments that require this functionality. + + + + + RHEL-08-010540 - RHEL 8 must use a separate file system for /var. @@ -14028,6 +14090,18 @@ RHEL 8 utilizes "pwquality" as a mechanism to enforce password complexity. The " + + + RHEL-08-020210 - RHEL 8 user account passwords must be configured so that existing passwords are restricted to a 60-day maximum lifetime. + + Red Hat Enterprise Linux 8 + + Any password, no matter how complex, can eventually be cracked. Therefore, passwords need to be changed periodically. If RHEL 8 does not limit the lifetime of passwords and force users to change their passwords, there is the risk that RHEL 8 passwords could be compromised. + + + + + RHEL-08-020220 - RHEL 8 must be configured in the password-auth file to prohibit password reuse for a minimum of five generations. @@ -14082,6 +14156,20 @@ RHEL 8 utilizes "pwquality" as a mechanism to enforce password complexity. Note + + + RHEL-08-020290 - RHEL 8 must prohibit the use of cached authentications after one day. + + Red Hat Enterprise Linux 8 + + If cached authentication information is out-of-date, the validity of the authentication information may be questionable. + +RHEL 8 includes multiple options for configuring authentication, but this requirement will be focus on the System Security Services Daemon (SSSD). By default sssd does not cache credentials. + + + + + RHEL-08-020340 - RHEL 8 must display the date and time of the last successful account logon upon logon. @@ -14110,6 +14198,146 @@ Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPO + + + RHEL-08-040021 - RHEL 8 must disable the asynchronous transfer mode (ATM) protocol. + + Red Hat Enterprise Linux 8 + + It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. + +Failing to disconnect unused protocols can result in a system compromise. + +The Asynchronous Transfer Mode (ATM) is a protocol operating on network, data link, and physical layers, based on virtual circuits and virtual paths. Disabling ATM protects the system against exploitation of any laws in its implementation. + + + + + + + + RHEL-08-040022 - RHEL 8 must disable the controller area network (CAN) protocol. + + Red Hat Enterprise Linux 8 + + It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. + +Failing to disconnect unused protocols can result in a system compromise. + +The Controller Area Network (CAN) is a serial communications protocol, which was initially developed for automotive and is now also used in marine, industrial, and medical applications. Disabling CAN protects the system against exploitation of any flaws in its implementation. + + + + + + + + RHEL-08-040023 - RHEL 8 must disable the stream control transmission protocol (SCTP). + + Red Hat Enterprise Linux 8 + + It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. + +Failing to disconnect unused protocols can result in a system compromise. + +The Stream Control Transmission Protocol (SCTP) is a transport layer protocol, designed to support the idea of message-oriented communication, with several streams of messages within one connection. Disabling SCTP protects the system against exploitation of any flaws in its implementation. + + + + + + + + RHEL-08-040024 - RHEL 8 must disable the transparent inter-process communication (TIPC) protocol. + + Red Hat Enterprise Linux 8 + + It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. + +Failing to disconnect unused protocols can result in a system compromise. + +The Transparent Inter-Process Communication (TIPC) protocol is designed to provide communications between nodes in a cluster. Disabling TIPC protects the system against exploitation of any flaws in its implementation. + + + + + + + + RHEL-08-040025 - RHEL 8 must disable mounting of cramfs. + + Red Hat Enterprise Linux 8 + + It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. + +Removing support for unneeded filesystem types reduces the local attack surface of the server. + +Compressed ROM/RAM file system (or cramfs) is a read-only file system designed for simplicity and space-efficiency. It is mainly used in embedded and small-footprint systems. + + + + + + + + RHEL-08-040026 - RHEL 8 must disable IEEE 1394 (FireWire) Support. + + Red Hat Enterprise Linux 8 + + It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. + +The IEEE 1394 (FireWire) is a serial bus standard for high-speed real-time communication. Disabling FireWire protects the system against exploitation of any flaws in its implementation. + + + + + + + + RHEL-08-040080 - RHEL 8 must be configured to disable USB mass storage. + + Red Hat Enterprise Linux 8 + + USB mass storage permits easy introduction of unknown devices, thereby facilitating malicious activity. + +Satisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163 + + + + + + + + RHEL-08-040111 - RHEL 8 Bluetooth must be disabled. + + Red Hat Enterprise Linux 8 + + Without protection of communications with wireless peripherals, confidentiality and integrity may be compromised because unprotected communications can be intercepted and either read, altered, or used to compromise the RHEL 8 operating system. + +This requirement applies to wireless peripheral technologies (e.g., wireless mice, keyboards, displays, etc.) used with RHEL 8 systems. Wireless peripherals (e.g., Wi-Fi/Bluetooth/IR Keyboards, Mice, and Pointing Devices and Near Field Communications [NFC]) present a unique challenge by creating an open, unsecured port on a computer. Wireless peripherals must meet DoD requirements for wireless data transmission and be approved for use by the Authorizing Official (AO). Even though some wireless peripherals, such as mice and pointing devices, do not ordinarily carry information that need to be protected, modification of communications with these wireless peripherals may be used to compromise the RHEL 8 operating system. Communication paths outside the physical protection of a controlled boundary are exposed to the possibility of interception and modification. + +Protecting the confidentiality and integrity of communications with wireless peripherals can be accomplished by physical means (e.g., employing physical barriers to wireless radio frequencies) or by logical means (e.g., employing cryptographic techniques). If physical means of protection are employed, then logical means (cryptography) do not have to be employed, and vice versa. If the wireless peripheral is only passing telemetry data, encryption of the data may not be required. + + + + + + + + RHEL-08-010159 - The RHEL 8 pam_unix.so module must be configured in the system-auth file to use a FIPS 140-2 approved cryptographic hashing algorithm for system authentication. + + Red Hat Enterprise Linux 8 + + Unapproved mechanisms that are used for authentication to the cryptographic module are not verified and therefore cannot be relied upon to provide confidentiality or integrity, and DoD data may be compromised. + +RHEL 8 systems utilizing encryption are required to use FIPS-compliant mechanisms for authenticating to cryptographic modules. + +FIPS 140-2 is the current standard for validating that mechanisms used to access cryptographic modules utilize authentication that meets DoD requirements. This allows for Security Levels 1, 2, 3, or 4 for use on a general-purpose computing system. + + + + + RHEL-08-020102 - RHEL 8 systems below version 8.4 must ensure the password complexity module in the system-auth file is configured for three retries or less. @@ -14128,6 +14356,18 @@ By limiting the number of attempts to meet the pwquality module complexity requi + + + RHEL-08-020035 - RHEL 8 must terminate idle user sessions. + + Red Hat Enterprise Linux 8 + + Terminating an idle session within a short time period reduces the window of opportunity for unauthorized personnel to take control of a management session enabled on the console or console port that has been left unattended. + + + + + @@ -14137,6 +14377,17 @@ By limiting the number of attempts to meet the pwquality module complexity requi + + + + + + + + + + + @@ -14145,6 +14396,10 @@ By limiting the number of attempts to meet the pwquality module complexity requi + + + + @@ -14210,20 +14465,86 @@ By limiting the number of attempts to meet the pwquality module complexity requi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -14252,14 +14573,6 @@ By limiting the number of attempts to meet the pwquality module complexity requi - - - - - - - - @@ -14300,9 +14613,6 @@ By limiting the number of attempts to meet the pwquality module complexity requi - - - @@ -14458,10 +14768,6 @@ By limiting the number of attempts to meet the pwquality module complexity requi - - - - @@ -14698,12 +15004,6 @@ By limiting the number of attempts to meet the pwquality module complexity requi - - - - - - @@ -14722,22 +15022,6 @@ By limiting the number of attempts to meet the pwquality module complexity requi - - - - - - - - - - - - - - - - @@ -15230,42 +15514,6 @@ By limiting the number of attempts to meet the pwquality module complexity requi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -15273,18 +15521,6 @@ By limiting the number of attempts to meet the pwquality module complexity requi - - - - - - - - - - - - @@ -15640,6 +15876,16 @@ By limiting the number of attempts to meet the pwquality module complexity requi + + + + + + + + + + @@ -15651,10 +15897,26 @@ By limiting the number of attempts to meet the pwquality module complexity requi ^\s*log_file\s*=\s*(\S+)\s*(?:#.*)?$ 1 - - /etc - os-release - ^\s*PRETTY_NAME="Red Hat Enterprise Linux 8\.(\d+)\b + + /etc + os-release + ^\s*PRETTY_NAME="Red Hat Enterprise Linux 8\.(\d+)\b + 1 + + + /proc/sys/crypto/fips_enabled + ^(\d+)$ + 1 + + + /boot/grub2/grubenv + ^\s*kernelopts=[^#]*fips=(\d+)\b + 1 + + + /etc/pam.d + password-auth + ^[ \t]*password[ \t]+sufficient[ \t]+pam_unix\.so(?:[ \t]+|(?:[ \t][^#\r\f\n]+[ \t]))sha512(?:[ \t]|$) 1 @@ -15667,6 +15929,11 @@ By limiting the number of attempts to meet the pwquality module complexity requi ^\s*localpkg_gpgcheck\s*=\s*(\w+)\b$ 1 + + /etc/selinux/config + ^\s*SELINUXTYPE\s*=\s*(\w+)\s*$ + 1 + /etc/fstab ^[^# \t]+\s+/var\s+ @@ -15893,6 +16160,43 @@ By limiting the number of attempts to meet the pwquality module complexity requi ^\s*ocredit\s*=\s*(-?\d*)\s*(?:#.*)?$ 1 + + + /etc/sssd/sssd.conf + ^\s*cache_credentials\s*=\s*true\b$ + 1 + + + /etc/sssd/sssd.conf + ^\s*offline_credentials_expiration\s*=\s*(\d*)\s*(?:#.*)?$ + 1 + + + + /etc/sssd/conf.d + ^.+\.conf$ + ^\s*cache_credentials\s*=\s*true\b$ + 1 + + + + /etc/sssd/conf.d + ^.+\.conf$ + ^\s*offline_credentials_expiration\s*=\s*(\d*)\s*(?:#.*)?$ + 1 + + + + oval:mil.disa.stig.ind:obj:23037600 + oval:mil.disa.stig.ind:obj:23037603 + + + + + oval:mil.disa.stig.ind:obj:23037602 + oval:mil.disa.stig.ind:obj:23037605 + + /etc/pam.d/postlogin ^\s*session\s+.+\s+pam_lastlog\.so\s+(?:\w+\s+)*showfailed\b\s*(?:\w+\b\s*)*\s*(?:#.*)?$ @@ -15903,14 +16207,125 @@ By limiting the number of attempts to meet the pwquality module complexity requi ^\s*session\s+.+\s+pam_lastlog\.so\s+(?:\w+\s+)*silent\b\s*(?:\w+\b\s*)*\s*(?:#.*)?$ 1 + + /etc/modprobe.d + .* + ^[ \t]*install[ \t]+atm[ \t]+/bin/false[ \t]*$ + 1 + + + /etc/modprobe.d + .* + ^[ \t]*blacklist[ \t]+atm[ \t]*$ + 1 + + + /etc/modprobe.d + .* + ^[ \t]*install[ \t]+can[ \t]+/bin/false[ \t]*$ + 1 + + + /etc/modprobe.d + .* + ^[ \t]*blacklist[ \t]+can[ \t]*$ + 1 + + + /etc/modprobe.d + .* + ^[ \t]*install[ \t]+sctp[ \t]+/bin/false[ \t]*$ + 1 + + + /etc/modprobe.d + .* + ^[ \t]*blacklist[ \t]+sctp[ \t]*$ + 1 + + + /etc/modprobe.d + .* + ^[ \t]*install[ \t]+tipc[ \t]+/bin/false[ \t]*$ + 1 + + + /etc/modprobe.d + .* + ^[ \t]*blacklist[ \t]+tipc[ \t]*$ + 1 + + + /etc/modprobe.d + .* + ^[ \t]*install[ \t]+cramfs[ \t]+/bin/false[ \t]*$ + 1 + + + /etc/modprobe.d + .* + ^[ \t]*blacklist[ \t]+cramfs[ \t]*$ + 1 + + + /etc/modprobe.d + .* + ^[ \t]*install[ \t]+firewire-core[ \t]+/bin/false[ \t]*$ + 1 + + + /etc/modprobe.d + .* + ^[ \t]*blacklist[ \t]+firewire-core[ \t]*$ + 1 + + + /etc/modprobe.d + .* + ^[ \t]*install[ \t]+usb-storage[ \t]+/bin/false[ \t]*$ + 1 + + + /etc/modprobe.d + .* + ^[ \t]*blacklist[ \t]+usb-storage[ \t]*$ + 1 + + + /etc/modprobe.d + .* + ^[ \t]*install[ \t]+bluetooth[ \t]+/bin/false[ \t]*$ + 1 + + + /etc/modprobe.d + .* + ^[ \t]*blacklist[ \t]+bluetooth[ \t]*$ + 1 + + + /etc/pam.d + system-auth + ^[ \t]*password[ \t]+sufficient[ \t]+pam_unix\.so(?:[ \t]+|(?:[ \t][^#\r\f\n]+[ \t]))sha512(?:[ \t]|$) + 1 + /etc/pam.d/system-auth ^[ \t]*password[ \t]+(?:(?:required)|(?:requisite))[ \t]+pam_pwquality\.so(?:[ \t]+|(?:[ \t][^#\r\f\n]+[ \t]+))retry=([0-9]+)(?:\s|$) 1 + + /etc/systemd + logind.conf + ^\s*StopIdleSessionSec\s*=\s*(-?\d*)\s*(?:#.*)?$ + 1 + redhat-release + + /sys/fs/selinux + /var @@ -15957,16 +16372,6 @@ By limiting the number of attempts to meet the pwquality module complexity requi ^\s*PRETTY_NAME="Red Hat Enterprise Linux 8\.(\d+)\b 1 - - /proc/sys/crypto/fips_enabled - ^(\d+)$ - 1 - - - /boot/grub2/grubenv - ^\s*kernelopts=[^#]*fips=(\d+)\b - 1 - /etc/login.defs ^\s*ENCRYPT_METHOD\s+([^#\r\n]*) @@ -16026,12 +16431,6 @@ By limiting the number of attempts to meet the pwquality module complexity requi ^\s*ExecStart=-\/usr\/lib\/systemd\/systemd-sulogin-shell\srescue$ 1 - - /etc/pam.d - password-auth - ^[ \t]*password[ \t]+sufficient[ \t]+pam_unix\.so(?:[ \t]+|(?:[ \t][^#\r\f\n]+[ \t]))sha512(?:[ \t]|$) - 1 - /etc \.keytab$ @@ -16244,11 +16643,6 @@ By limiting the number of attempts to meet the pwquality module complexity requi ^[ \t]*clean_requirements_on_remove[ \t]*=[ \t]*(?:True|1|yes)[ \t]*$ 1 - - /etc/selinux/config - ^\s*SELINUXTYPE\s*=\s*(\w+)\s*$ - 1 - / @@ -16551,16 +16945,6 @@ By limiting the number of attempts to meet the pwquality module complexity requi ^\s*even_deny_root\s*$ 1 - - /etc/profile.d - \.sh$ - ^\s*if\s+\[\s*"\$PS1"\s*\];\s+then\s+parent=\$\(ps\s+-o\s+ppid=\s+-p\s+\$\$\)\s+name=\$\(ps\s+-o\s+comm=\s+-p\s+\$parent\)\s+case\s+"\$name"\s+in\s+\(sshd\|login\)\s+tmux\s+;;\s+esac\s+fi\s*$ - 1 - - - ^(/usr/bin/)?tmux\b - 1 - /etc/shells @@ -16597,34 +16981,6 @@ By limiting the number of attempts to meet the pwquality module complexity requi ^\s*PASS_MAX_DAYS\s+(\d*) 1 - - /etc/shadow - ^[^:]*:[^:]*:[^:]*:[^:]*:(\d+): - 1 - oval:mil.disa.stig.rhel8:ste:20702 - oval:mil.disa.stig.rhel8:ste:20703 - - - .* - oval:mil.disa.stig.rhel8:ste:20400 - - - /etc/shadow - ^root:[^:]*:[^:]*:[^:]*:(\d+): - 1 - - - /etc/shadow - ^[^:]*:[^:]*:[^:]*:[^:]*:: - 1 - oval:mil.disa.stig.rhel8:ste:20702 - oval:mil.disa.stig.rhel8:ste:20703 - - - /etc/shadow - ^root:[^:]*:[^:]*:[^:]*:: - 1 - /etc/login.defs ^\s*PASS_MIN_LEN\s+(\d+)\s*$ @@ -17365,106 +17721,10 @@ By limiting the number of attempts to meet the pwquality module complexity requi rsh-server - - /etc/modprobe.d - .* - ^[ \t]*install[ \t]+atm[ \t]+/bin/true[ \t]*$ - 1 - - - /etc/modprobe.d - .* - ^[ \t]*blacklist[ \t]+atm[ \t]*$ - 1 - - - /etc/modprobe.d - .* - ^[ \t]*install[ \t]+can[ \t]+/bin/true[ \t]*$ - 1 - - - /etc/modprobe.d - .* - ^[ \t]*blacklist[ \t]+can[ \t]*$ - 1 - - - /etc/modprobe.d - .* - ^[ \t]*install[ \t]+sctp[ \t]+/bin/true[ \t]*$ - 1 - - - /etc/modprobe.d - .* - ^[ \t]*blacklist[ \t]+sctp[ \t]*$ - 1 - - - /etc/modprobe.d - .* - ^[ \t]*install[ \t]+tipc[ \t]+/bin/true[ \t]*$ - 1 - - - /etc/modprobe.d - .* - ^[ \t]*blacklist[ \t]+tipc[ \t]*$ - 1 - - - /etc/modprobe.d - .* - ^[ \t]*install[ \t]+cramfs[ \t]+/bin/true[ \t]*$ - 1 - - - /etc/modprobe.d - .* - ^[ \t]*blacklist[ \t]+cramfs[ \t]*$ - 1 - - - /etc/modprobe.d - .* - ^[ \t]*install[ \t]+firewire-core[ \t]+/bin/true[ \t]*$ - 1 - - - /etc/modprobe.d - .* - ^[ \t]*blacklist[ \t]+firewire-core[ \t]*$ - 1 - ^/usr/sbin/sshd\b 1 - - /etc/modprobe.d - .* - ^[ \t]*install[ \t]+usb-storage[ \t]+/bin/true[ \t]*$ - 1 - - - /etc/modprobe.d - .* - ^[ \t]*blacklist[ \t]+usb-storage[ \t]*$ - 1 - - - /etc/modprobe.d - .* - ^[ \t]*install[ \t]+bluetooth[ \t]+/bin/true[ \t]*$ - 1 - - - /etc/modprobe.d - .* - ^[ \t]*blacklist[ \t]+bluetooth[ \t]*$ - 1 - /dev/shm @@ -17977,6 +18237,18 @@ By limiting the number of attempts to meet the pwquality module complexity requi + + .+ + oval:mil.disa.stig.unix:ste:23036702 + + + .* + oval:mil.disa.stig.unix:ste:23036704 + oval:mil.disa.stig.unix:ste:23036703 + + + root + @@ -18006,6 +18278,9 @@ By limiting the number of attempts to meet the pwquality module complexity requi ^(True|1|yes)$ + + targeted + 10 @@ -18027,9 +18302,15 @@ By limiting the number of attempts to meet the pwquality module complexity requi 15 + + 900 + 8\.[0-3] + + selinuxfs + 2 @@ -18039,9 +18320,6 @@ By limiting the number of attempts to meet the pwquality module complexity requi 1 - - 1 - SHA512 @@ -18160,9 +18438,6 @@ By limiting the number of attempts to meet the pwquality module complexity requi 2 - - targeted - false false @@ -18278,18 +18553,6 @@ By limiting the number of attempts to meet the pwquality module complexity requi 60 - - 0 - - - 60 - - - - - - ^nobody - 15 @@ -18512,6 +18775,21 @@ By limiting the number of attempts to meet the pwquality module complexity requi false false + + 0 + + + 60 + + + + + + + + + 1000 + @@ -18525,6 +18803,18 @@ By limiting the number of attempts to meet the pwquality module complexity requi + + + ^ + + + + + 65534 + 65535 + 4294967294 + 4294967295 + /bin /sbin @@ -18563,12 +18853,6 @@ By limiting the number of attempts to meet the pwquality module complexity requi - - - ^ - - - @@ -18613,46 +18897,43 @@ By limiting the number of attempts to meet the pwquality module complexity requi - + repotool 5.10 - 2023-09-27T11:54:10 + 2023-12-27T16:41:10 - + RHEL 8 is installed - RHEL 8 + Red Hat Enterprise Linux 8 RHEL 8 is installed - + - - - - + + + + - - /etc - os-release - ^\s*CPE_NAME="cpe:/o:redhat:enterprise_linux:(\d+)\b - 1 - + + redhat-release + - - 8 - + + ^8\.\d+$ + diff --git a/shared/references/disa-stig-rhel8-v1r12-xccdf-manual.xml b/shared/references/disa-stig-rhel8-v1r13-xccdf-manual.xml similarity index 93% rename from shared/references/disa-stig-rhel8-v1r12-xccdf-manual.xml rename to shared/references/disa-stig-rhel8-v1r13-xccdf-manual.xml index dddc91097da..b9d25d9e9f8 100644 --- a/shared/references/disa-stig-rhel8-v1r12-xccdf-manual.xml +++ b/shared/references/disa-stig-rhel8-v1r13-xccdf-manual.xml @@ -1,7 +1,7 @@ -acceptedRed Hat Enterprise Linux 8 Security Technical Implementation GuideThis Security Technical Implementation Guide is published as a tool to improve the security of Department of Defense (DOD) information systems. The requirements are derived from the National Institute of Standards and Technology (NIST) 800-53 and related documents. Comments or proposed revisions to this document should be sent via email to the following address: disa.stig_spt@mail.mil.DISASTIG.DOD.MILRelease: 12 Benchmark Date: 25 Oct 20233.4.1.229161.10.01I - Mission Critical Classified<ProfileDescription></ProfileDescription>I - Mission Critical Sensitive<ProfileDescription></ProfileDescription>II - Mission Support Public<ProfileDescription></ProfileDescription>III - Administrative Classified<ProfileDescription></ProfileDescription>III - Administrative Sensitive<ProfileDescription></ProfileDescription>I - Mission Critical Public<ProfileDescription></ProfileDescription>II - Mission Support Classified<ProfileDescription></ProfileDescription>II - Mission Support Sensitive<ProfileDescription></ProfileDescription>III - Administrative Public<ProfileDescription></ProfileDescription>SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010000RHEL 8 must be a vendor-supported release.<VulnDiscussion>An operating system release is considered "supported" if the vendor continues to provide security patches for the product. With an unsupported release, it will not be possible to resolve security issues discovered in the system software. Red Hat offers the Extended Update Support (EUS) add-on to a Red Hat Enterprise Linux subscription, for a fee, for those customers who wish to standardize on a specific minor release for an extended period. The RHEL 8 minor releases eligible for EUS are 8.1, 8.2, 8.4, 8.6, and 8.8. Each RHEL 8 EUS stream is available for 24 months from the availability of the minor release. RHEL 8.10 will be the final minor release overall. For more details on the Red Hat Enterprise Linux Life Cycle visit https://access.redhat.com/support/policy/updates/errata/. -Note: The life-cycle time spans and dates are subject to adjustment.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Upgrade to a supported version of RHEL 8.Verify the version of the operating system is vendor supported. +Note: The life-cycle time spans and dates are subject to adjustment.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Upgrade to a supported version of RHEL 8.Verify the version of the operating system is vendor supported. Note: The lifecycle time spans and dates are subject to adjustment. @@ -29,7 +29,7 @@ Current End of Maintenance Support for RHEL 8.9 is 31 May 2024. Current End of Maintenance Support for RHEL 8.10 is 31 May 2029. -If the release is not supported by the vendor, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010010RHEL 8 vendor packaged system security patches and updates must be installed and up to date.<VulnDiscussion>Timely patching is critical for maintaining the operational availability, confidentiality, and integrity of information technology (IT) systems. However, failure to keep operating system and application software patched is a common mistake made by IT professionals. New patches are released daily, and it is often difficult for even experienced System Administrators to keep abreast of all the new patches. When new weaknesses in an operating system exist, patches are usually made available by the vendor to resolve the problems. If the most recent security patches and updates are not installed, unauthorized users may take advantage of weaknesses in the unpatched software. The lack of prompt attention to patching could result in a system compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Install the operating system patches or updated packages available from Red Hat within 30 days or sooner as local policy dictates.Verify the operating system security patches and updates are installed and up to date. Updates are required to be applied with a frequency determined by the site or Program Management Office (PMO). +If the release is not supported by the vendor, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010010RHEL 8 vendor packaged system security patches and updates must be installed and up to date.<VulnDiscussion>Timely patching is critical for maintaining the operational availability, confidentiality, and integrity of information technology (IT) systems. However, failure to keep operating system and application software patched is a common mistake made by IT professionals. New patches are released daily, and it is often difficult for even experienced System Administrators to keep abreast of all the new patches. When new weaknesses in an operating system exist, patches are usually made available by the vendor to resolve the problems. If the most recent security patches and updates are not installed, unauthorized users may take advantage of weaknesses in the unpatched software. The lack of prompt attention to patching could result in a system compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Install the operating system patches or updated packages available from Red Hat within 30 days or sooner as local policy dictates.Verify the operating system security patches and updates are installed and up to date. Updates are required to be applied with a frequency determined by the site or Program Management Office (PMO). Obtain the list of available package security updates from Red Hat. The URL for updates is https://rhn.redhat.com/errata/. 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. @@ -63,7 +63,7 @@ Enable FIPS mode after installation (not strict FIPS-compliant) with the followi $ sudo fips-mode-setup --enable -Reboot the system for the changes to take effect.Verify the operating system implements DOD-approved encryption to protect the confidentiality of remote access sessions. +Reboot the system for the changes to take effect.Verify the operating system implements DOD-approved encryption to protect the confidentiality of remote access sessions. Check to see if FIPS mode is enabled with the following command: @@ -86,7 +86,7 @@ Selection of a cryptographic mechanism is based on the need to protect the integ Satisfies: SRG-OS-000185-GPOS-00079, SRG-OS-000404-GPOS-00183, SRG-OS-000405-GPOS-00184</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001199Configure RHEL 8 to prevent unauthorized modification of all information at rest by using disk encryption. -Encrypting a partition in an already installed system is more difficult, because existing partitions will need to be resized and changed. To encrypt an entire partition, dedicate a partition for encryption in the partition layout.Verify RHEL 8 prevents unauthorized disclosure or modification of all information requiring at-rest protection by using disk encryption. +Encrypting a partition in an already installed system is more difficult, because existing partitions will need to be resized and changed. To encrypt an entire partition, dedicate a partition for encryption in the partition layout.Verify RHEL 8 prevents unauthorized disclosure or modification of all information requiring at-rest protection by using disk encryption. If there is a documented and approved reason for not having data-at-rest encryption at the operating system level, such as encryption provided by a hypervisor or a disk storage array in a virtualized environment, this requirement is not applicable. @@ -142,7 +142,7 @@ Either create the file containing the banner or replace the text in the file wit -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." -The SSH service must be restarted for changes to take effect.Verify any publicly accessible connection to the operating system displays the Standard Mandatory DoD Notice and Consent Banner before granting access to the system. +The SSH service must be restarted for changes to take effect.Verify any publicly accessible connection to the operating system displays the Standard Mandatory DoD Notice and Consent Banner before granting access to the system. Check for the location of the banner file being used with the following command: @@ -203,7 +203,7 @@ Note: The "\n " characters are for formatting only. They will not be displayed o Run the following command to update the database: -$ sudo dconf updateVerify RHEL 8 displays the Standard Mandatory DoD Notice and Consent Banner before granting access to the operating system via a graphical user logon. +$ sudo dconf updateVerify RHEL 8 displays the Standard Mandatory DoD Notice and Consent Banner before granting access to the operating system via a graphical user logon. Note: This requirement assumes the use of the RHEL 8 default graphical user interface, Gnome Shell. If the system does not have any graphical user interface installed, this requirement is Not Applicable. @@ -252,7 +252,7 @@ By using this IS (which includes any device attached to this IS), you consent to -This IS includes security measures (e.g., authentication and access controls) to protect USG interests -- not for your personal benefit or privacy. --Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details."Verify RHEL 8 displays the Standard Mandatory DoD Notice and Consent Banner before granting access to the operating system via a command line user logon. +-Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details."Verify RHEL 8 displays the Standard Mandatory DoD Notice and Consent Banner before granting access to the operating system via a command line user logon. Check that RHEL 8 displays a banner at the command line login screen with the following command: @@ -288,7 +288,7 @@ auth.*;authpriv.*;daemon.* /var/log/secure The "rsyslog" service must be restarted for the changes to take effect. To restart the "rsyslog" service, run the following command: -$ sudo systemctl restart rsyslog.serviceVerify that RHEL 8 monitors all remote access methods. +$ sudo systemctl restart rsyslog.serviceVerify that RHEL 8 monitors all remote access methods. Check that remote access methods are being logged by running the following command: @@ -308,7 +308,7 @@ Satisfies: SRG-OS-000066-GPOS-00034, SRG-OS-000384-GPOS-00167</VulnDiscussion Obtain a valid copy of the DoD root CA file from the PKI CA certificate bundle at cyber.mil and copy into the following file: -/etc/sssd/pki/sssd_auth_ca_db.pemVerify RHEL 8 for PKI-based authentication has valid certificates by constructing a certification path (which includes status information) to an accepted trust anchor. +/etc/sssd/pki/sssd_auth_ca_db.pemVerify RHEL 8 for PKI-based authentication has valid certificates by constructing a certification path (which includes status information) to an accepted trust anchor. Note: If the System Administrator demonstrates the use of an approved alternate multifactor authentication method, this requirement is not applicable. @@ -331,7 +331,7 @@ Certificate: If 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.SRG-OS-000067-GPOS-00035<GroupDescription></GroupDescription>RHEL-08-010100RHEL 8, for certificate-based authentication, must enforce authorized access to the corresponding private key.<VulnDiscussion>If an unauthorized user obtains access to a private key without a passcode, that user would have unauthorized access to any system where the associated public key has been installed.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000186Create a new private and public key pair that utilizes a passcode with the following command: -$ sudo ssh-keygen -n [passphrase]Verify the SSH private key files have a passcode. +$ sudo ssh-keygen -n [passphrase]Verify the SSH private key files have a passcode. For each private key stored on the system, use the following command: @@ -345,7 +345,7 @@ FIPS 140-2 is the current standard for validating that mechanisms used to access Edit/Modify the following line in the "/etc/login.defs" file and set "[ENCRYPT_METHOD]" to SHA512. -ENCRYPT_METHOD SHA512Verify that the shadow password suite configuration is set to encrypt password with a FIPS 140-2 approved cryptographic hashing algorithm. +ENCRYPT_METHOD SHA512Verify that the shadow password suite configuration is set to encrypt password with a FIPS 140-2 approved cryptographic hashing algorithm. Check the hashing algorithm that is being used to hash passwords with the following command: @@ -355,7 +355,7 @@ ENCRYPT_METHOD SHA512 If "ENCRYPT_METHOD" does not equal SHA512 or greater, this is a finding.SRG-OS-000073-GPOS-00041<GroupDescription></GroupDescription>RHEL-08-010120RHEL 8 must employ FIPS 140-2 approved cryptographic hashing algorithms for all stored passwords.<VulnDiscussion>The system must use a strong hashing algorithm to store the password. -Passwords need to be protected at all times, and encryption is the standard method for protecting passwords. If passwords are not encrypted, they can be plainly read (i.e., clear text) and easily compromised.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000196Lock all interactive user accounts not using SHA-512 hashing until the passwords can be regenerated with SHA-512.Confirm that the interactive user account passwords are using a strong password hash with the following command: +Passwords need to be protected at all times, and encryption is the standard method for protecting passwords. If passwords are not encrypted, they can be plainly read (i.e., clear text) and easily compromised.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000196Lock all interactive user accounts not using SHA-512 hashing until the passwords can be regenerated with SHA-512.Confirm that the interactive user account passwords are using a strong password hash with the following command: $ sudo cut -d: -f2 /etc/shadow @@ -367,7 +367,7 @@ Passwords need to be protected at all times, and encryption is the standard meth Edit/modify the following line in the "/etc/login.defs" file and set "SHA_CRYPT_MIN_ROUNDS" to a value no lower than "5000": -SHA_CRYPT_MIN_ROUNDS 5000Check that a minimum number of hash rounds is configured by running the following command: +SHA_CRYPT_MIN_ROUNDS 5000Check that a minimum number of hash rounds is configured by running the following command: $ sudo grep -E "^SHA_CRYPT_" /etc/login.defs @@ -379,7 +379,7 @@ Generate an encrypted grub2 password for the grub superusers account with the fo $ sudo grub2-setpassword Enter password: -Confirm password:For systems that use BIOS, this is Not Applicable. +Confirm password:For systems that use BIOS, this is Not Applicable. Check to see if an encrypted grub superusers password is set. On systems that use UEFI, use the following command: @@ -393,7 +393,7 @@ Generate an encrypted grub2 password for the grub superusers account with the fo $ sudo grub2-setpassword Enter password: -Confirm password:For systems that use UEFI, this is Not Applicable. +Confirm password:For systems that use UEFI, this is Not Applicable. Check to see if an encrypted grub superusers password is set. On systems that use a BIOS, use the following command: @@ -403,7 +403,7 @@ GRUB2_PASSWORD=grub.pbkdf2.sha512.[password_hash] If the grub superusers password does not begin with "grub.pbkdf2.sha512", this is a finding.SRG-OS-000080-GPOS-00048<GroupDescription></GroupDescription>RHEL-08-010151RHEL 8 operating systems must require authentication upon booting into rescue mode.<VulnDiscussion>If the system does not require valid root authentication before it boots into emergency or rescue mode, anyone who invokes emergency or rescue mode is granted privileged access to all files on the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000213Configure the system to require authentication upon booting into rescue mode by adding the following line to the "/usr/lib/systemd/system/rescue.service" file. -ExecStart=-/usr/lib/systemd/systemd-sulogin-shell rescueCheck to see if the system requires authentication for rescue mode with the following command: +ExecStart=-/usr/lib/systemd/systemd-sulogin-shell rescueCheck to see if the system requires authentication for rescue mode with the following command: $ sudo grep sulogin-shell /usr/lib/systemd/system/rescue.service @@ -417,7 +417,7 @@ FIPS 140-2 is the current standard for validating that mechanisms used to access Edit/modify the following line in the "/etc/pam.d/password-auth" file to include the sha512 option for pam_unix.so: -password sufficient pam_unix.so sha512Verify that the pam_unix.so module is configured to use sha512. +password sufficient pam_unix.so sha512Verify that the pam_unix.so module is configured to use sha512. Check that the pam_unix.so module is configured to use sha512 in /etc/pam.d/password-auth with the following command: @@ -433,7 +433,7 @@ The key derivation function (KDF) in Kerberos is not FIPS compatible. Ensuring FIPS 140-2 is the current standard for validating that mechanisms used to access cryptographic modules utilize authentication that meets DoD requirements. This allows for Security Levels 1, 2, 3, or 4 for use on a general-purpose computing system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000803Configure RHEL 8 to prevent system daemons from using Kerberos for authentication. -Remove any files with the .keytab extension from the operating system.Verify that RHEL 8 prevents system daemons from using Kerberos for authentication. +Remove any files with the .keytab extension from the operating system.Verify that RHEL 8 prevents system daemons from using Kerberos for authentication. If the system is a server utilizing krb5-server-1.17-18.el8.x86_64 or newer, this requirement is not applicable. If the system is a workstation utilizing krb5-workstation-1.17-18.el8.x86_64 or newer, this requirement is not applicable. @@ -450,7 +450,7 @@ Currently, Kerberos does not utilize FIPS 140-2 cryptography. FIPS 140-2 is the current standard for validating that mechanisms used to access cryptographic modules utilize authentication that meets DoD requirements. This allows for Security Levels 1, 2, 3, or 4 for use on a general-purpose computing system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000803Document the krb5-workstation package with the ISSO as an operational requirement or remove it from the system with the following command: -$ sudo yum remove krb5-workstationVerify the krb5-workstation package has not been installed on the system with the following commands: +$ sudo yum remove krb5-workstationVerify the krb5-workstation package has not been installed on the system with the following commands: If the system is a server or is utilizing krb5-workstation-1.17-18.el8.x86_64 or newer, this is Not Applicable. @@ -466,7 +466,7 @@ Set the "SELinux" status and the "Enforcing" mode by modifying the "/etc/selinux SELINUX=enforcing -A reboot is required for the changes to take effect.Verify the operating system verifies correct operation of all security functions. +A reboot is required for the changes to take effect.Verify the operating system verifies correct operation of all security functions. Check if "SELinux" is active and in "Enforcing" mode with the following command: @@ -477,7 +477,7 @@ If "SELinux" is not active and not in "Enforcing" mode, this is a finding.DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001084Configure the operating system to have the policycoreutils package installed with the following command: -$ sudo yum install policycoreutilsVerify the operating system has the policycoreutils package installed with the following command: +$ sudo yum install policycoreutilsVerify the operating system has the policycoreutils package installed with the following command: $ sudo yum list installed policycoreutils @@ -491,7 +491,7 @@ There may be shared resources with configurable protections (e.g., files in stor Set the sticky bit on all world-writable directories using the command, replace "[World-Writable Directory]" with any directory path missing the sticky bit: -$ sudo chmod 1777 [World-Writable Directory]Verify that all world-writable directories have the sticky bit set. +$ sudo chmod 1777 [World-Writable Directory]Verify that all world-writable directories have the sticky bit set. Check to see that all world-writable directories have the sticky bit set by running the following command: @@ -515,7 +515,7 @@ Modify or append the following lines in the "/etc/ssh/sshd_config" file: For the changes to take effect, the SSH daemon must be restarted: - $ sudo systemctl restart sshd.serviceVerify the SSH server automatically terminates a user session after the SSH client has become unresponsive. + $ sudo systemctl restart sshd.serviceVerify the SSH server automatically terminates a user session after the SSH client has become unresponsive. Check that the "ClientAliveCountMax" is set to "1" by performing the following command: @@ -529,7 +529,7 @@ If conflicting results are returned, this is a finding.< The structure and content of error messages must be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001314Change the permissions of the file "/var/log/messages" to "0640" by running the following command: -$ sudo chmod 0640 /var/log/messagesVerify that the "/var/log/messages" file has mode "0640" or less permissive with the following command: +$ sudo chmod 0640 /var/log/messagesVerify that the "/var/log/messages" file has mode "0640" or less permissive with the following command: $ sudo stat -c "%a %n" /var/log/messages @@ -539,7 +539,7 @@ If a value of "0640" or less permissive is not returned, this is a finding.DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001314Change the owner of the file /var/log/messages to root by running the following command: -$ sudo chown root /var/log/messagesVerify that the /var/log/messages file is owned by root with the following command: +$ sudo chown root /var/log/messagesVerify that the /var/log/messages file is owned by root with the following command: $ sudo stat -c "%U" /var/log/messages @@ -549,7 +549,7 @@ If "root" is not returned as a result, this is a finding.DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001314Change the group of the file "/var/log/messages" to "root" by running the following command: -$ sudo chgrp root /var/log/messagesVerify the "/var/log/messages" file is group-owned by root with the following command: +$ sudo chgrp root /var/log/messagesVerify the "/var/log/messages" file is group-owned by root with the following command: $ sudo stat -c "%G" /var/log/messages @@ -559,7 +559,7 @@ If "root" is not returned as a result, this is a finding.DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001314Change the permissions of the directory "/var/log" to "0755" by running the following command: -$ sudo chmod 0755 /var/logVerify that the "/var/log" directory has a mode of "0755" or less with the following command: +$ sudo chmod 0755 /var/logVerify that the "/var/log" directory has a mode of "0755" or less with the following command: $ sudo stat -c "%a %n" /var/log @@ -569,7 +569,7 @@ If a value of "0755" or less permissive is not returned, this is a finding.DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001314Change the owner of the directory /var/log to root by running the following command: -$ sudo chown root /var/logVerify the /var/log directory is owned by root with the following command: +$ sudo chown root /var/logVerify the /var/log directory is owned by root with the following command: $ sudo stat -c "%U" /var/log @@ -579,7 +579,7 @@ If "root" is not returned as a result, this is a finding.DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001314Change the group of the directory "/var/log" to "root" by running the following command: -$ sudo chgrp root /var/logVerify the "/var/log" directory is group-owned by root with the following command: +$ sudo chgrp root /var/logVerify the "/var/log" directory is group-owned by root with the following command: $ sudo stat -c "%G" /var/log @@ -599,7 +599,7 @@ Satisfies: SRG-OS-000250-GPOS-00093, SRG-OS-000393-GPOS-00173, SRG-OS-000394-GPO -oMACS=hmac-sha2-512,hmac-sha2-256,hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com -A reboot is required for the changes to take effect.Verify the SSH server is configured to use only MACs employing FIPS 140-2-approved algorithms with the following command: +A reboot is required for the changes to take effect.Verify the SSH server is configured to use only MACs employing FIPS 140-2-approved algorithms with the following command: $ sudo grep -i macs /etc/crypto-policies/back-ends/opensshserver.config @@ -619,7 +619,7 @@ Satisfies: SRG-OS-000250-GPOS-00093, SRG-OS-000393-GPOS-00173, SRG-OS-000394-GPO -oCiphers=aes256-ctr,aes192-ctr,aes128-ctr,aes256-gcm@openssh.com,aes128-gcm@openssh.com -A reboot is required for the changes to take effect.Verify the SSH server is configured to use only ciphers employing FIPS 140-2-approved algorithms with the following command: +A reboot is required for the changes to take effect.Verify the SSH server is configured to use only ciphers employing FIPS 140-2-approved algorithms with the following command: $ sudo grep -i ciphers /etc/crypto-policies/back-ends/opensshserver.config @@ -633,7 +633,7 @@ Add or modify the following line in the "/etc/sysconfig/sshd" file. SSH_USE_STRONG_RNG=32 -The SSH service must be restarted for changes to take effect.Verify the operating system SSH server uses strong entropy with the following command: +The SSH service must be restarted for changes to take effect.Verify the operating system SSH server uses strong entropy with the following command: Note: If the operating system is RHEL versions 8.0 or 8.1, this requirement is not applicable. @@ -653,7 +653,7 @@ Satisfies: SRG-OS-000250-GPOS-00093, SRG-OS-000393-GPOS-00173, SRG-OS-000394-GPO $ sudo fips-mode-setup --enable -A reboot is required for the changes to take effect.Verify the OpenSSL library is configured to use only ciphers employing FIPS 140-2-approved algorithms: +A reboot is required for the changes to take effect.Verify the OpenSSL library is configured to use only ciphers employing FIPS 140-2-approved algorithms: Verify that system-wide crypto policies are in effect: @@ -685,7 +685,7 @@ MinProtocol = TLSv1.2 For version crypto-policies-20210617-1.gitc776d3e.el8.noarch and newer: TLS.MinProtocol = TLSv1.2 DTLS.MinProtocol = DTLSv1.2 -A reboot is required for the changes to take effect.Verify the OpenSSL library is configured to use only DoD-approved TLS encryption: +A reboot is required for the changes to take effect.Verify the OpenSSL library is configured to use only DoD-approved TLS encryption: For versions prior to crypto-policies-20210617-1.gitc776d3e.el8.noarch: @@ -714,7 +714,7 @@ Satisfies: SRG-OS-000250-GPOS-00093, SRG-OS-000423-GPOS-00187</VulnDiscussion +VERS-ALL:-VERS-DTLS0.9:-VERS-SSL3.0:-VERS-TLS1.0:-VERS-TLS1.1:-VERS-DTLS1.0 -A reboot is required for the changes to take effect.Verify the GnuTLS library is configured to only allow DoD-approved SSL/TLS Versions: +A reboot is required for the changes to take effect.Verify the GnuTLS library is configured to only allow DoD-approved SSL/TLS Versions: $ sudo grep -io +vers.* /etc/crypto-policies/back-ends/gnutls.config @@ -726,7 +726,7 @@ This requirement applies to RHEL 8 with software libraries that are accessible a Run the following command, replacing "[FILE]" with any system command with a mode more permissive than "755". -$ sudo chmod 755 [FILE]Verify the system commands contained in the following directories have mode "755" or less permissive with the following command: +$ sudo chmod 755 [FILE]Verify the system commands contained in the following directories have mode "755" or less permissive with the following command: $ sudo find -L /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin -perm /022 -exec ls -l {} \; @@ -736,7 +736,7 @@ This requirement applies to RHEL 8 with software libraries that are accessible a Run the following command, replacing "[FILE]" with any system command file not owned by "root". -$ sudo chown root [FILE]Verify the system commands contained in the following directories are owned by "root" with the following command: +$ sudo chown root [FILE]Verify the system commands contained in the following directories are owned by "root" with the following command: $ sudo find -L /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin ! -user root -exec ls -l {} \; @@ -746,7 +746,7 @@ This requirement applies to RHEL 8 with software libraries that are accessible a Run the following command, replacing "[FILE]" with any system command file not group-owned by "root" or a required system account. -$ sudo chgrp root [FILE]Verify the system commands contained in the following directories are group-owned by "root", or a required system account, with the following command: +$ sudo chgrp root [FILE]Verify the system commands contained in the following directories are group-owned by "root", or a required system account, with the following command: $ sudo find -L /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin ! -group root -exec ls -l {} \; @@ -754,7 +754,7 @@ If any system commands are returned and is not group-owned by a required system This requirement applies to RHEL 8 with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libraries also include privileged programs that execute with escalated privileges. Only qualified and authorized individuals will be allowed to obtain access to information system components for purposes of initiating changes, including upgrades and modifications.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001499Configure the library files to be protected from unauthorized access. Run the following command, replacing "[FILE]" with any library file with a mode more permissive than 755. -$ sudo chmod 755 [FILE]Verify the system-wide shared library files contained in the following directories have mode "755" or less permissive with the following command: +$ sudo chmod 755 [FILE]Verify the system-wide shared library files contained in the following directories have mode "755" or less permissive with the following command: $ sudo find -L /lib /lib64 /usr/lib /usr/lib64 -perm /022 -type f -exec ls -l {} \; @@ -764,7 +764,7 @@ This requirement applies to RHEL 8 with software libraries that are accessible a Run the following command, replacing "[FILE]" with any library file not owned by "root". -$ sudo chown root [FILE]Verify the system-wide shared library files are owned by "root" with the following command: +$ sudo chown root [FILE]Verify the system-wide shared library files are owned by "root" with the following command: $ sudo find -L /lib /lib64 /usr/lib /usr/lib64 ! -user root -exec ls -l {} \; @@ -774,7 +774,7 @@ This requirement applies to RHEL 8 with software libraries that are accessible a Run the following command, replacing "[FILE]" with any library file not group-owned by "root". -$ sudo chgrp root [FILE]Verify the system-wide shared library files are group-owned by "root" with the following command: +$ sudo chgrp root [FILE]Verify the system-wide shared library files are group-owned by "root" with the following command: $ sudo find -L /lib /lib64 /usr/lib /usr/lib64 ! -group root -exec ls -l {} \; @@ -798,7 +798,7 @@ The following example output is generic. It will set cron to run AIDE daily and /usr/sbin/aide --check | /bin/mail -s "$HOSTNAME - Daily AIDE integrity check run" root@example_server_name.mil -Note: Per requirement RHEL-08-010358, the "mailx" package must be installed on the system to enable email functionality.Verify the operating system routinely checks the baseline configuration for unauthorized changes and notifies the system administrator when anomalies in the operation of any security functions are discovered. +Note: Per requirement RHEL-08-010358, the "mailx" package must be installed on the system to enable email functionality.Verify the operating system routinely checks the baseline configuration for unauthorized changes and notifies the system administrator when anomalies in the operation of any security functions are discovered. Check that RHEL 8 routinely executes a file integrity scan for changes to the system baseline. The command used in the example will use a daily occurrence. @@ -824,7 +824,7 @@ Accordingly, patches, service packs, device drivers, or operating system compone Verifying 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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001749Configure the operating system to verify the signature of packages from a repository prior to install by setting the following option in the "/etc/yum.repos.d/[your_repo_name].repo" file: - gpgcheck=1Verify the operating system prevents the installation of patches, service packs, device drivers, or operating system components from a repository without verification that they have been digitally signed using a certificate that is recognized and approved by the organization. + gpgcheck=1Verify the operating system prevents the installation of patches, service packs, device drivers, or operating system components from a repository without verification that they have been digitally signed using a certificate that is recognized and approved by the organization. Check that YUM verifies the signature of packages from a repository prior to install with the following command: @@ -845,7 +845,7 @@ Verifying the authenticity of the software prior to installation validates the i Set the "localpkg_gpgcheck" option to "True" in the "/etc/dnf/dnf.conf" file: -localpkg_gpgcheck=TrueVerify the operating system prevents the installation of patches, service packs, device drivers, or operating system components from a repository without verification that they have been digitally signed using a certificate that is recognized and approved by the organization. +localpkg_gpgcheck=TrueVerify the operating system prevents the installation of patches, service packs, device drivers, or operating system components from a repository without verification that they have been digitally signed using a certificate that is recognized and approved by the organization. Check if YUM is configured to perform a signature check on local packages with the following command: @@ -879,7 +879,7 @@ Remove any configurations that conflict with the above from the following locati Load settings from all system configuration files with the following command: -$ sudo sysctl --systemVerify the operating system is configured to disable kernel image loading with the following commands: +$ sudo sysctl --systemVerify the operating system is configured to disable kernel image loading with the following commands: Check the status of the kernel.kexec_load_disabled kernel parameter. @@ -927,7 +927,7 @@ Remove any configurations that conflict with the above from the following locati Load settings from all system configuration files with the following command: -$ sudo sysctl --systemVerify the operating system is configured to enable DAC on symlinks with the following commands: +$ sudo sysctl --systemVerify the operating system is configured to enable DAC on symlinks with the following commands: Check the status of the fs.protected_symlinks kernel parameter. @@ -975,7 +975,7 @@ Remove any configurations that conflict with the above from the following locati Load settings from all system configuration files with the following command: -$ sudo sysctl --systemVerify the operating system is configured to enable DAC on hardlinks with the following commands: +$ sudo sysctl --systemVerify the operating system is configured to enable DAC on hardlinks with the following commands: Check the status of the fs.protected_hardlinks kernel parameter. @@ -1023,7 +1023,7 @@ Remove any configurations that conflict with the above from the following locati Load settings from all system configuration files with the following command: -$ sudo sysctl --systemVerify the operating system is configured to restrict access to the kernel message buffer with the following commands: +$ sudo sysctl --systemVerify the operating system is configured to restrict access to the kernel message buffer with the following commands: Check the status of the kernel.dmesg_restrict kernel parameter. @@ -1071,7 +1071,7 @@ Remove any configurations that conflict with the above from the following locati Load settings from all system configuration files with the following command: -$ sudo sysctl --systemVerify the operating system is configured to prevent kernel profiling by unprivileged users with the following commands: +$ sudo sysctl --systemVerify the operating system is configured to prevent kernel profiling by unprivileged users with the following commands: Check the status of the kernel.perf_event_paranoid kernel parameter. @@ -1093,7 +1093,7 @@ If conflicting results are returned, this is a finding.< When operating systems provide the capability to escalate a functional capability, it is critical the user reauthenticate. -Satisfies: SRG-OS-000373-GPOS-00156, SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPOS-00158</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-002038Remove any occurrence of "NOPASSWD" found in "/etc/sudoers" file or files in the "/etc/sudoers.d" directory.Verify that "/etc/sudoers" has no occurrences of "NOPASSWD". +Satisfies: SRG-OS-000373-GPOS-00156, SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPOS-00158</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-002038Remove any occurrence of "NOPASSWD" found in "/etc/sudoers" file or files in the "/etc/sudoers.d" directory.Verify that "/etc/sudoers" has no occurrences of "NOPASSWD". Check that the "/etc/sudoers" file has no occurrences of "NOPASSWD" by running the following command: @@ -1105,7 +1105,7 @@ If any occurrences of "NOPASSWD" are returned from the command and have not been When operating systems provide the capability to escalate a functional capability, it is critical the user reauthenticate. -Satisfies: SRG-OS-000373-GPOS-00156, SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPOS-00158</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-002038Remove any occurrence of "!authenticate" found in "/etc/sudoers" file or files in the "/etc/sudoers.d" directory.Verify that "/etc/sudoers" has no occurrences of "!authenticate". +Satisfies: SRG-OS-000373-GPOS-00156, SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPOS-00158</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-002038Remove any occurrence of "!authenticate" found in "/etc/sudoers" file or files in the "/etc/sudoers.d" directory.Verify that "/etc/sudoers" has no occurrences of "!authenticate". Check that the "/etc/sudoers" file has no occurrences of "!authenticate" by running the following command: @@ -1121,7 +1121,7 @@ Remote access is access to DoD nonpublic information systems by an authorized us This requirement only applies to components where this is specific to the function of the device or has the concept of an organizational user (e.g., VPN, proxy capability). This does not apply to authentication for the purpose of configuring the device itself (management).</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001948Configure the operating system to implement multifactor authentication by installing the required package with the following command: -$ sudo yum install openssl-pkcs11Verify the operating system has the packages required for multifactor authentication installed with the following commands: +$ sudo yum install openssl-pkcs11Verify the operating system has the packages required for multifactor authentication installed with the following commands: $ sudo yum list installed openssl-pkcs11 @@ -1143,7 +1143,7 @@ certificate_verification = ocsp_dgst=sha1 The "sssd" service must be restarted for the changes to take effect. To restart the "sssd" service, run the following command: -$ sudo systemctl restart sssd.serviceVerify the operating system implements certificate status checking for multifactor authentication. +$ sudo systemctl restart sssd.serviceVerify the operating system implements certificate status checking for multifactor authentication. Note: If the System Administrator demonstrates the use of an approved alternate multifactor authentication method, this requirement is not applicable. @@ -1159,7 +1159,7 @@ The DoD has mandated the use of the Common Access Card (CAC) to support identity Install the "opensc" package using the following command: -$ sudo yum install openscVerify RHEL 8 accepts PIV credentials. +$ sudo yum install openscVerify RHEL 8 accepts PIV credentials. Check that the "opensc" package is installed on the system with the following command: @@ -1175,7 +1175,7 @@ $ sudo opensc-tool --list-drivers | grep -i piv If the "opensc" package is not installed and the "opensc-tool" driver list does not include "PIV-II", this is a finding.SRG-OS-000433-GPOS-00192<GroupDescription></GroupDescription>RHEL-08-010420RHEL 8 must implement non-executable data to protect its memory from unauthorized code execution.<VulnDiscussion>Some 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. -Examples of attacks are buffer overflow attacks.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-002824The NX bit execute protection must be enabled in the system BIOS.Verify the NX (no-execution) bit flag is set on the system. +Examples of attacks are buffer overflow attacks.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-002824The NX bit execute protection must be enabled in the system BIOS.Verify the NX (no-execution) bit flag is set on the system. Check that the no-execution bit flag is set with the following commands: @@ -1198,7 +1198,7 @@ $ sudo grubby --update-kernel=ALL --args="page_poison=1" Add or modify the following line in "/etc/default/grub" to ensure the configuration survives kernel updates: -GRUB_CMDLINE_LINUX="page_poison=1"Verify that GRUB 2 is configured to enable page poisoning to mitigate use-after-free vulnerabilities with the following commands: +GRUB_CMDLINE_LINUX="page_poison=1"Verify that GRUB 2 is configured to enable page poisoning to mitigate use-after-free vulnerabilities with the following commands: Check that the current GRUB 2 configuration has page poisoning enabled: @@ -1224,7 +1224,7 @@ $ sudo grubby --update-kernel=ALL --args="vsyscall=none" Add or modify the following line in "/etc/default/grub" to ensure the configuration survives kernel updates: -GRUB_CMDLINE_LINUX="vsyscall=none"Verify that GRUB 2 is configured to disable vsyscalls with the following commands: +GRUB_CMDLINE_LINUX="vsyscall=none"Verify that GRUB 2 is configured to disable vsyscalls with the following commands: Check that the current GRUB 2 configuration disables vsyscalls: @@ -1252,7 +1252,7 @@ $ sudo grubby --update-kernel=ALL --args="slub_debug=P" Add or modify the following line in "/etc/default/grub" to ensure the configuration survives kernel updates: -GRUB_CMDLINE_LINUX="slub_debug=P"Verify that GRUB 2 is configured to enable poisoning of SLUB/SLAB objects to mitigate use-after-free vulnerabilities with the following commands: +GRUB_CMDLINE_LINUX="slub_debug=P"Verify that GRUB 2 is configured to enable poisoning of SLUB/SLAB objects to mitigate use-after-free vulnerabilities with the following commands: Check that the current GRUB 2 configuration has poisoning of SLUB/SLAB objects enabled: @@ -1294,7 +1294,7 @@ Remove any configurations that conflict with the above from the following locati Issue the following command to make the changes take effect: -$ sudo sysctl --systemVerify RHEL 8 implements ASLR with the following command: +$ sudo sysctl --systemVerify RHEL 8 implements ASLR with the following command: $ sudo sysctl kernel.randomize_va_space @@ -1314,7 +1314,7 @@ If conflicting results are returned, this is a finding.< Set the "clean_requirements_on_remove" option to "True" in the "/etc/dnf/dnf.conf" file: -clean_requirements_on_remove=TrueVerify the operating system removes all software components after updated versions have been installed. +clean_requirements_on_remove=TrueVerify the operating system removes all software components after updated versions have been installed. Check if YUM is configured to remove unneeded packages with the following command: @@ -1330,7 +1330,7 @@ Set the "SELinuxtype" to the "targeted" policy by modifying the "/etc/selinux/co SELINUXTYPE=targeted -A reboot is required for the changes to take effect.Ensure the operating system verifies correct operation of all security functions. +A reboot is required for the changes to take effect.Ensure the operating system verifies correct operation of all security functions. Check if "SELinux" is active and is enforcing the targeted policy with the following command: @@ -1357,13 +1357,13 @@ SELINUXTYPE = targeted If no results are returned or "SELINUXTYPE" is not set to "targeted", this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010460There must be no shosts.equiv files on the RHEL 8 operating system.<VulnDiscussion>The "shosts.equiv" files are used to configure host-based authentication for the system via SSH. Host-based authentication is not sufficient for preventing unauthorized access to the system, as it does not require interactive identification and authentication of a connection request, or for the use of two-factor authentication.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Remove any found "shosts.equiv" files from the system. -$ sudo rm /etc/ssh/shosts.equivVerify there are no "shosts.equiv" files on RHEL 8 with the following command: +$ sudo rm /etc/ssh/shosts.equivVerify there are no "shosts.equiv" files on RHEL 8 with the following command: $ sudo find / -name shosts.equiv If a "shosts.equiv" file is found, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010470There must be no .shosts files on the RHEL 8 operating system.<VulnDiscussion>The ".shosts" files are used to configure host-based authentication for individual users or the system via SSH. Host-based authentication is not sufficient for preventing unauthorized access to the system, as it does not require interactive identification and authentication of a connection request, or for the use of two-factor authentication.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Remove any found ".shosts" files from the system. -$ sudo rm /[path]/[to]/[file]/.shostsVerify there are no ".shosts" files on RHEL 8 with the following command: +$ sudo rm /[path]/[to]/[file]/.shostsVerify there are no ".shosts" files on RHEL 8 with the following command: $ sudo find / -name '*.shosts' @@ -1373,7 +1373,7 @@ The rngd service feeds random data from hardware device to kernel random device. $ sudo systemctl start rngd.service - $ sudo systemctl enable rngd.serviceNote: For RHEL versions 8.4 and above running with kernel FIPS mode enabled as specified by RHEL-08-010020, this requirement is Not Applicable. + $ sudo systemctl enable rngd.serviceNote: For RHEL versions 8.4 and above running with kernel FIPS mode enabled as specified by RHEL-08-010020, this requirement is Not Applicable. Check that RHEL 8 has enabled the hardware random number generator entropy gatherer service. @@ -1391,7 +1391,7 @@ $ sudo chmod 0644 /etc/ssh/*key.pub The SSH daemon must be restarted for the changes to take effect. To restart the SSH daemon, run the following command: -$ sudo systemctl restart sshd.serviceVerify the SSH public host key files have mode "0644" or less permissive with the following command: +$ sudo systemctl restart sshd.serviceVerify the SSH public host key files have mode "0644" or less permissive with the following command: $ sudo ls -l /etc/ssh/*.pub @@ -1407,7 +1407,7 @@ Note: SSH public key files may be found in other directories on the system depen The SSH daemon must be restarted for the changes to take effect. To restart the SSH daemon, run the following command: - $ sudo systemctl restart sshd.serviceVerify the SSH private host key files have mode "0640" or less permissive with the following command: + $ sudo systemctl restart sshd.serviceVerify the SSH private host key files have mode "0640" or less permissive with the following command: $ sudo ls -l /etc/ssh/ssh_host*key @@ -1421,7 +1421,7 @@ StrictModes yes The SSH daemon must be restarted for the changes to take effect. To restart the SSH daemon, run the following command: -$ sudo systemctl restart sshd.serviceVerify the SSH daemon performs strict mode checking of home directory configuration files with the following command: +$ sudo systemctl restart sshd.serviceVerify the SSH daemon performs strict mode checking of home directory configuration files with the following command: $ sudo grep -ir strictmodes /etc/ssh/sshd_config* @@ -1436,7 +1436,7 @@ IgnoreUserKnownHosts yes The SSH daemon must be restarted for the changes to take effect. To restart the SSH daemon, run the following command: -$ sudo systemctl restart sshd.serviceVerify the SSH daemon does not allow authentication using known host’s authentication with the following command: +$ sudo systemctl restart sshd.serviceVerify the SSH daemon does not allow authentication using known host’s authentication with the following command: $ sudo grep -ir IgnoreUserKnownHosts /etc/ssh/sshd_config* @@ -1451,14 +1451,14 @@ KerberosAuthentication no The SSH daemon must be restarted for the changes to take effect. To restart the SSH daemon, run the following command: -$ sudo systemctl restart sshd.serviceVerify the SSH daemon does not allow Kerberos authentication with the following command: +$ sudo systemctl restart sshd.serviceVerify the SSH daemon does not allow Kerberos authentication with the following command: $ sudo grep -ir KerberosAuthentication /etc/ssh/sshd_config* KerberosAuthentication no If the value is returned as "yes", the returned line is commented out, no output is returned, or has not been documented with the ISSO, this is a finding. -If conflicting results are returned, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010540RHEL 8 must use a separate file system for /var.<VulnDiscussion>The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Migrate the "/var" path onto a separate file system.Verify that a separate file system has been created for "/var". +If conflicting results are returned, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010540RHEL 8 must use a separate file system for /var.<VulnDiscussion>The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Migrate the "/var" path onto a separate file system.Verify that a separate file system has been created for "/var". Check that a file system has been created for "/var" with the following command: @@ -1466,7 +1466,7 @@ Check that a file system has been created for "/var" with the following command: /dev/mapper/... /var xfs defaults,nodev 0 0 -If a separate entry for "/var" is not in use, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010541RHEL 8 must use a separate file system for /var/log.<VulnDiscussion>The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Migrate the "/var/log" path onto a separate file system.Verify that a separate file system has been created for "/var/log". +If a separate entry for "/var" is not in use, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010541RHEL 8 must use a separate file system for /var/log.<VulnDiscussion>The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Migrate the "/var/log" path onto a separate file system.Verify that a separate file system has been created for "/var/log". Check that a file system has been created for "/var/log" with the following command: @@ -1474,7 +1474,7 @@ Check that a file system has been created for "/var/log" with the following comm /dev/mapper/... /var/log xfs defaults,nodev,noexec,nosuid 0 0 -If a separate entry for "/var/log" is not in use, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010542RHEL 8 must use a separate file system for the system audit data path.<VulnDiscussion>The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Migrate the system audit data path onto a separate file system.Verify that a separate file system/partition has been created for the system audit data path with the following command: +If a separate entry for "/var/log" is not in use, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010542RHEL 8 must use a separate file system for the system audit data path.<VulnDiscussion>The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Migrate the system audit data path onto a separate file system.Verify that a separate file system/partition has been created for the system audit data path with the following command: Note: /var/log/audit is used as the example as it is a common location. @@ -1484,7 +1484,7 @@ UUID=3645951a /var/log/audit xfs defaults 1 2 If an entry for "/var/log/audit" does not exist, ask the System Administrator if the system audit logs are being written to a different file system/partition on the system, then grep for that file system/partition. -If a separate file system/partition does not exist for the system audit data path, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010543A separate RHEL 8 filesystem must be used for the /tmp directory.<VulnDiscussion>The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Migrate the "/tmp" directory onto a separate file system/partition.Verify that a separate file system/partition has been created for non-privileged local interactive user home directories. +If a separate file system/partition does not exist for the system audit data path, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010543A separate RHEL 8 filesystem must be used for the /tmp directory.<VulnDiscussion>The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Migrate the "/tmp" directory onto a separate file system/partition.Verify that a separate file system/partition has been created for non-privileged local interactive user home directories. $ sudo grep /tmp /etc/fstab @@ -1498,7 +1498,7 @@ PermitRootLogin no The SSH daemon must be restarted for the changes to take effect. To restart the SSH daemon, run the following command: -$ sudo systemctl restart sshd.serviceVerify remote access using SSH prevents users from logging on directly as "root". +$ sudo systemctl restart sshd.serviceVerify remote access using SSH prevents users from logging on directly as "root". Check that SSH prevents users from logging on directly as "root" with the following command: @@ -1513,7 +1513,7 @@ Configuration settings are the set of parameters that can be changed in hardware $ sudo systemctl start rsyslog.service -$ sudo systemctl enable rsyslog.serviceVerify the rsyslog service is enabled and active with the following commands: +$ sudo systemctl enable rsyslog.serviceVerify the rsyslog service is enabled and active with the following commands: $ sudo systemctl is-enabled rsyslog @@ -1523,7 +1523,7 @@ $ sudo systemctl is-active rsyslog active -If the service is not "enabled" and "active" this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010570RHEL 8 must prevent files with the setuid and setgid bit set from being executed on file systems that contain user home directories.<VulnDiscussion>The "nosuid" mount option causes the system not to execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the "/etc/fstab" to use the "nosuid" option on file systems that contain user home directories for interactive users.Verify file systems that contain user home directories are mounted with the "nosuid" option. +If the service is not "enabled" and "active" this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010570RHEL 8 must prevent files with the setuid and setgid bit set from being executed on file systems that contain user home directories.<VulnDiscussion>The "nosuid" mount option causes the system not to execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the "/etc/fstab" to use the "nosuid" option on file systems that contain user home directories for interactive users.Verify file systems that contain user home directories are mounted with the "nosuid" option. Note: If a separate file system has not been created for the user home directories (user home directories are mounted under "/"), this is automatically a finding as the "nosuid" option cannot be used on the "/" system. @@ -1540,7 +1540,7 @@ $ sudo more /etc/fstab UUID=a411dc99-f2a1-4c87-9e05-184977be8539 /home xfs rw,relatime,discard,data=ordered,nosuid,nodev,noexec 0 0 -If a file system found in "/etc/fstab" refers to the user home directory file system and it does not have the "nosuid" option set, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010571RHEL 8 must prevent files with the setuid and setgid bit set from being executed on the /boot directory.<VulnDiscussion>The "nosuid" mount option causes the system not to execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the "/etc/fstab" to use the "nosuid" option on the /boot directory.For systems that use UEFI, this is Not Applicable. +If a file system found in "/etc/fstab" refers to the user home directory file system and it does not have the "nosuid" option set, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010571RHEL 8 must prevent files with the setuid and setgid bit set from being executed on the /boot directory.<VulnDiscussion>The "nosuid" mount option causes the system not to execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the "/etc/fstab" to use the "nosuid" option on the /boot directory.For systems that use UEFI, this is Not Applicable. Verify the /boot directory is mounted with the "nosuid" option with the following command: @@ -1548,11 +1548,11 @@ $ sudo mount | grep '\s/boot\s' /dev/sda1 on /boot type xfs (rw,nosuid,relatime,seclabe,attr2,inode64,noquota) -If the /boot file system does not have the "nosuid" option set, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010580RHEL 8 must prevent special devices on non-root local partitions.<VulnDiscussion>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. The only legitimate location for device files is the /dev directory located on the root partition.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the "/etc/fstab" to use the "nodev" option on all non-root local partitions.Verify all non-root local partitions are mounted with the "nodev" option with the following command: +If the /boot file system does not have the "nosuid" option set, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010580RHEL 8 must prevent special devices on non-root local partitions.<VulnDiscussion>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. The only legitimate location for device files is the /dev directory located on the root partition.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the "/etc/fstab" to use the "nodev" option on all non-root local partitions.Verify all non-root local partitions are mounted with the "nodev" option with the following command: $ sudo mount | grep '^/dev\S* on /\S' | grep --invert-match 'nodev' -If any output is produced, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010590RHEL 8 must prevent code from being executed on file systems that contain user home directories.<VulnDiscussion>The "noexec" mount option causes the system not to execute binary files. This option must be used for mounting any file system not containing approved binary files, as they may be incompatible. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the "/etc/fstab" to use the "noexec" option on file systems that contain user home directories for interactive users.Verify file systems that contain user home directories are mounted with the "noexec" option. +If any output is produced, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010590RHEL 8 must prevent code from being executed on file systems that contain user home directories.<VulnDiscussion>The "noexec" mount option causes the system not to execute binary files. This option must be used for mounting any file system not containing approved binary files, as they may be incompatible. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the "/etc/fstab" to use the "noexec" option on file systems that contain user home directories for interactive users.Verify file systems that contain user home directories are mounted with the "noexec" option. Note: If a separate file system has not been created for the user home directories (user home directories are mounted under "/"), this is automatically a finding as the "noexec" option cannot be used on the "/" system. @@ -1569,37 +1569,37 @@ $ sudo more /etc/fstab UUID=a411dc99-f2a1-4c87-9e05-184977be8539 /home ext4 rw,relatime,discard,data=ordered,nosuid,nodev,noexec 0 2 -If a file system found in "/etc/fstab" refers to the user home directory file system and it does not have the "noexec" option set, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010600RHEL 8 must prevent special devices on file systems that are used with removable media.<VulnDiscussion>The "nodev" mount option causes the system not to 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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the "/etc/fstab" to use the "nodev" option on file systems that are associated with removable media.Verify file systems that are used for removable media are mounted with the "nodev" option with the following command: +If a file system found in "/etc/fstab" refers to the user home directory file system and it does not have the "noexec" option set, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010600RHEL 8 must prevent special devices on file systems that are used with removable media.<VulnDiscussion>The "nodev" mount option causes the system not to 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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the "/etc/fstab" to use the "nodev" option on file systems that are associated with removable media.Verify file systems that are used for removable media are mounted with the "nodev" option with the following command: $ sudo more /etc/fstab UUID=2bc871e4-e2a3-4f29-9ece-3be60c835222 /mnt/usbflash vfat noauto,owner,ro,nosuid,nodev,noexec 0 0 -If a file system found in "/etc/fstab" refers to removable media and it does not have the "nodev" option set, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010610RHEL 8 must prevent code from being executed on file systems that are used with removable media.<VulnDiscussion>The "noexec" mount option causes the system not to execute binary files. This option must be used for mounting any file system not containing approved binary files, as they may be incompatible. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the "/etc/fstab" to use the "noexec" option on file systems that are associated with removable media.Verify file systems that are used for removable media are mounted with the "noexec" option with the following command: +If a file system found in "/etc/fstab" refers to removable media and it does not have the "nodev" option set, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010610RHEL 8 must prevent code from being executed on file systems that are used with removable media.<VulnDiscussion>The "noexec" mount option causes the system not to execute binary files. This option must be used for mounting any file system not containing approved binary files, as they may be incompatible. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the "/etc/fstab" to use the "noexec" option on file systems that are associated with removable media.Verify file systems that are used for removable media are mounted with the "noexec" option with the following command: $ sudo more /etc/fstab UUID=2bc871e4-e2a3-4f29-9ece-3be60c835222 /mnt/usbflash vfat noauto,owner,ro,nosuid,nodev,noexec 0 0 -If a file system found in "/etc/fstab" refers to removable media and it does not have the "noexec" option set, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010620RHEL 8 must prevent files with the setuid and setgid bit set from being executed on file systems that are used with removable media.<VulnDiscussion>The "nosuid" mount option causes the system not to execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the "/etc/fstab" to use the "nosuid" option on file systems that are associated with removable media.Verify file systems that are used for removable media are mounted with the "nosuid" option with the following command: +If a file system found in "/etc/fstab" refers to removable media and it does not have the "noexec" option set, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010620RHEL 8 must prevent files with the setuid and setgid bit set from being executed on file systems that are used with removable media.<VulnDiscussion>The "nosuid" mount option causes the system not to execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the "/etc/fstab" to use the "nosuid" option on file systems that are associated with removable media.Verify file systems that are used for removable media are mounted with the "nosuid" option with the following command: $ sudo more /etc/fstab UUID=2bc871e4-e2a3-4f29-9ece-3be60c835222 /mnt/usbflash vfat noauto,owner,ro,nosuid,nodev,noexec 0 0 -If a file system found in "/etc/fstab" refers to removable media and it does not have the "nosuid" option set, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010630RHEL 8 must prevent code from being executed on file systems that are imported via Network File System (NFS).<VulnDiscussion>The "noexec" mount option causes the system not to execute binary files. This option must be used for mounting any file system not containing approved binary as they may be incompatible. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the "/etc/fstab" to use the "noexec" option on file systems that are being imported via NFS.Verify that file systems being imported via NFS are mounted with the "noexec" option with the following command: +If a file system found in "/etc/fstab" refers to removable media and it does not have the "nosuid" option set, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010630RHEL 8 must prevent code from being executed on file systems that are imported via Network File System (NFS).<VulnDiscussion>The "noexec" mount option causes the system not to execute binary files. This option must be used for mounting any file system not containing approved binary as they may be incompatible. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the "/etc/fstab" to use the "noexec" option on file systems that are being imported via NFS.Verify that file systems being imported via NFS are mounted with the "noexec" option with the following command: $ sudo grep nfs /etc/fstab | grep noexec UUID=e06097bb-cfcd-437b-9e4d-a691f5662a7d /store nfs rw,nosuid,nodev,noexec 0 0 -If a file system found in "/etc/fstab" refers to NFS and it does not have the "noexec" option set, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010640RHEL 8 must prevent special devices on file systems that are imported via Network File System (NFS).<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the "/etc/fstab" to use the "nodev" option on file systems that are being imported via NFS.Verify file systems that are being NFS-imported are mounted with the "nodev" option with the following command: +If a file system found in "/etc/fstab" refers to NFS and it does not have the "noexec" option set, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010640RHEL 8 must prevent special devices on file systems that are imported via Network File System (NFS).<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the "/etc/fstab" to use the "nodev" option on file systems that are being imported via NFS.Verify file systems that are being NFS-imported are mounted with the "nodev" option with the following command: $ sudo grep nfs /etc/fstab | grep nodev UUID=e06097bb-cfcd-437b-9e4d-a691f5662a7d /store nfs rw,nosuid,nodev,noexec 0 0 -If a file system found in "/etc/fstab" refers to NFS and it does not have the "nodev" option set, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010650RHEL 8 must prevent files with the setuid and setgid bit set from being executed on file systems that are imported via Network File System (NFS).<VulnDiscussion>The "nosuid" mount option causes the system not to execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the "/etc/fstab" to use the "nosuid" option on file systems that are being imported via NFS.Verify that file systems being imported via NFS are mounted with the "nosuid" option with the following command: +If a file system found in "/etc/fstab" refers to NFS and it does not have the "nodev" option set, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010650RHEL 8 must prevent files with the setuid and setgid bit set from being executed on file systems that are imported via Network File System (NFS).<VulnDiscussion>The "nosuid" mount option causes the system not to execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the "/etc/fstab" to use the "nosuid" option on file systems that are being imported via NFS.Verify that file systems being imported via NFS are mounted with the "nosuid" option with the following command: $ sudo grep nfs /etc/fstab | grep nosuid @@ -1607,7 +1607,7 @@ UUID=e06097bb-cfcd-437b-9e4d-a691f5662a7d /store nfs rw,nosuid,nodev,noexec 0 0 If a file system found in "/etc/fstab" refers to NFS and it does not have the "nosuid" option set, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010660Local RHEL 8 initialization files must not execute world-writable programs.<VulnDiscussion>If user start-up files execute world-writable programs, especially in unprotected directories, they could be maliciously modified to destroy user files or otherwise compromise the system at the user level. If the system is compromised at the user level, it is easier to elevate privileges to eventually compromise the system at the root and network level.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Set the mode on files being executed by the local initialization files with the following command: -$ sudo chmod 0755 <file>Verify that local initialization files do not execute world-writable programs. +$ sudo chmod 0755 <file>Verify that local initialization files do not execute world-writable programs. Check the system for world-writable files. @@ -1627,7 +1627,7 @@ RHEL 8 installation media presents the option to enable or disable the kdump ser # systemctl disable kdump.service -If kernel core dumps are required, document the need with the ISSO.Verify that kernel core dumps are disabled unless needed with the following command: +If kernel core dumps are required, document the need with the ISSO.Verify that kernel core dumps are disabled unless needed with the following command: $ sudo systemctl status kdump.service @@ -1662,7 +1662,7 @@ Remove any configurations that conflict with the above from the following locati The system configuration files need to be reloaded for the changes to take effect. To reload the contents of the files, run the following command: -$ sudo sysctl --systemVerify RHEL 8 disables storing core dumps with the following commands: +$ sudo sysctl --systemVerify RHEL 8 disables storing core dumps with the following commands: $ sudo sysctl kernel.core_pattern @@ -1692,7 +1692,7 @@ Created symlink /etc/systemd/system/systemd-coredump.socket -> /dev/null Reload the daemon for this change to take effect. -$ sudo systemctl daemon-reloadVerify RHEL 8 is not configured to acquire, save, or process core dumps with the following command: +$ sudo systemctl daemon-reloadVerify RHEL 8 is not configured to acquire, save, or process core dumps with the following command: $ sudo systemctl status systemd-coredump.socket @@ -1706,7 +1706,7 @@ A core dump includes a memory image taken at the time the operating system termi Add the following line to the top of the /etc/security/limits.conf or in a ".conf" file defined in /etc/security/limits.d/: -* hard core 0Verify the operating system disables core dumps for all users by issuing the following command: +* hard core 0Verify the operating system disables core dumps for all users by issuing the following command: $ sudo grep -r -s '^[^#].*core' /etc/security/limits.conf /etc/security/limits.d/*.conf @@ -1720,7 +1720,7 @@ A core dump includes a memory image taken at the time the operating system termi Add or modify the following line in /etc/systemd/coredump.conf: -Storage=noneVerify the operating system disables storing core dumps for all users by issuing the following command: +Storage=noneVerify the operating system disables storing core dumps for all users by issuing the following command: $ sudo grep -i storage /etc/systemd/coredump.conf @@ -1732,7 +1732,7 @@ A core dump includes a memory image taken at the time the operating system termi Add or modify the following line in /etc/systemd/coredump.conf: -ProcessSizeMax=0Verify the operating system disables core dump backtraces by issuing the following command: +ProcessSizeMax=0Verify the operating system disables core dump backtraces by issuing the following command: $ sudo grep -i ProcessSizeMax /etc/systemd/coredump.conf @@ -1744,7 +1744,7 @@ By default, "NetworkManager" on RHEL 8 dynamically updates the /etc/resolv.conf If manually configuring DNS, edit the "/etc/resolv.conf" file to uncomment or add the two or more "nameserver" option lines with the IP address of local authoritative name servers. If local host resolution is being performed, the "/etc/resolv.conf" file must be empty. An empty "/etc/resolv.conf" file can be created as follows: -$ sudo echo -n > /etc/resolv.confDetermine whether the system is using local or DNS name resolution with the following command: +$ sudo echo -n > /etc/resolv.confDetermine whether the system is using local or DNS name resolution with the following command: $ sudo grep hosts /etc/nsswitch.conf @@ -1771,7 +1771,7 @@ nameserver 192.168.1.3 If less than two lines are returned that are not commented out, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010690Executable search paths within the initialization files of all local interactive RHEL 8 users must only contain paths that resolve to the system default or the users home directory.<VulnDiscussion>The executable search path (typically the PATH environment variable) contains a list of directories for the shell to search to find executables. If this path includes the current working directory (other than the user's home directory), executables in these directories may be executed instead of system commands. This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon or two consecutive colons, this is interpreted as the current working directory. If deviations from the default system search path for the local interactive user are required, they must be documented with the Information System Security Officer (ISSO).</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Edit the local interactive user initialization files to change any PATH variable statements that reference directories other than their home directory. -If a local interactive user requires path variables to reference a directory owned by the application, it must be documented with the ISSO.Verify that all local interactive user initialization file executable search path statements do not contain statements that will reference a working directory other than user home directories with the following commands: +If a local interactive user requires path variables to reference a directory owned by the application, it must be documented with the ISSO.Verify that all local interactive user initialization file executable search path statements do not contain statements that will reference a working directory other than user home directories with the following commands: $ sudo grep -i path= /home/*/.* @@ -1779,17 +1779,17 @@ $ sudo grep -i path= /home/*/.* If any local interactive user initialization files have executable search path statements that include directories outside of their home directory and is not documented with the ISSO as an operational requirement, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010700All RHEL 8 world-writable directories must be owned by root, sys, bin, or an application user.<VulnDiscussion>If a world-writable directory is not owned by root, sys, bin, or an application User Identifier (UID), unauthorized users may be able to modify files created by others. -The only authorized public directories are those temporary directories supplied with the system or those designed to be temporary file repositories. The setting is normally reserved for directories used by the system and by users for temporary file storage, (e.g., /tmp), and for directories requiring global read/write access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366All directories in local partitions which are world-writable should be owned by root or another system account. If any world-writable directories are not owned by a system account, this should be investigated. Following this, the files should be deleted or assigned to an appropriate group.The following command will discover and print world-writable directories that are not owned by a system account, given the assumption that only system accounts have a uid lower than 1000. Run it once for each local partition [PART]: +The only authorized public directories are those temporary directories supplied with the system or those designed to be temporary file repositories. The setting is normally reserved for directories used by the system and by users for temporary file storage, (e.g., /tmp), and for directories requiring global read/write access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366All directories in local partitions which are world-writable should be owned by root or another system account. If any world-writable directories are not owned by a system account, this should be investigated. Following this, the files should be deleted or assigned to an appropriate group.The following command will discover and print world-writable directories that are not owned by a system account, given the assumption that only system accounts have a uid lower than 1000. Run it once for each local partition [PART]: $ sudo find [PART] -xdev -type d -perm -0002 -uid +999 -print If there is output, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010710All RHEL 8 world-writable directories must be group-owned by root, sys, bin, or an application group.<VulnDiscussion>If a world-writable directory is not group-owned by root, sys, bin, or an application Group Identifier (GID), unauthorized users may be able to modify files created by others. -The only authorized public directories are those temporary directories supplied with the system or those designed to be temporary file repositories. The setting is normally reserved for directories used by the system and by users for temporary file storage, (e.g., /tmp), and for directories requiring global read/write access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366All directories in local partitions which are world-writable must be group-owned by root or another system account. If any world-writable directories are not group-owned by a system account, this must be investigated. Following this, the directories must be deleted or assigned to an appropriate group.The following command will discover and print world-writable directories that are not group-owned by a system account, given the assumption that only system accounts have a gid lower than 1000. Run it once for each local partition [PART]: +The only authorized public directories are those temporary directories supplied with the system or those designed to be temporary file repositories. The setting is normally reserved for directories used by the system and by users for temporary file storage, (e.g., /tmp), and for directories requiring global read/write access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366All directories in local partitions which are world-writable must be group-owned by root or another system account. If any world-writable directories are not group-owned by a system account, this must be investigated. Following this, the directories must be deleted or assigned to an appropriate group.The following command will discover and print world-writable directories that are not group-owned by a system account, given the assumption that only system accounts have a gid lower than 1000. Run it once for each local partition [PART]: $ sudo find [PART] -xdev -type d -perm -0002 -gid +999 -print -If there is output, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010720All RHEL 8 local interactive users must have a home directory assigned in the /etc/passwd file.<VulnDiscussion>If local interactive users are not assigned a valid home directory, there is no place for the storage and control of files they should own.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Assign home directories to all local interactive users on RHEL 8 that currently do not have a home directory assigned.Verify local interactive users on RHEL 8 have a home directory assigned with the following command: +If there is output, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010720All RHEL 8 local interactive users must have a home directory assigned in the /etc/passwd file.<VulnDiscussion>If local interactive users are not assigned a valid home directory, there is no place for the storage and control of files they should own.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Assign home directories to all local interactive users on RHEL 8 that currently do not have a home directory assigned.Verify local interactive users on RHEL 8 have a home directory assigned with the following command: $ sudo pwck -r @@ -1806,7 +1806,7 @@ If any interactive users do not have a home directory assigned, this is a findin Note: The example will be for the user "smithj". -$ sudo chmod 0750 /home/smithjVerify the assigned home directory of all local interactive users has a mode of "0750" or less permissive with the following command: +$ sudo chmod 0750 /home/smithjVerify the assigned home directory of all local interactive users has a mode of "0750" or less permissive with the following command: Note: 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. @@ -1818,7 +1818,7 @@ If home directories referenced in "/etc/passwd" do not have a mode of "0750" or Note: The example will be for the user "smithj", who has a home directory of "/home/smithj", and has a primary group of users. - $ sudo chgrp users /home/smithjVerify the assigned home directory of all local interactive users is group-owned by that user’s primary GID with the following command: + $ sudo chgrp users /home/smithjVerify the assigned home directory of all local interactive users is group-owned by that user’s primary GID with the following command: Note: This may miss local interactive users that have been assigned a privileged UID. Evidence of interactive use may be obtained from a number of log files containing system logon information. The returned directory "/home/smithj" is used as an example. @@ -1839,7 +1839,7 @@ Note: The example will be for the user smithj, who has a home directory of "/hom $ sudo mkdir /home/smithj $ sudo chown smithj /home/smithj $ sudo chgrp users /home/smithj -$ sudo chmod 0750 /home/smithjVerify the assigned home directory of all local interactive users on RHEL 8 exists with the following command: +$ sudo chmod 0750 /home/smithjVerify the assigned home directory of all local interactive users on RHEL 8 exists with the following command: $ sudo ls -ld $(awk -F: '($3>=1000)&&($7 !~ /nologin/){print $6}' /etc/passwd) @@ -1855,7 +1855,7 @@ user 'smithj': directory '/home/smithj' does not exist If any home directories referenced in "/etc/passwd" are returned as not defined, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010760All RHEL 8 local interactive user accounts must be assigned a home directory upon creation.<VulnDiscussion>If local interactive users are not assigned a valid home directory, there is no place for the storage and control of files they should own.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure RHEL 8 to assign home directories to all new local interactive users by setting the "CREATE_HOME" parameter in "/etc/login.defs" to "yes" as follows. -CREATE_HOME yesVerify all local interactive users on RHEL 8 are assigned a home directory upon creation with the following command: +CREATE_HOME yesVerify all local interactive users on RHEL 8 are assigned a home directory upon creation with the following command: $ sudo grep -i create_home /etc/login.defs @@ -1865,7 +1865,7 @@ If the value for "CREATE_HOME" parameter is not set to "yes", the line is missin Note: The example will be for the smithj user, who has a home directory of "/home/smithj". - $ sudo chmod 0740 /home/smithj/.<INIT_FILE>Verify that all local initialization files have a mode of "0740" or less permissive with the following command: + $ sudo chmod 0740 /home/smithj/.<INIT_FILE>Verify that all local initialization files have a mode of "0740" or less permissive with the following command: Note: The example will be for the "smithj" user, who has a home directory of "/home/smithj". @@ -1877,7 +1877,7 @@ Note: The example will be for the "smithj" user, who has a home directory of "/h If any local initialization files have a mode more permissive than "0740", this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010780All RHEL 8 local files and directories must have a valid owner.<VulnDiscussion>Unowned files and directories may be unintentionally inherited if a user is assigned the same User Identifier "UID" as the UID of the un-owned files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Either remove all files and directories from the system that do not have a valid user, or assign a valid user to all unowned files and directories on RHEL 8 with the "chown" command: -$ sudo chown <user> <file>Verify all local files and directories on RHEL 8 have a valid owner with the following command: +$ sudo chown <user> <file>Verify all local files and directories on RHEL 8 have a valid owner with the following command: Note: The value after -fstype must be replaced with the filesystem type. XFS is used as an example. @@ -1887,7 +1887,7 @@ If any files on the system do not have an assigned owner, this is a finding. Note: Command may produce error messages from the /proc and /sys directories.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010790All RHEL 8 local files and directories must have a valid group owner.<VulnDiscussion>Files without a valid group owner may be unintentionally inherited if a group is assigned the same Group Identifier (GID) as the GID of the files without a valid group owner.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Either remove all files and directories from RHEL 8 that do not have a valid group, or assign a valid group to all files and directories on the system with the "chgrp" command: -$ sudo chgrp <group> <file>Verify all local files and directories on RHEL 8 have a valid group with the following command: +$ sudo chgrp <group> <file>Verify all local files and directories on RHEL 8 have a valid group with the following command: Note: The value after -fstype must be replaced with the filesystem type. XFS is used as an example. @@ -1895,7 +1895,7 @@ $ sudo find / -fstype xfs -nogroup If any files on the system do not have an assigned group, this is a finding. -Note: Command may produce error messages from the /proc and /sys directories.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010800A separate RHEL 8 filesystem must be used for user home directories (such as /home or an equivalent).<VulnDiscussion>The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Migrate the "/home" directory onto a separate file system.Verify that a separate file system has been created for non-privileged local interactive user home directories. +Note: Command may produce error messages from the /proc and /sys directories.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010800A separate RHEL 8 filesystem must be used for user home directories (such as /home or an equivalent).<VulnDiscussion>The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Migrate the "/home" directory onto a separate file system.Verify that a separate file system has been created for non-privileged local interactive user home directories. Check the home directory assignment for all non-privileged users, users with a User Identifier (UID) greater than 1000, on the system with the following command: @@ -1920,7 +1920,7 @@ If a separate entry for the file system/partition containing the nonprivileged i Add or edit the line for the "AutomaticLoginEnable" parameter in the [daemon] section of the "/etc/gdm/custom.conf" file to "false": [daemon] -AutomaticLoginEnable=falseVerify the operating system does not allow an unattended or automatic logon to the system via a graphical user interface. +AutomaticLoginEnable=falseVerify the operating system does not allow an unattended or automatic logon to the system via a graphical user interface. Note: This requirement assumes the use of the RHEL 8 default graphical user interface, Gnome Shell. If the system does not have any graphical user interface installed, this requirement is Not Applicable. @@ -1938,7 +1938,7 @@ PermitUserEnvironment no The SSH daemon must be restarted for the changes to take effect. To restart the SSH daemon, run the following command: -$ sudo systemctl restart sshd.serviceVerify that unattended or automatic logon via ssh is disabled with the following command: +$ sudo systemctl restart sshd.serviceVerify that unattended or automatic logon via ssh is disabled with the following command: $ sudo grep -ir PermitUserEnvironment /etc/ssh/sshd_config* @@ -1953,7 +1953,7 @@ If temporary accounts are used, RHEL 8 must be configured to automatically termi To address access requirements, many RHEL 8 operating systems may be integrated with enterprise-level authentication/access mechanisms that meet or exceed access control policy requirements.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000016If a temporary account must be created configure the system to terminate the account after a 72 hour time period with the following command to set an expiration date on it. Substitute "system_account_name" with the account to be created. -$ sudo chage -E `date -d "+3 days" +%Y-%m-%d` system_account_nameVerify that temporary accounts have been provisioned with an expiration date of 72 hours. +$ sudo chage -E `date -d "+3 days" +%Y-%m-%d` system_account_nameVerify that temporary accounts have been provisioned with an expiration date of 72 hours. For every existing temporary account, run the following command to obtain its account expiration information. @@ -1977,7 +1977,7 @@ account required pam_faillock.so The "sssd" service must be restarted for the changes to take effect. To restart the "sssd" service, run the following command: -$ sudo systemctl restart sssd.serviceCheck that the system locks an account after three unsuccessful logon attempts with the following commands: +$ sudo systemctl restart sssd.serviceCheck that the system locks an account after three unsuccessful logon attempts with the following commands: Note: If the System Administrator demonstrates the use of an approved centralized account management method that locks an account after three unsuccessful logon attempts within a period of 15 minutes, this requirement is not applicable. @@ -2011,7 +2011,7 @@ Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128</VulnDiscussion Add/Modify the "/etc/security/faillock.conf" file to match the following line: -deny = 3Note: This check applies to RHEL versions 8.2 or newer, if the system is RHEL version 8.0 or 8.1, this check is not applicable. +deny = 3Note: This check applies to RHEL versions 8.2 or newer, if the system is RHEL version 8.0 or 8.1, this check is not applicable. Verify the "/etc/security/faillock.conf" file is configured to lock an account after three unsuccessful logon attempts: @@ -2035,7 +2035,7 @@ account required pam_faillock.so The "sssd" service must be restarted for the changes to take effect. To restart the "sssd" service, run the following command: -$ sudo systemctl restart sssd.serviceCheck that the system locks an account after three unsuccessful logon attempts within a period of 15 minutes with the following commands: +$ sudo systemctl restart sssd.serviceCheck that the system locks an account after three unsuccessful logon attempts within a period of 15 minutes with the following commands: Note: If the System Administrator demonstrates the use of an approved centralized account management method that locks an account after three unsuccessful logon attempts within a period of 15 minutes, this requirement is not applicable. @@ -2065,7 +2065,7 @@ Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128</VulnDiscussion Add/Modify the "/etc/security/faillock.conf" file to match the following line: -fail_interval = 900Note: This check applies to RHEL versions 8.2 or newer, if the system is RHEL version 8.0 or 8.1, this check is not applicable. +fail_interval = 900Note: This check applies to RHEL versions 8.2 or newer, if the system is RHEL version 8.0 or 8.1, this check is not applicable. Verify the "/etc/security/faillock.conf" file is configured to lock an account after three unsuccessful logon attempts within 15 minutes: @@ -2089,7 +2089,7 @@ account required pam_faillock.so The "sssd" service must be restarted for the changes to take effect. To restart the "sssd" service, run the following command: -$ sudo systemctl restart sssd.serviceCheck that the system locks an account after three unsuccessful logon attempts within a period of 15 minutes until released by an administrator with the following commands: +$ sudo systemctl restart sssd.serviceCheck that the system locks an account after three unsuccessful logon attempts within a period of 15 minutes until released by an administrator with the following commands: Note: If the System Administrator demonstrates the use of an approved centralized account management method that locks an account after three unsuccessful logon attempts within a period of 15 minutes, this requirement is not applicable. @@ -2119,7 +2119,7 @@ Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128</VulnDiscussion Add/Modify the "/etc/security/faillock.conf" file to match the following line: -unlock_time = 0Note: This check applies to RHEL versions 8.2 or newer, if the system is RHEL version 8.0 or 8.1, this check is not applicable. +unlock_time = 0Note: This check applies to RHEL versions 8.2 or newer, if the system is RHEL version 8.0 or 8.1, this check is not applicable. Verify the "/etc/security/faillock.conf" file is configured to lock an account until released by an administrator after three unsuccessful logon attempts: @@ -2145,7 +2145,7 @@ account required pam_faillock.so The "sssd" service must be restarted for the changes to take effect. To restart the "sssd" service, run the following command: -$ sudo systemctl restart sssd.serviceCheck that the faillock directory contents persists after a reboot with the following commands: +$ sudo systemctl restart sssd.serviceCheck that the faillock directory contents persists after a reboot with the following commands: Note: If the System Administrator demonstrates the use of an approved centralized account management method that locks an account after three unsuccessful logon attempts within a period of 15 minutes, this requirement is not applicable. @@ -2175,7 +2175,7 @@ Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128</VulnDiscussion Add/Modify the "/etc/security/faillock.conf" file to match the following line: -dir = /var/log/faillockNote: This check applies to RHEL versions 8.2 or newer. If the system is RHEL version 8.0 or 8.1, this check is not applicable. +dir = /var/log/faillockNote: This check applies to RHEL versions 8.2 or newer. If the system is RHEL version 8.0 or 8.1, this check is not applicable. Verify the "/etc/security/faillock.conf" file is configured use a non-default faillock directory to ensure contents persist after reboot: @@ -2199,7 +2199,7 @@ account required pam_faillock.so The "sssd" service must be restarted for the changes to take effect. To restart the "sssd" service, run the following command: -$ sudo systemctl restart sssd.serviceCheck that the system prevents informative messages from being presented to the user pertaining to logon information with the following commands: +$ sudo systemctl restart sssd.serviceCheck that the system prevents informative messages from being presented to the user pertaining to logon information with the following commands: Note: If the System Administrator demonstrates the use of an approved centralized account management method that locks an account after three unsuccessful logon attempts within a period of 15 minutes, this requirement is not applicable. @@ -2229,7 +2229,7 @@ Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128</VulnDiscussion Add/Modify the "/etc/security/faillock.conf" file to match the following line: -silentNote: This check applies to RHEL versions 8.2 or newer, if the system is RHEL version 8.0 or 8.1, this check is not applicable. +silentNote: This check applies to RHEL versions 8.2 or newer, if the system is RHEL version 8.0 or 8.1, this check is not applicable. Verify the "/etc/security/faillock.conf" file is configured to prevent informative messages from being presented at logon attempts: @@ -2255,7 +2255,7 @@ account required pam_faillock.so The "sssd" service must be restarted for the changes to take effect. To restart the "sssd" service, run the following command: -$ sudo systemctl restart sssd.serviceCheck that the system logs user name information when unsuccessful logon attempts occur with the following commands: +$ sudo systemctl restart sssd.serviceCheck that the system logs user name information when unsuccessful logon attempts occur with the following commands: If the system is RHEL version 8.2 or newer, this check is not applicable. @@ -2285,7 +2285,7 @@ Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128</VulnDiscussion Add/Modify the "/etc/security/faillock.conf" file to match the following line: -auditNote: This check applies to RHEL versions 8.2 or newer, if the system is RHEL version 8.0 or 8.1, this check is not applicable. +auditNote: This check applies to RHEL versions 8.2 or newer, if the system is RHEL version 8.0 or 8.1, this check is not applicable. Verify the "/etc/security/faillock.conf" file is configured to log user name information when unsuccessful logon attempts occur: @@ -2311,7 +2311,7 @@ account required pam_faillock.so The "sssd" service must be restarted for the changes to take effect. To restart the "sssd" service, run the following command: -$ sudo systemctl restart sssd.serviceCheck that the system includes the root account when locking an account after three unsuccessful logon attempts within a period of 15 minutes with the following commands: +$ sudo systemctl restart sssd.serviceCheck that the system includes the root account when locking an account after three unsuccessful logon attempts within a period of 15 minutes with the following commands: If the system is RHEL version 8.2 or newer, this check is not applicable. @@ -2341,7 +2341,7 @@ Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128</VulnDiscussion Add/Modify the "/etc/security/faillock.conf" file to match the following line: -even_deny_rootNote: This check applies to RHEL versions 8.2 or newer, if the system is RHEL version 8.0 or 8.1, this check is not applicable. +even_deny_rootNote: This check applies to RHEL versions 8.2 or newer, if the system is RHEL version 8.0 or 8.1, this check is not applicable. Verify the "/etc/security/faillock.conf" file is configured to log user name information when unsuccessful logon attempts occur: @@ -2355,7 +2355,7 @@ This requirement addresses concurrent sessions for information system accounts a Add the following line to the top of the /etc/security/limits.conf or in a ".conf" file defined in /etc/security/limits.d/: -* hard maxlogins 10Verify the operating system limits the number of concurrent sessions to "10" for all accounts and/or account types by issuing the following command: +* hard maxlogins 10Verify the operating system limits the number of concurrent sessions to "10" for all accounts and/or account types by issuing the following command: $ sudo grep -r -s '^[^#].*maxlogins' /etc/security/limits.conf /etc/security/limits.d/*.conf @@ -2382,7 +2382,7 @@ lock-enabled=true Update the system databases: -$ sudo dconf updateVerify the operating system enables a user's session lock until that user re-establishes access using established identification and authentication procedures with the following command: +$ sudo dconf updateVerify the operating system enables a user's session lock until that user re-establishes access using established identification and authentication procedures with the following command: $ sudo gsettings get org.gnome.desktop.screensaver lock-enabled @@ -2405,7 +2405,7 @@ Create a global configuration file "/etc/tmux.conf" and add the following lines: Reload tmux configuration to take effect. This can be performed in tmux while it is running: - $ tmux source-file /etc/tmux.confVerify the operating system enables the user to manually initiate a session lock with the following command: + $ tmux source-file /etc/tmux.confVerify the operating system enables the user to manually initiate a session lock with the following command: $ sudo grep -Ei 'lock-command|lock-session' /etc/tmux.conf @@ -2422,7 +2422,7 @@ name=$(ps -o comm= -p $parent) case "$name" in (sshd|login) tmux ;; esac fi -This setting will take effect at next logon.Verify the operating system shell initialization file is configured to start each shell with the tmux terminal multiplexer with the following commands: +This setting will take effect at next logon.Verify the operating system shell initialization file is configured to start each shell with the tmux terminal multiplexer with the following commands: Determine if tmux is currently running: $ sudo ps all | grep tmux | grep -v grep @@ -2449,7 +2449,7 @@ The session lock is implemented at the point where session activity can be deter Tmux is a terminal multiplexer that enables a number of terminals to be created, accessed, and controlled from a single screen. Red Hat endorses tmux as the recommended session controlling package. -Satisfies: SRG-OS-000028-GPOS-00009, SRG-OS-000030-GPOS-00011</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000056Configure the operating system to prevent users from disabling the tmux terminal multiplexer by editing the "/etc/shells" configuration file to remove any instances of tmux.Verify the operating system prevents users from disabling the tmux terminal multiplexer with the following command: +Satisfies: SRG-OS-000028-GPOS-00009, SRG-OS-000030-GPOS-00011</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000056Configure the operating system to prevent users from disabling the tmux terminal multiplexer by editing the "/etc/shells" configuration file to remove any instances of tmux.Verify the operating system prevents users from disabling the tmux terminal multiplexer with the following command: $ sudo grep -i tmux /etc/shells @@ -2471,7 +2471,7 @@ removal-action='lock-screen' Update the system databases: -$ sudo dconf updateVerify the operating system enables a user's session lock until that user re-establishes access using established identification and authentication procedures with the following command: +$ sudo dconf updateVerify the operating system enables a user's session lock until that user re-establishes access using established identification and authentication procedures with the following command: This requirement assumes the use of the RHEL 8 default graphical user interface, Gnome Shell. If the system does not have any graphical user interface installed, this requirement is Not Applicable. @@ -2497,7 +2497,7 @@ idle-delay=uint32 900 Update the system databases: -$ sudo dconf updateVerify the operating system initiates a session lock after a 15-minute period of inactivity for graphical user interfaces with the following commands: +$ sudo dconf updateVerify the operating system initiates a session lock after a 15-minute period of inactivity for graphical user interfaces with the following commands: This requirement assumes the use of the RHEL 8 default graphical user interface, Gnome Shell. If the system does not have any graphical user interface installed, this requirement is Not Applicable. @@ -2511,7 +2511,7 @@ Terminating network connections associated with communications sessions includes Satisfies: SRG-OS-000029-GPOS-00010, SRG-OS-000031-GPOS-00012</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000057Configure the operating system to enforce session lock after a period of 15 minutes of inactivity by adding the following line to the "/etc/tmux.conf" global configuration file: -set -g lock-after-time 900Verify the operating system initiates a session lock after 15 minutes of inactivity. +set -g lock-after-time 900Verify the operating system initiates a session lock after 15 minutes of inactivity. Check the value of the system inactivity timeout with the following command: @@ -2537,7 +2537,7 @@ $ sudo touch /etc/dconf/db/local.d/locks/session Add the following setting to prevent non-privileged users from modifying it: -/org/gnome/desktop/screensaver/lock-delayVerify the operating system prevents a user from overriding settings for graphical user interfaces. +/org/gnome/desktop/screensaver/lock-delayVerify the operating system prevents a user from overriding settings for graphical user interfaces. Note: This requirement assumes the use of the RHEL 8 default graphical user interface, Gnome Shell. If the system does not have any graphical user interface installed, this requirement is Not Applicable. @@ -2566,7 +2566,7 @@ domains = testing.test The "sssd" service must be restarted for the changes to take effect. To restart the "sssd" service, run the following command: -$ sudo systemctl restart sssd.serviceVerify the certificate of the user or group is mapped to the corresponding user or group in the "sssd.conf" file with the following command: +$ sudo systemctl restart sssd.serviceVerify the certificate of the user or group is mapped to the corresponding user or group in the "sssd.conf" file with the following command: Note: If the System Administrator demonstrates the use of an approved alternate multifactor authentication method, this requirement is not applicable. @@ -2596,7 +2596,7 @@ RHEL 8 utilizes "pwquality" as a mechanism to enforce password complexity. This Add the following line to the "/etc/pam.d/password-auth" file (or modify the line to have the required value): - password requisite pam_pwquality.soVerify the operating system uses "pwquality" to enforce the password complexity rules. + password requisite pam_pwquality.soVerify the operating system uses "pwquality" to enforce the password complexity rules. Check for the use of "pwquality" in the password-auth file with the following command: @@ -2614,7 +2614,7 @@ Add the following line to /etc/security/pwquality.conf (or modify the line to ha ucredit = -1 -Remove any configurations that conflict with the above value.Verify the value for "ucredit" with the following command: +Remove any configurations that conflict with the above value.Verify the value for "ucredit" with the following command: $ sudo grep -r ucredit /etc/security/pwquality.conf* @@ -2631,7 +2631,7 @@ Add the following line to /etc/security/pwquality.conf (or modify the line to ha lcredit = -1 -Remove any configurations that conflict with the above value.Verify the value for "lcredit" with the following command: +Remove any configurations that conflict with the above value.Verify the value for "lcredit" with the following command: $ sudo grep -r lcredit /etc/security/pwquality.conf* @@ -2648,7 +2648,7 @@ Add the following line to /etc/security/pwquality.conf (or modify the line to ha dcredit = -1 -Remove any configurations that conflict with the above value.Verify the value for "dcredit" with the following command: +Remove any configurations that conflict with the above value.Verify the value for "dcredit" with the following command: $ sudo grep -r dcredit /etc/security/pwquality.conf* @@ -2665,7 +2665,7 @@ Add the following line to "/etc/security/pwquality.conf" conf (or modify the lin maxclassrepeat = 4 -Remove any configurations that conflict with the above value.Check for the value of the "maxclassrepeat" option with the following command: +Remove any configurations that conflict with the above value.Check for the value of the "maxclassrepeat" option with the following command: $ sudo grep -r maxclassrepeat /etc/security/pwquality.conf* @@ -2682,7 +2682,7 @@ Add the following line to "/etc/security/pwquality.conf conf" (or modify the lin maxrepeat = 3 -Remove any configurations that conflict with the above value.Check for the value of the "maxrepeat" option with the following command: +Remove any configurations that conflict with the above value.Check for the value of the "maxrepeat" option with the following command: $ sudo grep -r maxrepeat /etc/security/pwquality.conf* @@ -2699,7 +2699,7 @@ Add the following line to "/etc/security/pwquality.conf conf" (or modify the lin minclass = 4 -Remove any configurations that conflict with the above value.Verify the value of the "minclass" option with the following command: +Remove any configurations that conflict with the above value.Verify the value of the "minclass" option with the following command: $ sudo grep -r minclass /etc/security/pwquality.conf* @@ -2716,7 +2716,7 @@ Add the following line to "/etc/security/pwquality.conf" (or modify the line to difok = 8 -Remove any configurations that conflict with the above value.Verify the value of the "difok" option with the following command: +Remove any configurations that conflict with the above value.Verify the value of the "difok" option with the following command: $ sudo grep -r difok /etc/security/pwquality.conf* @@ -2725,7 +2725,7 @@ $ sudo grep -r difok /etc/security/pwquality.conf* If the value of "difok" is set to less than "8" or is commented out, this is a finding. If conflicting results are returned, this is a finding.SRG-OS-000075-GPOS-00043<GroupDescription></GroupDescription>RHEL-08-020180RHEL 8 passwords must have a 24 hours/1 day minimum password lifetime restriction in /etc/shadow.<VulnDiscussion>Enforcing a minimum password lifetime helps to prevent repeated password changes to defeat the password reuse or history enforcement requirement. If users are allowed to immediately and continually change their password, the password could be repeatedly changed in a short period of time to defeat the organization's policy regarding password reuse.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000198Configure non-compliant accounts to enforce a 24 hours/1 day minimum password lifetime: -$ sudo chage -m 1 [user]Check whether the minimum time period between password changes for each user account is one day or greater. +$ sudo chage -m 1 [user]Check whether the minimum time period between password changes for each user account is one day or greater. $ sudo awk -F: '$4 < 1 {print $1 " " $4}' /etc/shadow @@ -2733,7 +2733,7 @@ If any results are returned that are not associated with a system account, this Add the following line in "/etc/login.defs" (or modify the line to have the required value): -PASS_MIN_DAYS 1Verify the operating system enforces 24 hours/1 day as the minimum password lifetime for new user accounts. +PASS_MIN_DAYS 1Verify the operating system enforces 24 hours/1 day as the minimum password lifetime for new user accounts. Check for the value of "PASS_MIN_DAYS" in "/etc/login.defs" with the following command: @@ -2744,14 +2744,14 @@ If the "PASS_MIN_DAYS" parameter value is not "1" or greater, or is commented ou Add, or modify the following line in the "/etc/login.defs" file: -PASS_MAX_DAYS 60Verify that RHEL 8 enforces a 60-day maximum password lifetime for new user accounts by running the following command: +PASS_MAX_DAYS 60Verify that RHEL 8 enforces a 60-day maximum password lifetime for new user accounts by running the following command: $ sudo grep -i pass_max_days /etc/login.defs PASS_MAX_DAYS 60 If the "PASS_MAX_DAYS" parameter value is greater than "60", or commented out, this is a finding.SRG-OS-000076-GPOS-00044<GroupDescription></GroupDescription>RHEL-08-020210RHEL 8 user account passwords must be configured so that existing passwords are restricted to a 60-day maximum lifetime.<VulnDiscussion>Any password, no matter how complex, can eventually be cracked. Therefore, passwords need to be changed periodically. If RHEL 8 does not limit the lifetime of passwords and force users to change their passwords, there is the risk that RHEL 8 passwords could be compromised.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000199Configure non-compliant accounts to enforce a 60-day maximum password lifetime restriction. -$ sudo chage -M 60 [user]Check whether the maximum time period for existing passwords is restricted to 60 days with the following commands: +$ sudo chage -M 60 [user]Check whether the maximum time period for existing passwords is restricted to 60 days with the following commands: $ sudo awk -F: '$5 > 60 {print $1 " " $5}' /etc/shadow @@ -2767,7 +2767,7 @@ Note that manual changes to the listed files may be overwritten by the "authsele Add the following line in "/etc/pam.d/password-auth" (or modify the line to have the required value): - password requisite pam_pwhistory.so use_authtok remember=5 retry=3Verify the operating system is configured in the password-auth file to prohibit password reuse for a minimum of five generations. + password requisite pam_pwhistory.so use_authtok remember=5 retry=3Verify the operating system is configured in the password-auth file to prohibit password reuse for a minimum of five generations. Check for the value of the "remember" argument in "/etc/pam.d/password-auth" with the following command: @@ -2789,7 +2789,7 @@ Add the following line to "/etc/security/pwquality.conf" (or modify the line to minlen = 15 -Remove any configurations that conflict with the above value.Verify the operating system enforces a minimum 15-character password length. The "minlen" option sets the minimum number of characters in a new password. +Remove any configurations that conflict with the above value.Verify the operating system enforces a minimum 15-character password length. The "minlen" option sets the minimum number of characters in a new password. Check for the value of the "minlen" option with the following command: @@ -2806,7 +2806,7 @@ The DoD minimum password requirement is 15 characters.</VulnDiscussion>< Add, or modify the following line in the "/etc/login.defs" file: -PASS_MIN_LEN 15Verify that RHEL 8 enforces a minimum 15-character password length for new user accounts by running the following command: +PASS_MIN_LEN 15Verify that RHEL 8 enforces a minimum 15-character password length for new user accounts by running the following command: $ sudo grep -i pass_min_len /etc/login.defs @@ -2820,34 +2820,34 @@ Interactive users include organizational employees or individuals the organizati 2) Accesses that occur through authorized use of group authenticators without individual authentication. Organizations may require unique identification of individuals in group accounts (e.g., shared privilege accounts) or for detailed accountability of individual activity. -Satisfies: SRG-OS-000104-GPOS-00051, SRG-OS-000121-GPOS-00062, SRG-OS-000042-GPOS-00020</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000764Edit the file "/etc/passwd" and provide each interactive user account that has a duplicate User ID (UID) with a unique UID.Verify that RHEL 8 contains no duplicate User IDs (UIDs) for interactive users. +Satisfies: SRG-OS-000104-GPOS-00051, SRG-OS-000121-GPOS-00062, SRG-OS-000042-GPOS-00020</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000764Edit the file "/etc/passwd" and provide each interactive user account that has a duplicate User ID (UID) with a unique UID.Verify that RHEL 8 contains no duplicate User IDs (UIDs) for interactive users. Check that the operating system contains no duplicate UIDs for interactive users with the following command: $ sudo awk -F ":" 'list[$3]++{print $1, $3}' /etc/passwd -If output is produced, and the accounts listed are interactive user accounts, this is a finding.SRG-OS-000105-GPOS-00052<GroupDescription></GroupDescription>RHEL-08-020250RHEL 8 must implement smart card logon for multifactor authentication for access to interactive accounts.<VulnDiscussion>Using an authentication device, such as a Common Access Card (CAC) or token that is separate from the information system, ensures that even if the information system is compromised, that compromise will not affect credentials stored on the authentication device. +If output is produced, and the accounts listed are interactive user accounts, this is a finding.SRG-OS-000105-GPOS-00052<GroupDescription></GroupDescription>RHEL-08-020250RHEL 8 must implement smart card logon for multifactor authentication for access to interactive accounts.<VulnDiscussion>Using an authentication device, such as a Common Access Card (CAC) or token that is separate from the information system, ensures that even if the information system is compromised, that compromise will not affect credentials stored on the authentication device. Multifactor solutions that require devices separate from information systems gaining access include, for example, hardware tokens providing time-based or challenge-response authenticators and smart cards such as the U.S. Government Personal Identity Verification card and the DoD CAC. There are various methods of implementing multifactor authentication for RHEL 8. Some methods include a local system multifactor account mapping or joining the system to a domain and utilizing a Red Hat idM server or Microsoft Windows Active Directory server. Any of these methods will require that the client operating system handle the multifactor authentication correctly. -Satisfies: SRG-OS-000105-GPOS-00052, SRG-OS-000106-GPOS-00053, SRG-OS-000107-GPOS-00054, SRG-OS-000108-GPOS-00055</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000765Configure RHEL 8 to use multifactor authentication for local access to accounts. +Satisfies: SRG-OS-000105-GPOS-00052, SRG-OS-000106-GPOS-00053, SRG-OS-000107-GPOS-00054, SRG-OS-000108-GPOS-00055</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000765Configure RHEL 8 to use multifactor authentication for local access to accounts. Add or update the "pam_cert_auth" setting in the "/etc/sssd/sssd.conf" file to match the following line: -[pam] -pam_cert_auth = True + [pam] + pam_cert_auth = True Add or update "pam_sss.so" with "try_cert_auth" or "require_cert_auth" in the "/etc/pam.d/system-auth" and "/etc/pam.d/smartcard-auth" files based on the following examples: -/etc/pam.d/smartcard-auth:auth sufficient pam_sss.so try_cert_auth + /etc/pam.d/smartcard-auth:auth sufficient pam_sss.so try_cert_auth -/etc/pam.d/system-auth:auth [success=done authinfo_unavail=ignore ignore=ignore default=die] pam_sss.so try_cert_auth + /etc/pam.d/system-auth:auth [success=done authinfo_unavail=ignore ignore=ignore default=die] pam_sss.so try_cert_auth The "sssd" service must be restarted for the changes to take effect. To restart the "sssd" service, run the following command: -$ sudo systemctl restart sssd.serviceVerify RHEL 8 uses multifactor authentication for local access to accounts. + $ sudo systemctl restart sssd.serviceVerify RHEL 8 uses multifactor authentication for local access to accounts. Note: If the System Administrator demonstrates the use of an approved alternate multifactor authentication method, this requirement is not applicable. @@ -2855,11 +2855,10 @@ Check that the "pam_cert_auth" setting is set to "true" in the "/etc/sssd/sssd.c Check that the "try_cert_auth" or "require_cert_auth" options are configured in both "/etc/pam.d/system-auth" and "/etc/pam.d/smartcard-auth" files with the following command: -$ sudo grep cert_auth /etc/sssd/sssd.conf /etc/pam.d/* - -/etc/sssd/sssd.conf:pam_cert_auth = True -/etc/pam.d/smartcard-auth:auth sufficient pam_sss.so try_cert_auth -/etc/pam.d/system-auth:auth [success=done authinfo_unavail=ignore ignore=ignore default=die] pam_sss.so try_cert_auth + $ sudo grep -ir cert_auth /etc/sssd/sssd.conf /etc/sssd/conf.d/*.conf /etc/pam.d/* + /etc/sssd/sssd.conf:pam_cert_auth = True + /etc/pam.d/smartcard-auth:auth sufficient pam_sss.so try_cert_auth + /etc/pam.d/system-auth:auth [success=done authinfo_unavail=ignore ignore=ignore default=die] pam_sss.so try_cert_auth If "pam_cert_auth" is not set to "true" in "/etc/sssd/sssd.conf", this is a finding. @@ -2871,7 +2870,7 @@ Run the following command to change the configuration for useradd: $ sudo useradd -D -f 35 -DoD recommendation is 35 days, but a lower value is acceptable. The value "-1" will disable this feature, and "0" will disable the account immediately after the password expires.Verify the account identifiers (individuals, groups, roles, and devices) are disabled after 35 days of inactivity with the following command: +DoD recommendation is 35 days, but a lower value is acceptable. The value "-1" will disable this feature, and "0" will disable the account immediately after the password expires.Verify the account identifiers (individuals, groups, roles, and devices) are disabled after 35 days of inactivity with the following command: Check the account inactivity value by performing the following command: @@ -2885,7 +2884,7 @@ Temporary accounts are different from emergency accounts. Emergency accounts, al The automatic expiration of temporary accounts may be extended as needed by the circumstances but it must not be extended indefinitely. A documented permanent account should be established for privileged users who need long-term maintenance accounts.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001682Configure the operating system to expire temporary accounts after 72 hours with the following command: - $ sudo chage -E $(date -d +3days +%Y-%m-%d) <temporary_account_name>Verify temporary accounts have been provisioned with an expiration date of 72 hours. + $ sudo chage -E $(date -d +3days +%Y-%m-%d) <temporary_account_name>Verify temporary accounts have been provisioned with an expiration date of 72 hours. For every existing temporary account, run the following command to obtain its account expiration information: @@ -2902,36 +2901,34 @@ Add the following line to /etc/security/pwquality.conf (or modify the line to ha ocredit = -1 -Remove any configurations that conflict with the above value.Verify the value for "ocredit" with the following command: +Remove any configurations that conflict with the above value.Verify the value for "ocredit" with the following command: $ sudo grep -r ocredit /etc/security/pwquality.conf* /etc/security/pwquality.conf:ocredit = -1 If the value of "ocredit" is a positive number or is commented out, this is a finding. -If conflicting results are returned, this is a finding.SRG-OS-000383-GPOS-00166<GroupDescription></GroupDescription>RHEL-08-020290RHEL 8 must prohibit the use of cached authentications after one day.<VulnDiscussion>If cached authentication information is out-of-date, the validity of the authentication information may be questionable. +If conflicting results are returned, this is a finding.SRG-OS-000383-GPOS-00166<GroupDescription></GroupDescription>RHEL-08-020290RHEL 8 must prohibit the use of cached authentications after one day.<VulnDiscussion>If cached authentication information is out-of-date, the validity of the authentication information may be questionable. -RHEL 8 includes multiple options for configuring authentication, but this requirement will be focus on the System Security Services Daemon (SSSD). By default sssd does not cache credentials.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-002007Configure the SSSD to prohibit the use of cached authentications after one day. +RHEL 8 includes multiple options for configuring authentication, but this requirement will be focus on the System Security Services Daemon (SSSD). By default sssd does not cache credentials.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-002007Configure the SSSD to prohibit the use of cached authentications after one day. Add or change the following line in "/etc/sssd/sssd.conf" just below the line "[pam]". -offline_credentials_expiration = 1Verify that the SSSD prohibits the use of cached authentications after one day. + offline_credentials_expiration = 1Verify that the SSSD prohibits the use of cached authentications after one day. Note: If smart card authentication is not being used on the system this item is Not Applicable. Check that SSSD allows cached authentications with the following command: -$ sudo grep cache_credentials /etc/sssd/sssd.conf - -cache_credentials = true + $ sudo grep -ir cache_credentials /etc/sssd/sssd.conf /etc/sssd/conf.d/*.conf + cache_credentials = true If "cache_credentials" is set to "false" or missing from the configuration file, this is not a finding and no further checks are required. If "cache_credentials" is set to "true", check that SSSD prohibits the use of cached authentications after one day with the following command: -$ sudo grep offline_credentials_expiration /etc/sssd/sssd.conf - -offline_credentials_expiration = 1 + $ sudo grep -ir offline_credentials_expiration /etc/sssd/sssd.conf /etc/sssd/conf.d/*.conf + offline_credentials_expiration = 1 If "offline_credentials_expiration" is not set to a value of "1", this is a finding.SRG-OS-000480-GPOS-00225<GroupDescription></GroupDescription>RHEL-08-020300RHEL 8 must prevent the use of dictionary words for passwords.<VulnDiscussion>If RHEL 8 allows the user to select passwords based on dictionary words, this increases the chances of password compromise by increasing the opportunity for successful guesses, and brute-force attacks.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure RHEL 8 to prevent the use of dictionary words for passwords. @@ -2939,7 +2936,7 @@ Add or update the following line in the "/etc/security/pwquality.conf" file or a dictcheck=1 -Remove any configurations that conflict with the above value.Verify RHEL 8 prevents the use of dictionary words for passwords. +Remove any configurations that conflict with the above value.Verify RHEL 8 prevents the use of dictionary words for passwords. Determine if the field "dictcheck" is set with the following command: @@ -2954,7 +2951,7 @@ Configuration settings are the set of parameters that can be changed in hardware Modify the "/etc/login.defs" file to set the "FAIL_DELAY" parameter to "4" or greater: -FAIL_DELAY 4Verify the operating system enforces a delay of at least four seconds between console logon prompts following a failed logon attempt with the following command: +FAIL_DELAY 4Verify the operating system enforces a delay of at least four seconds between console logon prompts following a failed logon attempt with the following command: $ sudo grep -i fail_delay /etc/login.defs @@ -2964,7 +2961,7 @@ If the value of "FAIL_DELAY" is not set to "4" or greater, or the line is commen Remove accounts that do not support approved system activities or that allow for a normal user to perform administrative-level actions. -Document all authorized accounts on the system.Verify all accounts on the system are assigned to an active system, application, or user account. +Document all authorized accounts on the system.Verify all accounts on the system are assigned to an active system, application, or user account. Obtain the list of authorized system accounts from the Information System Security Officer (ISSO). @@ -2989,7 +2986,7 @@ PermitEmptyPasswords no The SSH daemon must be restarted for the changes to take effect. To restart the SSH daemon, run the following command: -$ sudo systemctl restart sshd.serviceTo verify that null passwords cannot be used, run the following command: +$ sudo systemctl restart sshd.serviceTo verify that null passwords cannot be used, run the following command: $ sudo grep -ir permitemptypasswords /etc/ssh/sshd_config* @@ -3000,7 +2997,7 @@ If conflicting results are returned, this is a finding.< Add the following line to the top of "/etc/pam.d/postlogin": -session required pam_lastlog.so showfailedVerify users are provided with feedback on when account accesses last occurred with the following command: +session required pam_lastlog.so showfailedVerify users are provided with feedback on when account accesses last occurred with the following command: $ sudo grep pam_lastlog /etc/pam.d/postlogin @@ -3012,7 +3009,7 @@ Modify the "PrintLastLog" line in "/etc/ssh/sshd_config" to match the following: PrintLastLog yes -The SSH service must be restarted for changes to "sshd_config" to take effect.Verify SSH provides users with feedback on when account accesses last occurred with the following command: +The SSH service must be restarted for changes to "sshd_config" to take effect.Verify SSH provides users with feedback on when account accesses last occurred with the following command: $ sudo grep -ir printlastlog /etc/ssh/sshd_config* @@ -3023,7 +3020,7 @@ If conflicting results are returned, this is a finding.< Add or edit the line for the "UMASK" parameter in "/etc/login.defs" file to "077": -UMASK 077Verify the operating system defines default permissions for all authenticated users in such a way that the user can only read and modify their own files. +UMASK 077Verify the operating system defines default permissions for all authenticated users in such a way that the user can only read and modify their own files. Check for the value of the "UMASK" parameter in "/etc/login.defs" file with the following command: @@ -3035,7 +3032,7 @@ UMASK 077 If the value for the "UMASK" parameter is not "077", or the "UMASK" parameter is missing or is commented out, this is a finding.SRG-OS-000480-GPOS-00228<GroupDescription></GroupDescription>RHEL-08-020352RHEL 8 must set the umask value to 077 for all local interactive user accounts.<VulnDiscussion>The umask controls the default access mode assigned to newly created files. A umask of 077 limits new files to mode 600 or less permissive. Although umask can be represented as a four-digit number, the first digit representing special access modes is typically ignored or required to be "0". This requirement applies to the globally configured system defaults and the local interactive user defaults for each account on the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Remove the umask statement from all local interactive user's initialization files. -If the account is for an application, the requirement for a umask less restrictive than "077" can be documented with the Information System Security Officer, but the user agreement for access to the account must specify that the local interactive user must log on to their account first and then switch the user to the application account with the correct option to gain the account's environment variables.Verify that the default umask for all local interactive users is "077". +If the account is for an application, the requirement for a umask less restrictive than "077" can be documented with the Information System Security Officer, but the user agreement for access to the account must specify that the local interactive user must log on to their account first and then switch the user to the application account with the correct option to gain the account's environment variables.Verify that the default umask for all local interactive users is "077". Identify the locations of all local interactive user home directories by looking at the "/etc/passwd" file. @@ -3049,7 +3046,7 @@ If any local interactive user initialization files are found to have a umask sta Add or edit the lines for the "UMASK" parameter in the "/etc/bashrc", "/etc/csh.cshrc" and "/etc/profile"files to "077": -UMASK 077Verify that the umask default for installed shells is "077". +UMASK 077Verify that the umask default for installed shells is "077". Check for the value of the "UMASK" parameter in the "/etc/bashrc", "/etc/csh.cshrc" and "/etc/profile" files with the following command: @@ -3076,7 +3073,7 @@ Add or update the following file system rules to "/etc/audit/rules.d/audit.rules -a always,exit -F arch=b32 -S execve -C gid!=egid -F egid=0 -k execpriv -a always,exit -F arch=b64 -S execve -C gid!=egid -F egid=0 -k execpriv -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 audits the execution of privileged functions. +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 audits the execution of privileged functions. Check if RHEL 8 is configured to audit the execution of the "execve" system call, by running the following command: @@ -3093,7 +3090,7 @@ If the command does not return all lines, or the lines are commented out, this i cron.* /var/log/cron The rsyslog daemon must be restarted for the changes to take effect: -$ sudo systemctl restart rsyslog.serviceVerify that "rsyslog" is configured to log cron events with the following command: +$ sudo systemctl restart rsyslog.serviceVerify that "rsyslog" is configured to log cron events with the following command: Note: If another logging package is used, substitute the utility configuration file for "/etc/rsyslog.conf" or "/etc/rsyslog.d/*.conf" files. @@ -3117,7 +3114,7 @@ This requirement applies to each audit data storage repository (i.e., distinct i Edit the following line in "/etc/audit/auditd.conf" to ensure that administrators are notified via email for those situations: -action_mail_acct = rootVerify that the SA and ISSO (at a minimum) are notified in the event of an audit processing failure. +action_mail_acct = rootVerify that the SA and ISSO (at a minimum) are notified in the event of an audit processing failure. Check that RHEL 8 notifies the SA and ISSO (at a minimum) in the event of an audit processing failure with the following command: @@ -3133,7 +3130,7 @@ This requirement applies to each audit data storage repository (i.e., distinct i Add/update the following line in "/etc/aliases": -postmaster: rootVerify that the administrators are notified in the event of an audit processing failure. +postmaster: rootVerify that the administrators are notified in the event of an audit processing failure. Check that the "/etc/aliases" file has a defined value for "root". @@ -3149,7 +3146,7 @@ Add or update the following line (depending on configuration "disk_error_action" disk_error_action = HALT -If availability has been determined to be more important, and this decision is documented with the ISSO, configure the operating system to notify system administration staff and ISSO staff in the event of an audit processing failure by setting the "disk_error_action" to "SYSLOG".Verify RHEL 8 takes the appropriate action when an audit processing failure occurs. +If availability has been determined to be more important, and this decision is documented with the ISSO, configure the operating system to notify system administration staff and ISSO staff in the event of an audit processing failure by setting the "disk_error_action" to "SYSLOG".Verify RHEL 8 takes the appropriate action when an audit processing failure occurs. Check that RHEL 8 takes the appropriate action when an audit processing failure occurs with the following command: @@ -3169,7 +3166,7 @@ Add or update the following line (depending on configuration "disk_full_action" disk_full_action = HALT -If availability has been determined to be more important, and this decision is documented with the ISSO, configure the operating system to notify system administration staff and ISSO staff in the event of an audit processing failure by setting the "disk_full_action" to "SYSLOG".Verify RHEL 8 takes the appropriate action when the audit storage volume is full. +If availability has been determined to be more important, and this decision is documented with the ISSO, configure the operating system to notify system administration staff and ISSO staff in the event of an audit processing failure by setting the "disk_full_action" to "SYSLOG".Verify RHEL 8 takes the appropriate action when the audit storage volume is full. Check that RHEL 8 takes the appropriate action when the audit storage volume is full with the following command: @@ -3183,7 +3180,7 @@ Audit record content that may be necessary to satisfy this requirement includes, Add or update the following line in "/etc/audit/auditd.conf" file: -local_events = yesVerify the RHEL 8 Audit Daemon is configured to include local events, with the following command: +local_events = yesVerify the RHEL 8 Audit Daemon is configured to include local events, with the following command: $ sudo grep local_events /etc/audit/auditd.conf @@ -3199,7 +3196,7 @@ When audit logs are not labeled before they are sent to a central log server, th name_format = hostname -The audit daemon must be restarted for changes to take effect.Verify the RHEL 8 Audit Daemon is configured to label all off-loaded audit logs, with the following command: +The audit daemon must be restarted for changes to take effect.Verify the RHEL 8 Audit Daemon is configured to label all off-loaded audit logs, with the following command: $ sudo grep "name_format" /etc/audit/auditd.conf @@ -3213,7 +3210,7 @@ Enriched logging aids in making sense of who, what, and when events occur on a s log_format = ENRICHED -The audit daemon must be restarted for changes to take effect.Verify the RHEL 8 Audit Daemon is configured to resolve audit information before writing to disk, with the following command: +The audit daemon must be restarted for changes to take effect.Verify the RHEL 8 Audit Daemon is configured to resolve audit information before writing to disk, with the following command: $ sudo grep "log_format" /etc/audit/auditd.conf @@ -3225,7 +3222,7 @@ The structure and content of error messages must be carefully considered by the Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029, SRG-OS-000206-GPOS-00084</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000162Configure the audit log to be protected from unauthorized read access by setting the correct permissive mode with the following command: -$ sudo chmod 0600 /var/log/audit/audit.logVerify the audit logs have a mode of "0600" or less permissive. +$ sudo chmod 0600 /var/log/audit/audit.logVerify the audit logs have a mode of "0600" or less permissive. First, determine where the audit logs are stored with the following command: @@ -3247,7 +3244,7 @@ Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPO $ sudo chown root [audit_log_file] -Replace "[audit_log_file]" to the correct audit log path, by default this location is "/var/log/audit/audit.log".Verify the audit logs are owned by "root". First, determine where the audit logs are stored with the following command: +Replace "[audit_log_file]" to the correct audit log path, by default this location is "/var/log/audit/audit.log".Verify the audit logs are owned by "root". First, determine where the audit logs are stored with the following command: $ sudo grep -iw log_file /etc/audit/auditd.conf @@ -3265,7 +3262,7 @@ Audit information includes all information (e.g., audit records, audit settings, Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000162Configure the audit log to be owned by root by configuring the log group in the /etc/audit/auditd.conf file: -log_group = rootVerify the audit logs are group-owned by "root". First determine where the audit logs are stored with the following command: +log_group = rootVerify the audit logs are group-owned by "root". First determine where the audit logs are stored with the following command: $ sudo grep -iw log_file /etc/audit/auditd.conf @@ -3285,7 +3282,7 @@ Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPO $ sudo chown root [audit_log_directory] -Replace "[audit_log_directory]" with the correct audit log directory path, by default this location is usually "/var/log/audit".Verify the audit log directory is owned by "root" to prevent unauthorized read access. +Replace "[audit_log_directory]" with the correct audit log directory path, by default this location is usually "/var/log/audit".Verify the audit log directory is owned by "root" to prevent unauthorized read access. Determine where the audit logs are stored with the following command: @@ -3307,7 +3304,7 @@ Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPO $ sudo chgrp root [audit_log_directory] -Replace "[audit_log_directory]" with the correct audit log directory path, by default this location is usually "/var/log/audit".Verify the audit log directory is group-owned by "root" to prevent unauthorized read access. +Replace "[audit_log_directory]" with the correct audit log directory path, by default this location is usually "/var/log/audit".Verify the audit log directory is group-owned by "root" to prevent unauthorized read access. Determine where the audit logs are stored with the following command: @@ -3329,7 +3326,7 @@ Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPO $ sudo chmod 0700 [audit_log_directory] -Replace "[audit_log_directory]" to the correct audit log directory path, by default this location is "/var/log/audit".Verify the audit log directories have a mode of "0700" or less permissive by first determining where the audit logs are stored with the following command: +Replace "[audit_log_directory]" to the correct audit log directory path, by default this location is "/var/log/audit".Verify the audit log directories have a mode of "0700" or less permissive by first determining where the audit logs are stored with the following command: $ sudo grep -iw log_file /etc/audit/auditd.conf @@ -3351,7 +3348,7 @@ Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPO -e 2 -Note: Once set, the system must be rebooted for auditing to be changed. It is recommended to add this option as the last step in securing the system.Verify the audit system prevents unauthorized changes with the following command: +Note: Once set, the system must be rebooted for auditing to be changed. It is recommended to add this option as the last step in securing the system.Verify the audit system prevents unauthorized changes with the following command: $ sudo grep "^\s*[^#]" /etc/audit/audit.rules | tail -1 @@ -3365,7 +3362,7 @@ In immutable mode, unauthorized users cannot execute changes to the audit system Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000162Configure the audit system to set the logon UIDs to be immutable by adding the following line to "/etc/audit/rules.d/audit.rules" ---loginuid-immutableVerify the audit system prevents unauthorized changes to logon UIDs with the following command: +--loginuid-immutableVerify the audit system prevents unauthorized changes to logon UIDs with the following command: $ sudo grep -i immutable /etc/audit/audit.rules @@ -3381,7 +3378,7 @@ Add or update the following file system rule to "/etc/audit/rules.d/audit.rules" -w /etc/shadow -p wa -k identity -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/shadow". +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/shadow". Check the auditing rules in "/etc/audit/audit.rules" with the following command: @@ -3399,7 +3396,7 @@ Add or update the following file system rule to "/etc/audit/rules.d/audit.rules" -w /etc/security/opasswd -p wa -k identity -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd". +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd". Check the auditing rules in "/etc/audit/audit.rules" with the following command: @@ -3417,7 +3414,7 @@ Add or update the following file system rule to "/etc/audit/rules.d/audit.rules" -w /etc/passwd -p wa -k identity -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd". +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd". Check the auditing rules in "/etc/audit/audit.rules" with the following command: @@ -3435,7 +3432,7 @@ Add or update the following file system rule to "/etc/audit/rules.d/audit.rules" -w /etc/gshadow -p wa -k identity -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow". +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow". Check the auditing rules in "/etc/audit/audit.rules" with the following command: @@ -3453,7 +3450,7 @@ Add or update the following file system rule to "/etc/audit/rules.d/audit.rules" -w /etc/group -p wa -k identity -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/group". +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/group". Check the auditing rules in "/etc/audit/audit.rules" with the following command: @@ -3471,7 +3468,7 @@ Add or update the following file system rule to "/etc/audit/rules.d/audit.rules" -w /etc/sudoers -p wa -k identity -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers". +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers". Check the auditing rules in "/etc/audit/audit.rules" with the following command: @@ -3489,7 +3486,7 @@ Add or update the following file system rule to "/etc/audit/rules.d/audit.rules" -w /etc/sudoers.d/ -p wa -k identity -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/". +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/". Check the auditing rules in "/etc/audit/audit.rules" with the following command: @@ -3507,7 +3504,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000038-GPO Install the audit service (if the audit service is not already installed) with the following command: -$ sudo yum install auditVerify the audit service is configured to produce audit records. +$ sudo yum install auditVerify the audit service is configured to produce audit records. Check that the audit service is installed with the following command: @@ -3523,7 +3520,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -k privileged-priv_change -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates audit records when successful/unsuccessful attempts to use the "su" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates audit records when successful/unsuccessful attempts to use the "su" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w /usr/bin/su /etc/audit/audit.rules @@ -3552,7 +3549,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F arch=b32 -S setxattr,fsetxattr,lsetxattr,removexattr,fremovexattr,lremovexattr -F auid=0 -k perm_mod -a always,exit -F arch=b64 -S setxattr,fsetxattr,lsetxattr,removexattr,fremovexattr,lremovexattr -F auid=0 -k perm_mod -The audit daemon must be restarted for the changes to take effect.Verify if RHEL 8 is configured to audit the execution of the "setxattr", "fsetxattr", "lsetxattr", "removexattr", "fremovexattr", and "lremovexattr" system calls by running the following command: +The audit daemon must be restarted for the changes to take effect.Verify if RHEL 8 is configured to audit the execution of the "setxattr", "fsetxattr", "lsetxattr", "removexattr", "fremovexattr", and "lremovexattr" system calls by running the following command: $ sudo grep xattr /etc/audit/audit.rules @@ -3572,7 +3569,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chage -The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of the "chage" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of the "chage" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w chage /etc/audit/audit.rules @@ -3588,7 +3585,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record when successful/unsuccessful attempts to use the "chcon" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record when successful/unsuccessful attempts to use the "chcon" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w chcon /etc/audit/audit.rules @@ -3604,7 +3601,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record when successful/unsuccessful attempts to use the "ssh-agent" by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record when successful/unsuccessful attempts to use the "ssh-agent" by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep ssh-agent /etc/audit/audit.rules @@ -3620,7 +3617,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-passwd -The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of the "passwd" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of the "passwd" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w passwd /etc/audit/audit.rules @@ -3636,7 +3633,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-mount -The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of the "mount" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of the "mount" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w /usr/bin/mount /etc/audit/audit.rules @@ -3652,7 +3649,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-mount -The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of the "umount" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of the "umount" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w /usr/bin/umount /etc/audit/audit.rules @@ -3669,7 +3666,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F arch=b32 -S mount -F auid>=1000 -F auid!=unset -k privileged-mount -a always,exit -F arch=b64 -S mount -F auid>=1000 -F auid!=unset -k privileged-mount -The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of the "mount" syscall by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of the "mount" syscall by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w "\-S mount" /etc/audit/audit.rules @@ -3686,7 +3683,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update -The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of the "unix_update" by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of the "unix_update" by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w "unix_update" /etc/audit/audit.rules @@ -3702,7 +3699,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update -The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of "postdrop" by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of "postdrop" by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w "postdrop" /etc/audit/audit.rules @@ -3718,7 +3715,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update -The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of "postqueue" by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of "postqueue" by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w "postqueue" /etc/audit/audit.rules @@ -3734,7 +3731,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update -The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of "semanage" by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of "semanage" by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w "semanage" /etc/audit/audit.rules @@ -3750,7 +3747,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update -The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of "setfiles" by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of "setfiles" by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w "setfiles" /etc/audit/audit.rules @@ -3766,7 +3763,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update -The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of "userhelper" by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of "userhelper" by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w "userhelper" /etc/audit/audit.rules @@ -3782,7 +3779,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update -The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of "setsebool" by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of "setsebool" by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w "setsebool" /etc/audit/audit.rules @@ -3798,7 +3795,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update -The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of "unix_chkpwd" by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of "unix_chkpwd" by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w "unix_chkpwd" /etc/audit/audit.rules @@ -3814,7 +3811,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record when successful/unsuccessful attempts to use the "ssh-keysign" by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record when successful/unsuccessful attempts to use the "ssh-keysign" by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep ssh-keysign /etc/audit/audit.rules @@ -3830,7 +3827,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record when successful/unsuccessful attempts to use the "setfacl" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record when successful/unsuccessful attempts to use the "setfacl" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w setfacl /etc/audit/audit.rules @@ -3846,7 +3843,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid>=1000 -F auid!=unset -k privileged-pam_timestamp_check -The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of the "pam_timestamp_check" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of the "pam_timestamp_check" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w pam_timestamp_check /etc/audit/audit.rules @@ -3862,7 +3859,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -k priv_cmd -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record when successful/unsuccessful attempts to use the "newgrp" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record when successful/unsuccessful attempts to use the "newgrp" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w newgrp /etc/audit/audit.rules @@ -3881,7 +3878,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F arch=b32 -S init_module,finit_module -F auid>=1000 -F auid!=unset -k module_chng -a always,exit -F arch=b64 -S init_module,finit_module -F auid>=1000 -F auid!=unset -k module_chng -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record upon successful/unsuccessful attempts to use the "init_module" and "finit_module" system calls by using the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record upon successful/unsuccessful attempts to use the "init_module" and "finit_module" system calls by using the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep init_module /etc/audit/audit.rules @@ -3906,7 +3903,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F arch=b32 -S rename,unlink,rmdir,renameat,unlinkat -F auid>=1000 -F auid!=unset -k delete -a always,exit -F arch=b64 -S rename,unlink,rmdir,renameat,unlinkat -F auid>=1000 -F auid!=unset -k delete -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record upon successful/unsuccessful attempts to use the "rename", "unlink", "rmdir", "renameat", and "unlinkat" system calls by using the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record upon successful/unsuccessful attempts to use the "rename", "unlink", "rmdir", "renameat", and "unlinkat" system calls by using the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep 'rename\|unlink\|rmdir' /etc/audit/audit.rules @@ -3923,7 +3920,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-gpasswd -The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of the "gpasswd" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of the "gpasswd" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w gpasswd /etc/audit/audit.rules @@ -3940,7 +3937,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F arch=b32 -S delete_module -F auid>=1000 -F auid!=unset -k module_chng -a always,exit -F arch=b64 -S delete_module -F auid>=1000 -F auid!=unset -k module_chng -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record when successful/unsuccessful attempts to use the "delete_module" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record when successful/unsuccessful attempts to use the "delete_module" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w "delete_module" /etc/audit/audit.rules @@ -3957,7 +3954,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -k privileged-crontab -The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of the "crontab" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of the "crontab" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w crontab /etc/audit/audit.rules @@ -3973,7 +3970,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -k priv_cmd -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record when successful/unsuccessful attempts to use the "chsh" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record when successful/unsuccessful attempts to use the "chsh" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w chsh /etc/audit/audit.rules @@ -4000,7 +3997,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -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_access -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_access -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record upon successful/unsuccessful attempts to use the "truncate", "ftruncate", "creat", "open", "openat", and "open_by_handle_at" system calls by using the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record upon successful/unsuccessful attempts to use the "truncate", "ftruncate", "creat", "open", "openat", and "open_by_handle_at" system calls by using the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep 'open\|truncate\|creat' /etc/audit/audit.rules @@ -4029,7 +4026,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F arch=b32 -S chown,fchown,fchownat,lchown -F auid>=1000 -F auid!=unset -k perm_mod -a always,exit -F arch=b64 -S chown,fchown,fchownat,lchown -F auid>=1000 -F auid!=unset -k perm_mod -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record upon successful/unsuccessful attempts to use the "chown", "fchown", "fchownat" and "lchown" system calls by using the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record upon successful/unsuccessful attempts to use the "chown", "fchown", "fchownat" and "lchown" system calls by using the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep chown /etc/audit/audit.rules @@ -4052,7 +4049,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F arch=b32 -S chmod,fchmod,fchmodat -F auid>=1000 -F auid!=unset -k perm_mod -a always,exit -F arch=b64 -S chmod,fchmod,fchmodat -F auid>=1000 -F auid!=unset -k perm_mod -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record upon successful/unsuccessful attempts to use the "chmod", "fchmod", and "fchmodat" syscalls by using the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record upon successful/unsuccessful attempts to use the "chmod", "fchmod", and "fchmodat" syscalls by using the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep chmod /etc/audit/audit.rules @@ -4069,7 +4066,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -k priv_cmd -The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of the "sudo" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of the "sudo" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w sudo /etc/audit/audit.rules @@ -4085,7 +4082,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-usermod -The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of the "usermod" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify that an audit event is generated for any successful/unsuccessful use of the "usermod" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w usermod /etc/audit/audit.rules @@ -4101,7 +4098,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record when successful/unsuccessful attempts to use the "chacl" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record when successful/unsuccessful attempts to use the "chacl" command by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w chacl /etc/audit/audit.rules @@ -4127,7 +4124,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -k modules -The audit daemon must be restarted for the changes to take effect.Verify if RHEL 8 is configured to audit the execution of the module management program "kmod", by running the following command: +The audit daemon must be restarted for the changes to take effect.Verify if RHEL 8 is configured to audit the execution of the module management program "kmod", by running the following command: $ sudo grep "/usr/bin/kmod" /etc/audit/audit.rules @@ -4155,7 +4152,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -w /var/log/faillock -p wa -k logins -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record when successful/unsuccessful modifications to the "faillock" file occur. First, determine where the faillock tallies are stored with the following commands: +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record when successful/unsuccessful modifications to the "faillock" file occur. First, determine where the faillock tallies are stored with the following commands: For RHEL versions 8.0 and 8.1: @@ -4195,7 +4192,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO -w /var/log/lastlog -p wa -k logins -The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record when successful/unsuccessful modifications to the "lastlog" file by performing the following command to check the file system rules in "/etc/audit/audit.rules": +The audit daemon must be restarted for the changes to take effect.Verify RHEL 8 generates an audit record when successful/unsuccessful modifications to the "lastlog" file by performing the following command to check the file system rules in "/etc/audit/audit.rules": $ sudo grep -w lastlog /etc/audit/audit.rules @@ -4225,7 +4222,7 @@ $ sudo grubby --update-kernel=ALL --args="audit=1" Add or modify the following line in "/etc/default/grub" to ensure the configuration survives kernel updates: -GRUB_CMDLINE_LINUX="audit=1"Verify RHEL 8 enables auditing of processes that start prior to the audit daemon with the following commands: +GRUB_CMDLINE_LINUX="audit=1"Verify RHEL 8 enables auditing of processes that start prior to the audit daemon with the following commands: $ sudo grub2-editenv list | grep audit @@ -4251,7 +4248,7 @@ $ sudo grubby --update-kernel=ALL --args="audit_backlog_limit=8192" Add or modify the following line in "/etc/default/grub" to ensure the configuration survives kernel updates: -GRUB_CMDLINE_LINUX="audit_backlog_limit=8192"Verify RHEL 8 allocates a sufficient audit_backlog_limit to capture processes that start prior to the audit daemon with the following commands: +GRUB_CMDLINE_LINUX="audit_backlog_limit=8192"Verify RHEL 8 allocates a sufficient audit_backlog_limit to capture processes that start prior to the audit daemon with the following commands: $ sudo grub2-editenv list | grep audit @@ -4285,7 +4282,7 @@ DoD has defined the list of events for which RHEL 8 will provide an audit record Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000471-GPOS-00215</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000169Configure RHEL 8 to enable Linux audit logging of the USBGuard daemon by adding or modifying the following line in "/etc/usbguard/usbguard-daemon.conf": -AuditBackend=LinuxAuditVerify RHEL 8 enables Linux audit logging of the USBGuard daemon with the following commands: +AuditBackend=LinuxAuditVerify RHEL 8 enables Linux audit logging of the USBGuard daemon with the following commands: Note: If the USBGuard daemon is not installed and enabled, this requirement is not applicable. @@ -4297,7 +4294,7 @@ If the "AuditBackend" entry does not equal "LinuxAudit", is missing, or the line $ sudo chmod 0640 /etc/audit/rules.d/audit.rules $ sudo chmod 0640 /etc/audit/rules.d/[customrulesfile].rules -$ sudo chmod 0640 /etc/audit/auditd.confVerify that the files in directory "/etc/audit/rules.d/" and "/etc/audit/auditd.conf" file have a mode of "0640" or less permissive by using the following commands: +$ sudo chmod 0640 /etc/audit/auditd.confVerify that the files in directory "/etc/audit/rules.d/" and "/etc/audit/auditd.conf" file have a mode of "0640" or less permissive by using the following commands: $ sudo ls -al /etc/audit/rules.d/*.rules @@ -4315,7 +4312,7 @@ Audit tools include, but are not limited to, vendor-provided and open source aud $ sudo chmod 0755 [audit_tool] -Replace "[audit_tool]" with the audit tool that does not have the correct permissive mode.Verify the audit tools are protected from unauthorized access, deletion, or modification by checking the permissive mode. +Replace "[audit_tool]" with the audit tool that does not have the correct permissive mode.Verify the audit tools are protected from unauthorized access, deletion, or modification by checking the permissive mode. Check the octal permission of each audit tool by running the following command: @@ -4339,7 +4336,7 @@ Satisfies: SRG-OS-000256-GPOS-00097, SRG-OS-000257-GPOS-00098, SRG-OS-000258-GPO $ sudo chown root [audit_tool] -Replace "[audit_tool]" with each audit tool not owned by "root".Verify the audit tools are owned by "root" to prevent any unauthorized access, deletion, or modification. +Replace "[audit_tool]" with each audit tool not owned by "root".Verify the audit tools are owned by "root" to prevent any unauthorized access, deletion, or modification. Check the owner of each audit tool by running the following command: @@ -4363,7 +4360,7 @@ Satisfies: SRG-OS-000256-GPOS-00097, SRG-OS-000257-GPOS-00098, SRG-OS-000258-GPO $ sudo chgrp root [audit_tool] -Replace "[audit_tool]" with each audit tool not group-owned by "root".Verify the audit tools are group-owned by "root" to prevent any unauthorized access, deletion, or modification. +Replace "[audit_tool]" with each audit tool not group-owned by "root".Verify the audit tools are group-owned by "root" to prevent any unauthorized access, deletion, or modification. Check the owner of each audit tool by running the following commands: @@ -4392,7 +4389,7 @@ To address this risk, audit tools must be cryptographically signed to provide th /usr/sbin/aureport p+i+n+u+g+s+b+acl+xattrs+sha512 /usr/sbin/autrace p+i+n+u+g+s+b+acl+xattrs+sha512 /usr/sbin/rsyslogd p+i+n+u+g+s+b+acl+xattrs+sha512 -/usr/sbin/augenrules p+i+n+u+g+s+b+acl+xattrs+sha512Verify that Advanced Intrusion Detection Environment (AIDE) is properly configured to use cryptographic mechanisms to protect the integrity of audit tools. +/usr/sbin/augenrules p+i+n+u+g+s+b+acl+xattrs+sha512Verify that Advanced Intrusion Detection Environment (AIDE) is properly configured to use cryptographic mechanisms to protect the integrity of audit tools. If AIDE is not installed, ask the System Administrator how file integrity checks are performed on the system. @@ -4414,7 +4411,7 @@ The task of allocating audit record storage capacity is usually performed during If audit records are stored on a partition made specifically for audit records, resize the partition with sufficient space to contain one week of audit records. -If audit records are not stored on a partition made specifically for audit records, a new partition with sufficient space will need be to be created.Verify RHEL 8 allocates audit record storage capacity to store at least one week of audit records when audit records are not immediately sent to a central audit record storage facility. +If audit records are not stored on a partition made specifically for audit records, a new partition with sufficient space will need be to be created.Verify RHEL 8 allocates audit record storage capacity to store at least one week of audit records when audit records are not immediately sent to a central audit record storage facility. Determine to which partition the audit records are being written with the following command: @@ -4446,7 +4443,7 @@ TCP *.* @@remotesystemname RELP *.* :omrelp:remotesystemname:2514 Note that a port number was given as there is no standard port for RELP.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the operating system to offload audit logs by installing the required packages with the following command: -$ sudo yum install rsyslogVerify the operating system has the packages required for offloading audit logs installed with the following commands: +$ sudo yum install rsyslogVerify the operating system has the packages required for offloading audit logs installed with the following commands: $ sudo yum list installed rsyslog @@ -4465,7 +4462,7 @@ TCP *.* @@remotesystemname RELP *.* :omrelp:remotesystemname:2514 Note that a port number was given as there is no standard port for RELP.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the operating system to encrypt offloaded audit logs by installing the required packages with the following command: -$ sudo yum install rsyslog-gnutlsVerify the operating system has the packages required for encrypting offloaded audit logs installed with the following commands: +$ sudo yum install rsyslog-gnutlsVerify the operating system has the packages required for encrypting offloaded audit logs installed with the following commands: $ sudo yum list installed rsyslog-gnutls @@ -4490,7 +4487,7 @@ For UDP: *.* @[logaggregationserver.example.mil]:[port] For TCP: - *.* @@[logaggregationserver.example.mil]:[port]Verify the audit system offloads audit records onto a different system or media from the system being audited with the following command: + *.* @@[logaggregationserver.example.mil]:[port]Verify the audit system offloads audit records onto a different system or media from the system being audited with the following command: $ sudo grep @@ /etc/rsyslog.conf /etc/rsyslog.d/*.conf @@ -4508,7 +4505,7 @@ Satisfies: SRG-OS-000342-GPOS-00133, SRG-OS-000479-GPOS-00224</VulnDiscussion overflow_action = syslog -The audit daemon must be restarted for changes to take effect.Verify the audit system is configured to take an appropriate action when the internal event queue is full: +The audit daemon must be restarted for changes to take effect.Verify the audit system is configured to take an appropriate action when the internal event queue is full: $ sudo grep -i overflow_action /etc/audit/auditd.conf @@ -4525,7 +4522,7 @@ RHEL 8 installation media provides "rsyslogd". "rsyslogd" is a system utility p Satisfies: SRG-OS-000342-GPOS-00133, SRG-OS-000479-GPOS-00224</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001851Configure the operating system to encrypt off-loaded audit records by setting the following options in "/etc/rsyslog.conf" or "/etc/rsyslog.d/[customfile].conf": $DefaultNetstreamDriver gtls -$ActionSendStreamDriverMode 1Verify the operating system encrypts audit records off-loaded onto a different system or media from the system being audited with the following commands: +$ActionSendStreamDriverMode 1Verify the operating system encrypts audit records off-loaded onto a different system or media from the system being audited with the following commands: $ sudo grep -i '$DefaultNetstreamDriver' /etc/rsyslog.conf /etc/rsyslog.d/*.conf @@ -4555,7 +4552,7 @@ x509/name - certificate validation and subject name authentication. Satisfies: SRG-OS-000342-GPOS-00133, SRG-OS-000479-GPOS-00224</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001851Configure the operating system to authenticate the remote logging server for off-loading audit logs by setting the following option in "/etc/rsyslog.conf" or "/etc/rsyslog.d/[customfile].conf": -$ActionSendStreamDriverAuthMode x509/nameVerify the operating system authenticates the remote logging server for off-loading audit logs with the following command: +$ActionSendStreamDriverAuthMode x509/nameVerify the operating system authenticates the remote logging server for off-loading audit logs with the following command: $ sudo grep -i '$ActionSendStreamDriverAuthMode' /etc/rsyslog.conf /etc/rsyslog.d/*.conf @@ -4567,7 +4564,7 @@ If there is no evidence that the transfer of the audit logs being off-loaded to space_left = 25% -Note: Option names and values in the auditd.conf file are case insensitive.Verify RHEL 8 takes action when allocated audit record storage volume reaches 75 percent of the repository maximum audit record storage capacity with the following commands: +Note: Option names and values in the auditd.conf file are case insensitive.Verify RHEL 8 takes action when allocated audit record storage volume reaches 75 percent of the repository maximum audit record storage capacity with the following commands: $ sudo grep -w space_left /etc/audit/auditd.conf @@ -4591,7 +4588,7 @@ Note that USNO offers authenticated NTP service to DoD and U.S. Government agenc Satisfies: SRG-OS-000355-GPOS-00143, SRG-OS-000356-GPOS-00144, SRG-OS-000359-GPOS-00146</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001891Configure the operating system to securely compare internal information system clocks at least every 24 hours with an NTP server by adding/modifying the following line in the /etc/chrony.conf file. -server [ntp.server.name] iburst maxpoll 16Verify RHEL 8 is securely comparing internal information system clocks at least every 24 hours with an NTP server with the following commands: +server [ntp.server.name] iburst maxpoll 16Verify RHEL 8 is securely comparing internal information system clocks at least every 24 hours with an NTP server with the following commands: $ sudo grep maxpoll /etc/chrony.conf @@ -4612,7 +4609,7 @@ RHEL 8 utilizes the "timedatectl" command to view the status of the "systemd-tim Note that USNO offers authenticated NTP service to DOD and U.S. Government agencies operating on the NIPR and SIPR networks. Visit https://www.usno.navy.mil/USNO/time/ntp/DOD-customers for more information.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000381Configure the operating system to disable the chrony daemon from acting as a server by adding or modifying the following line in the "/etc/chrony.conf" file: - port 0Note: If the system is approved and documented by the information system security officer (ISSO) to function as an NTP time server, this requirement is Not Applicable. + port 0Note: If the system is approved and documented by the information system security officer (ISSO) to function as an NTP time server, this requirement is Not Applicable. Verify RHEL 8 disables the chrony daemon from acting as a server with the following command: @@ -4627,7 +4624,7 @@ RHEL 8 utilizes the "timedatectl" command to view the status of the "systemd-tim Note that USNO offers authenticated NTP service to DOD and U.S. Government agencies operating on the NIPR and SIPR networks. Visit https://www.usno.navy.mil/USNO/time/ntp/DOD-customers for more information.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000381Configure the operating system disable network management of the chrony daemon by adding or modifying the following line in the "/etc/chrony.conf" file. - cmdport 0Note: If the system is approved and documented by the information system security officer (ISSO) to function as an NTP time server, this requirement is Not Applicable. + cmdport 0Note: If the system is approved and documented by the information system security officer (ISSO) to function as an NTP time server, this requirement is Not Applicable. Verify RHEL 8 disables network management of the chrony daemon with the following command: @@ -4646,7 +4643,7 @@ The telnet service provides an unencrypted remote access service that does not p If a privileged user were to log on using this service, the privileged user password could be compromised.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000381Configure the operating system to disable non-essential capabilities by removing the telnet-server package from the system with the following command: -$ sudo yum remove telnet-serverCheck to see if the telnet-server package is installed with the following command: +$ sudo yum remove telnet-serverCheck to see if the telnet-server package is installed with the following command: $ sudo yum list installed telnet-server @@ -4658,7 +4655,7 @@ Examples of non-essential capabilities include, but are not limited to, games, s Verify the operating system is configured to disable non-essential capabilities. The most secure way of ensuring a non-essential capability is disabled is to not have the capability installed.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000381Configure the operating system to disable non-essential capabilities by removing automated bug reporting packages from the system with the following command: -$ sudo yum remove abrt*Check to see if any automated bug reporting packages are installed with the following command: +$ sudo yum remove abrt*Check to see if any automated bug reporting packages are installed with the following command: $ sudo yum list installed abrt* @@ -4670,7 +4667,7 @@ Examples of non-essential capabilities include, but are not limited to, games, s Verify the operating system is configured to disable non-essential capabilities. The most secure way of ensuring a non-essential capability is disabled is to not have the capability installed.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000381Configure the operating system to disable non-essential capabilities by removing the sendmail package from the system with the following command: -$ sudo yum remove sendmailCheck to see if the sendmail package is installed with the following command: +$ sudo yum remove sendmailCheck to see if the sendmail package is installed with the following command: $ sudo yum list installed sendmail @@ -4688,7 +4685,7 @@ $ sudo grubby --update-kernel=ALL --args="pti=on" Add or modify the following line in "/etc/default/grub" to ensure the configuration survives kernel updates: -GRUB_CMDLINE_LINUX="pti=on"Verify RHEL 8 enables kernel page-table isolation with the following commands: +GRUB_CMDLINE_LINUX="pti=on"Verify RHEL 8 enables kernel page-table isolation with the following commands: $ sudo grub2-editenv list | grep pti @@ -4712,22 +4709,22 @@ If a privileged user were to log on using this service, the privileged user pass Satisfies: SRG-OS-000095-GPOS-00049, SRG-OS-000074-GPOS-00042</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000381Configure the operating system to disable non-essential capabilities by removing the rsh-server package from the system with the following command: -$ sudo yum remove rsh-serverCheck to see if the rsh-server package is installed with the following command: +$ sudo yum remove rsh-serverCheck to see if the rsh-server package is installed with the following command: $ sudo yum list installed rsh-server -If the rsh-server package is installed, this is a finding.SRG-OS-000095-GPOS-00049<GroupDescription></GroupDescription>RHEL-08-040020RHEL 8 must cover or disable the built-in or attached camera when not in use.<VulnDiscussion>It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. +If the rsh-server package is installed, this is a finding.SRG-OS-000095-GPOS-00049<GroupDescription></GroupDescription>RHEL-08-040020RHEL 8 must cover or disable the built-in or attached camera when not in use.<VulnDiscussion>It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Failing to disconnect from collaborative computing devices (i.e., cameras) can result in subsequent compromises of organizational information. Providing easy methods to physically disconnect from such devices after a collaborative computing session helps to ensure participants actually carry out the disconnect activity without having to go through complex and tedious procedures. -Satisfies: SRG-OS-000095-GPOS-00049, SRG-OS-000370-GPOS-00155</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000381Configure the operating system to disable the built-in or attached camera when not in use. +Satisfies: SRG-OS-000095-GPOS-00049, SRG-OS-000370-GPOS-00155</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000381Configure the operating system to disable the built-in or attached camera when not in use. Build or modify the "/etc/modprobe.d/blacklist.conf" file by using the following example: -install uvcvideo /bin/true -blacklist uvcvideo + install uvcvideo /bin/false + blacklist uvcvideo -Reboot the system for the settings to take effect.If the device or operating system does not have a camera installed, this requirement is not applicable. +Reboot the system for the settings to take effect.If the device or operating system does not have a camera installed, this requirement is not applicable. This requirement is not applicable to mobile devices (smartphones and tablets), where the use of the camera is a local AO decision. @@ -4741,34 +4738,31 @@ If the camera is not disconnected, covered, or physically disabled, determine if Verify the operating system disables the ability to load the uvcvideo kernel module. -$ sudo grep -r uvcvideo /etc/modprobe.d/* | grep "/bin/true" - -install uvcvideo /bin/true + $ sudo grep -r uvcvideo /etc/modprobe.d/* | grep "/bin/false" + install uvcvideo /bin/false If the command does not return any output, or the line is commented out, and the collaborative computing device has not been authorized for use, this is a finding. Verify the camera is disabled via blacklist with the following command: -$ sudo grep -r uvcvideo /etc/modprobe.d/* | grep "blacklist" + $ sudo grep -r uvcvideo /etc/modprobe.d/* | grep "blacklist" + blacklist uvcvideo -blacklist uvcvideo - -If the command does not return any output or the output is not "blacklist uvcvideo", and the collaborative computing device has not been authorized for use, this is a finding.SRG-OS-000095-GPOS-00049<GroupDescription></GroupDescription>RHEL-08-040021RHEL 8 must disable the asynchronous transfer mode (ATM) protocol.<VulnDiscussion>It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. +If the command does not return any output or the output is not "blacklist uvcvideo", and the collaborative computing device has not been authorized for use, this is a finding.SRG-OS-000095-GPOS-00049<GroupDescription></GroupDescription>RHEL-08-040021RHEL 8 must disable the asynchronous transfer mode (ATM) protocol.<VulnDiscussion>It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Failing to disconnect unused protocols can result in a system compromise. -The Asynchronous Transfer Mode (ATM) is a protocol operating on network, data link, and physical layers, based on virtual circuits and virtual paths. Disabling ATM protects the system against exploitation of any laws in its implementation.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000381Configure the operating system to disable the ability to use the ATM protocol kernel module. +The Asynchronous Transfer Mode (ATM) is a protocol operating on network, data link, and physical layers, based on virtual circuits and virtual paths. Disabling ATM protects the system against exploitation of any laws in its implementation.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000381Configure the operating system to disable the ability to use the ATM protocol kernel module. Add or update the following lines in the file "/etc/modprobe.d/blacklist.conf": -install atm /bin/true -blacklist atm - -Reboot the system for the settings to take effect.Verify the operating system disables the ability to load the ATM protocol kernel module. + install atm /bin/false + blacklist atm -$ sudo grep -r atm /etc/modprobe.d/* | grep "/bin/true" +Reboot the system for the settings to take effect.Verify the operating system disables the ability to load the ATM protocol kernel module. -install atm /bin/true + $ sudo grep -r atm /etc/modprobe.d/* | grep "/bin/false" + install atm /bin/false If the command does not return any output, or the line is commented out, and use of the ATM protocol is not documented with the Information System Security Officer (ISSO) as an operational requirement, this is a finding. @@ -4776,26 +4770,24 @@ Verify the operating system disables the ability to use the ATM protocol. Check to see if the ATM protocol is disabled with the following command: -$ sudo grep -r atm /etc/modprobe.d/* | grep "blacklist" - -blacklist atm + $ sudo grep -r atm /etc/modprobe.d/* | grep "blacklist" + blacklist atm -If the command does not return any output or the output is not "blacklist atm", and use of the ATM protocol is not documented with the Information System Security Officer (ISSO) as an operational requirement, this is a finding.SRG-OS-000095-GPOS-00049<GroupDescription></GroupDescription>RHEL-08-040022RHEL 8 must disable the controller area network (CAN) protocol.<VulnDiscussion>It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. +If the command does not return any output or the output is not "blacklist atm", and use of the ATM protocol is not documented with the ISSO as an operational requirement, this is a finding.SRG-OS-000095-GPOS-00049<GroupDescription></GroupDescription>RHEL-08-040022RHEL 8 must disable the controller area network (CAN) protocol.<VulnDiscussion>It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Failing to disconnect unused protocols can result in a system compromise. -The Controller Area Network (CAN) is a serial communications protocol, which was initially developed for automotive and is now also used in marine, industrial, and medical applications. Disabling CAN protects the system against exploitation of any flaws in its implementation.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000381Configure the operating system to disable the ability to use the CAN protocol kernel module. +The Controller Area Network (CAN) is a serial communications protocol, which was initially developed for automotive and is now also used in marine, industrial, and medical applications. Disabling CAN protects the system against exploitation of any flaws in its implementation.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000381Configure the operating system to disable the ability to use the CAN protocol kernel module. Add or update the following lines in the file "/etc/modprobe.d/blacklist.conf": -install can /bin/true -blacklist can + install can /bin/false + blacklist can -Reboot the system for the settings to take effect.Verify the operating system disables the ability to load the CAN protocol kernel module. +Reboot the system for the settings to take effect.Verify the operating system disables the ability to load the CAN protocol kernel module. -$ sudo grep -r can /etc/modprobe.d/* | grep "/bin/true" - -install can /bin/true + $ sudo grep -r can /etc/modprobe.d/* | grep "/bin/false" + install can /bin/false If the command does not return any output, or the line is commented out, and use of the CAN protocol is not documented with the Information System Security Officer (ISSO) as an operational requirement, this is a finding. @@ -4803,26 +4795,24 @@ Verify the operating system disables the ability to use the CAN protocol. Check to see if the CAN protocol is disabled with the following command: -$ sudo grep -r can /etc/modprobe.d/* | grep "blacklist" - -blacklist can + $ sudo grep -r can /etc/modprobe.d/* | grep "blacklist" + blacklist can -If the command does not return any output or the output is not "blacklist can", and use of the CAN protocol is not documented with the Information System Security Officer (ISSO) as an operational requirement, this is a finding.SRG-OS-000095-GPOS-00049<GroupDescription></GroupDescription>RHEL-08-040023RHEL 8 must disable the stream control transmission protocol (SCTP).<VulnDiscussion>It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. +If the command does not return any output or the output is not "blacklist can", and use of the CAN protocol is not documented with the ISSO as an operational requirement, this is a finding.SRG-OS-000095-GPOS-00049<GroupDescription></GroupDescription>RHEL-08-040023RHEL 8 must disable the stream control transmission protocol (SCTP).<VulnDiscussion>It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Failing to disconnect unused protocols can result in a system compromise. -The Stream Control Transmission Protocol (SCTP) is a transport layer protocol, designed to support the idea of message-oriented communication, with several streams of messages within one connection. Disabling SCTP protects the system against exploitation of any flaws in its implementation.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000381Configure the operating system to disable the ability to use the SCTP kernel module. +The Stream Control Transmission Protocol (SCTP) is a transport layer protocol, designed to support the idea of message-oriented communication, with several streams of messages within one connection. Disabling SCTP protects the system against exploitation of any flaws in its implementation.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000381Configure the operating system to disable the ability to use the SCTP kernel module. Add or update the following lines in the file "/etc/modprobe.d/blacklist.conf": -install sctp /bin/true -blacklist sctp - -Reboot the system for the settings to take effect.Verify the operating system disables the ability to load the SCTP kernel module. + install sctp /bin/false + blacklist sctp -$ sudo grep -r sctp /etc/modprobe.d/* | grep "/bin/true" +Reboot the system for the settings to take effect.Verify the operating system disables the ability to load the SCTP kernel module. -install sctp /bin/true + $ sudo grep -r sctp /etc/modprobe.d/* | grep "/bin/false" + install sctp /bin/false If the command does not return any output, or the line is commented out, and use of the SCTP is not documented with the Information System Security Officer (ISSO) as an operational requirement, this is a finding. @@ -4830,26 +4820,24 @@ Verify the operating system disables the ability to use the SCTP. Check to see if the SCTP is disabled with the following command: -$ sudo grep -r sctp /etc/modprobe.d/* | grep "blacklist" + $ sudo grep -r sctp /etc/modprobe.d/* | grep "blacklist" + blacklist sctp -blacklist sctp - -If the command does not return any output or the output is not "blacklist sctp", and use of the SCTP is not documented with the Information System Security Officer (ISSO) as an operational requirement, this is a finding.SRG-OS-000095-GPOS-00049<GroupDescription></GroupDescription>RHEL-08-040024RHEL 8 must disable the transparent inter-process communication (TIPC) protocol.<VulnDiscussion>It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. +If the command does not return any output or the output is not "blacklist sctp", and use of the SCTP is not documented with the ISSO as an operational requirement, this is a finding.SRG-OS-000095-GPOS-00049<GroupDescription></GroupDescription>RHEL-08-040024RHEL 8 must disable the transparent inter-process communication (TIPC) protocol.<VulnDiscussion>It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Failing to disconnect unused protocols can result in a system compromise. -The Transparent Inter-Process Communication (TIPC) protocol is designed to provide communications between nodes in a cluster. Disabling TIPC protects the system against exploitation of any flaws in its implementation.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000381Configure the operating system to disable the ability to use the TIPC protocol kernel module. +The Transparent Inter-Process Communication (TIPC) protocol is designed to provide communications between nodes in a cluster. Disabling TIPC protects the system against exploitation of any flaws in its implementation.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000381Configure the operating system to disable the ability to use the TIPC protocol kernel module. Add or update the following lines in the file "/etc/modprobe.d/blacklist.conf": -install tipc /bin/true -blacklist tipc - -Reboot the system for the settings to take effect.Verify the operating system disables the ability to load the TIPC protocol kernel module. + install tipc /bin/false + blacklist tipc -$ sudo grep -r tipc /etc/modprobe.d/* | grep "/bin/true" +Reboot the system for the settings to take effect.Verify the operating system disables the ability to load the TIPC protocol kernel module. -install tipc /bin/true + $ sudo grep -r tipc /etc/modprobe.d/* | grep "/bin/false" + install tipc /bin/false If the command does not return any output, or the line is commented out, and use of the TIPC protocol is not documented with the Information System Security Officer (ISSO) as an operational requirement, this is a finding. @@ -4857,26 +4845,24 @@ Verify the operating system disables the ability to use the TIPC protocol. Check to see if the TIPC protocol is disabled with the following command: -$ sudo grep -r tipc /etc/modprobe.d/* | grep "blacklist" - -blacklist tipc + $ sudo grep -r tipc /etc/modprobe.d/* | grep "blacklist" + blacklist tipc -If the command does not return any output or the output is not "blacklist tipc", and use of the TIPC protocol is not documented with the Information System Security Officer (ISSO) as an operational requirement, this is a finding.SRG-OS-000095-GPOS-00049<GroupDescription></GroupDescription>RHEL-08-040025RHEL 8 must disable mounting of cramfs.<VulnDiscussion>It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. +If the command does not return any output or the output is not "blacklist tipc", and use of the TIPC protocol is not documented with the ISSO as an operational requirement, this is a finding.SRG-OS-000095-GPOS-00049<GroupDescription></GroupDescription>RHEL-08-040025RHEL 8 must disable mounting of cramfs.<VulnDiscussion>It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Removing support for unneeded filesystem types reduces the local attack surface of the server. -Compressed ROM/RAM file system (or cramfs) is a read-only file system designed for simplicity and space-efficiency. It is mainly used in embedded and small-footprint systems.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000381Configure the operating system to disable the ability to use the cramfs kernel module. +Compressed ROM/RAM file system (or cramfs) is a read-only file system designed for simplicity and space-efficiency. It is mainly used in embedded and small-footprint systems.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000381Configure the operating system to disable the ability to use the cramfs kernel module. Add or update the following lines in the file "/etc/modprobe.d/blacklist.conf": -install cramfs /bin/true -blacklist cramfs + install cramfs /bin/false + blacklist cramfs -Reboot the system for the settings to take effect.Verify the operating system disables the ability to load the cramfs kernel module. +Reboot the system for the settings to take effect.Verify the operating system disables the ability to load the cramfs kernel module. -$ sudo grep -r cramfs /etc/modprobe.d/* | grep "/bin/true" - -install cramfs /bin/true + $ sudo grep -r cramfs /etc/modprobe.d/* | grep "/bin/false" + install cramfs /bin/false If the command does not return any output, or the line is commented out, and use of the cramfs protocol is not documented with the Information System Security Officer (ISSO) as an operational requirement, this is a finding. @@ -4884,24 +4870,22 @@ Verify the operating system disables the ability to use the cramfs kernel module Check to see if the cramfs kernel module is disabled with the following command: -$ sudo grep -r cramfs /etc/modprobe.d/* | grep "blacklist" - -blacklist cramfs + $ sudo grep -r cramfs /etc/modprobe.d/* | grep "blacklist" + blacklist cramfs -If the command does not return any output or the output is not "blacklist cramfs", and use of the cramfs kernel module is not documented with the Information System Security Officer (ISSO) as an operational requirement, this is a finding.SRG-OS-000095-GPOS-00049<GroupDescription></GroupDescription>RHEL-08-040026RHEL 8 must disable IEEE 1394 (FireWire) Support.<VulnDiscussion>It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. +If the command does not return any output or the output is not "blacklist cramfs", and use of the cramfs kernel module is not documented with the ISSO as an operational requirement, this is a finding.SRG-OS-000095-GPOS-00049<GroupDescription></GroupDescription>RHEL-08-040026RHEL 8 must disable IEEE 1394 (FireWire) Support.<VulnDiscussion>It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. -The IEEE 1394 (FireWire) is a serial bus standard for high-speed real-time communication. Disabling FireWire protects the system against exploitation of any flaws in its implementation.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000381Configure the operating system to disable the ability to use the firewire-core kernel module. +The IEEE 1394 (FireWire) is a serial bus standard for high-speed real-time communication. Disabling FireWire protects the system against exploitation of any flaws in its implementation.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000381Configure the operating system to disable the ability to use the firewire-core kernel module. Add or update the following lines in the file "/etc/modprobe.d/blacklist.conf": -install firewire-core /bin/true -blacklist firewire-core - -Reboot the system for the settings to take effect.Verify the operating system disables the ability to load the firewire-core kernel module. + install firewire-core /bin/false + blacklist firewire-core -$ sudo grep -r firewire-core /etc/modprobe.d/* | grep "/bin/true" +Reboot the system for the settings to take effect.Verify the operating system disables the ability to load the firewire-core kernel module. -install firewire-core /bin/true + $ sudo grep -r firewire-core /etc/modprobe.d/* | grep "/bin/false" + install firewire-core /bin/false If the command does not return any output, or the line is commented out, and use of the firewire-core protocol is not documented with the Information System Security Officer (ISSO) as an operational requirement, this is a finding. @@ -4909,15 +4893,14 @@ Verify the operating system disables the ability to use the firewire-core kernel Check to see if the firewire-core kernel module is disabled with the following command: -$ sudo grep -r firewire-core /etc/modprobe.d/* | grep "blacklist" + $ sudo grep -r firewire-core /etc/modprobe.d/* | grep "blacklist" + blacklist firewire-core -blacklist firewire-core - -If the command does not return any output or the output is not "blacklist firewire-core", and use of the firewire-core kernel module is not documented with the Information System Security Officer (ISSO) as an operational requirement, this is a finding.SRG-OS-000096-GPOS-00050<GroupDescription></GroupDescription>RHEL-08-040030RHEL 8 must be configured to prohibit or restrict the use of functions, ports, protocols, and/or services, as defined in the Ports, Protocols, and Services Management (PPSM) Category Assignments List (CAL) and vulnerability assessments.<VulnDiscussion>To prevent unauthorized connection of devices, unauthorized transfer of information, or unauthorized tunneling (i.e., embedding of data types within data types), organizations must disable or restrict unused or unnecessary physical and logical ports/protocols on information systems. +If the command does not return any output or the output is not "blacklist firewire-core", and use of the firewire-core kernel module is not documented with the ISSO as an operational requirement, this is a finding.SRG-OS-000096-GPOS-00050<GroupDescription></GroupDescription>RHEL-08-040030RHEL 8 must be configured to prohibit or restrict the use of functions, ports, protocols, and/or services, as defined in the Ports, Protocols, and Services Management (PPSM) Category Assignments List (CAL) and vulnerability assessments.<VulnDiscussion>To prevent unauthorized connection of devices, unauthorized transfer of information, or unauthorized tunneling (i.e., embedding of data types within data types), organizations must disable or restrict unused or unnecessary physical and logical ports/protocols on information systems. Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services provided by default may not be necessary to support essential organizational operations. Additionally, it is sometimes convenient to provide multiple services from a single component (e.g., VPN and IPS); however, doing so increases risk over limiting the services provided by any one component. -To support the requirements and principles of least functionality, the operating system must support the organizational requirements, providing only essential capabilities and limiting the use of ports, protocols, and/or services to only those required, authorized, and approved to conduct official business or to address authorized quality-of-life issues.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000382Update the host's firewall settings and/or running services to comply with the PPSM Component Local Service Assessment (CLSA) for the site or program and the PPSM CAL.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. +To support the requirements and principles of least functionality, the operating system must support the organizational requirements, providing only essential capabilities and limiting the use of ports, protocols, and/or services to only those required, authorized, and approved to conduct official business or to address authorized quality-of-life issues.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000382Update the host's firewall settings and/or running services to comply with the PPSM Component Local Service Assessment (CLSA) for the site or program and the PPSM CAL.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. Check which services are currently active with the following command: @@ -4944,7 +4927,7 @@ Turn off the automount service with the following commands: $ sudo systemctl stop autofs $ sudo systemctl disable autofs -If "autofs" is required for Network File System (NFS), it must be documented with the ISSO.Verify the operating system disables the ability to automount devices. +If "autofs" is required for Network File System (NFS), it must be documented with the ISSO.Verify the operating system disables the ability to automount devices. Check to see if automounter service is active with the following command: @@ -4956,20 +4939,19 @@ autofs.service - Automounts filesystems on demand Loaded: loaded (/usr/lib/systemd/system/autofs.service; disabled) Active: inactive (dead) -If the "autofs" status is set to "active" and is not documented with the Information System Security Officer (ISSO) as an operational requirement, this is a finding.SRG-OS-000114-GPOS-00059<GroupDescription></GroupDescription>RHEL-08-040080RHEL 8 must be configured to disable USB mass storage.<VulnDiscussion>USB mass storage permits easy introduction of unknown devices, thereby facilitating malicious activity. +If the "autofs" status is set to "active" and is not documented with the Information System Security Officer (ISSO) as an operational requirement, this is a finding.SRG-OS-000114-GPOS-00059<GroupDescription></GroupDescription>RHEL-08-040080RHEL 8 must be configured to disable USB mass storage.<VulnDiscussion>USB mass storage permits easy introduction of unknown devices, thereby facilitating malicious activity. -Satisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000778Configure the operating system to disable the ability to use the USB Storage kernel module and the ability to use USB mass storage devices. +Satisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000778Configure the operating system to disable the ability to use the USB Storage kernel module and the ability to use USB mass storage devices. Add or update the following lines in the file "/etc/modprobe.d/blacklist.conf": -install usb-storage /bin/true -blacklist usb-storage - -Reboot the system for the settings to take effect.Verify the operating system disables the ability to load the USB Storage kernel module. + install usb-storage /bin/false + blacklist usb-storage -$ sudo grep -r usb-storage /etc/modprobe.d/* | grep -i "/bin/true" +Reboot the system for the settings to take effect.Verify the operating system disables the ability to load the USB Storage kernel module. -install usb-storage /bin/true + $ sudo grep -r usb-storage /etc/modprobe.d/* | grep -i "/bin/false" + install usb-storage /bin/false If the command does not return any output, or the line is commented out, and use of USB Storage is not documented with the Information System Security Officer (ISSO) as an operational requirement, this is a finding. @@ -4977,47 +4959,51 @@ Verify the operating system disables the ability to use USB mass storage devices Check to see if USB mass storage is disabled with the following command: -$ sudo grep usb-storage /etc/modprobe.d/* | grep -i "blacklist" + $ sudo grep usb-storage /etc/modprobe.d/* | grep -i "blacklist" + blacklist usb-storage -blacklist usb-storage +If the command does not return any output or the output is not "blacklist usb-storage" and use of USB storage devices is not documented with the ISSO as an operational requirement, this is a finding.SRG-OS-000297-GPOS-00115<GroupDescription></GroupDescription>RHEL-08-040090A RHEL 8 firewall must employ a deny-all, allow-by-exception policy for allowing connections to other systems.<VulnDiscussion>Failure to restrict network connectivity only to authorized systems permits inbound connections from malicious systems. It also permits outbound connections that may facilitate exfiltration of DoD data. -If the command does not return any output or the output is not "blacklist usb-storage" and use of USB storage devices is not documented with the Information System Security Officer (ISSO) as an operational requirement, this is a finding.SRG-OS-000297-GPOS-00115<GroupDescription></GroupDescription>RHEL-08-040090A RHEL 8 firewall must employ a deny-all, allow-by-exception policy for allowing connections to other systems.<VulnDiscussion>Failure to restrict network connectivity only to authorized systems permits inbound connections from malicious systems. It also permits outbound connections that may facilitate exfiltration of DoD data. +RHEL 8 incorporates the "firewalld" daemon, which allows for many different configurations. One of these configurations is zones. Zones can be utilized to a deny-all, allow-by-exception approach. The default "drop" zone will drop all incoming network packets unless it is explicitly allowed by the configuration file or is related to an outgoing network connection.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-002314Configure the "firewalld" daemon to employ a deny-all, allow-by-exception with the following commands: -RHEL 8 incorporates the "firewalld" daemon, which allows for many different configurations. One of these configurations is zones. Zones can be utilized to a deny-all, allow-by-exception approach. The default "drop" zone will drop all incoming network packets unless it is explicitly allowed by the configuration file or is related to an outgoing network connection.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-002314Configure the "firewalld" daemon to employ a deny-all, allow-by-exception with the following commands: + $ sudo firewall-cmd --permanent --new-zone=[custom] -$ sudo firewall-cmd --permanent --new-zone=[custom] + $ sudo cp /usr/lib/firewalld/zones/drop.xml /etc/firewalld/zones/[custom].xml -$ sudo cp /usr/lib/firewalld/zones/drop.xml /etc/firewalld/zones/[custom].xml +This will provide a clean configuration file to work with that employs a deny-all approach. -This will provide a clean configuration file to work with that employs a deny-all approach. Note: Add the exceptions that are required for mission functionality and update the short title in the xml file to match the [custom] zone name. +Note: Add the exceptions that are required for mission functionality and update the short title in the xml file to match the [custom] zone name. Reload the firewall rules to make the new [custom] zone available to load: -$ sudo firewall-cmd --reload + $ sudo firewall-cmd --reload Set the default zone to the new [custom] zone: -$ sudo firewall-cmd --set-default-zone=[custom] + $ sudo firewall-cmd --set-default-zone=[custom] Note: This is a runtime and permanent change. Add any interfaces to the new [custom] zone: -$ sudo firewall-cmd --permanent --zone=[custom] --change-interface=ens33 + $ sudo firewall-cmd --permanent --zone=[custom] --change-interface=ens33 Reload the firewall rules for changes to take effect: -$ sudo firewall-cmd --reloadVerify "firewalld" is configured to employ a deny-all, allow-by-exception policy for allowing connections to other systems with the following commands: + $ sudo firewall-cmd --reloadVerify "firewalld" is configured to employ a deny-all, allow-by-exception policy for allowing connections to other systems with the following commands: -$ sudo firewall-cmd --state + $ sudo firewall-cmd --state + running -running + $ sudo firewall-cmd --get-active-zones + [custom] + interfaces: ens33 -$ sudo firewall-cmd --get-active-zones + $ sudo firewall-cmd --info-zone=[custom] | grep target + target: DROP -[custom] - interfaces: ens33 +If no zones are active on the RHEL 8 interfaces or if the target is set to a different option other than "DROP", this is a finding. -$ sudo firewall-cmd --info-zone=[custom] | grep target +If the "firewalld" package is not installed, ask the System Administrator if an alternate firewall (such as iptables) is installed and in use, and how is it configured to employ a deny-all, allow-by-exception policy. - target: DROP +If the alternate firewall is not configured to employ a deny-all, allow-by-exception policy, this is a finding. -If no zones are active on the RHEL 8 interfaces or if the target is set to a different option other than "DROP", this is a finding.SRG-OS-000297-GPOS-00115<GroupDescription></GroupDescription>RHEL-08-040100A firewall must be installed on RHEL 8.<VulnDiscussion>"Firewalld" provides an easy and effective way to block/limit remote access to the system via ports, services, and protocols. +If no firewall is installed, this is a finding.SRG-OS-000297-GPOS-00115<GroupDescription></GroupDescription>RHEL-08-040100A firewall must be installed on RHEL 8.<VulnDiscussion>"Firewalld" provides an easy and effective way to block/limit remote access to the system via ports, services, and protocols. Remote access services, such as those providing remote access to network devices and information systems, which lack automated control capabilities, increase risk and make remote user access management difficult at best. @@ -5025,7 +5011,7 @@ Remote access is access to DoD nonpublic information systems by an authorized us RHEL 8 functionality (e.g., RDP) must be capable of taking enforcement action if the audit reveals unauthorized activity. Automated control of remote access sessions allows organizations to ensure ongoing compliance with remote access policies by enforcing connection rules of remote access applications on a variety of information system components (e.g., servers, workstations, notebook computers, smartphones, and tablets).</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-002314Install "firewalld" with the following command: -$ sudo yum install firewalld.noarchVerify that "firewalld" is installed with the following commands: +$ sudo yum install firewalld.noarchVerify that "firewalld" is installed with the following commands: $ sudo yum list installed firewalld @@ -5039,7 +5025,7 @@ Protecting the confidentiality and integrity of communications with wireless per Satisfies: SRG-OS-000299-GPOS-00117, SRG-OS-000300-GPOS-00118, SRG-OS-000481-GPOS-000481</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001444Configure the system to disable all wireless network interfaces with the following command: -$ sudo nmcli radio all offVerify there are no wireless interfaces configured on the system with the following command: +$ sudo nmcli radio all offVerify there are no wireless interfaces configured on the system with the following command: Note: This requirement is Not Applicable for systems that do not have physical wireless network radios. @@ -5053,41 +5039,39 @@ p2p-dev-wlp7s0 wifi-p2p disconnected -- lo loopback unmanaged -- virbr0-nic tun unmanaged -- -If a wireless interface is configured and has not been documented and approved by the Information System Security Officer (ISSO), this is a finding.SRG-OS-000300-GPOS-00118<GroupDescription></GroupDescription>RHEL-08-040111RHEL 8 Bluetooth must be disabled.<VulnDiscussion>Without protection of communications with wireless peripherals, confidentiality and integrity may be compromised because unprotected communications can be intercepted and either read, altered, or used to compromise the RHEL 8 operating system. +If a wireless interface is configured and has not been documented and approved by the Information System Security Officer (ISSO), this is a finding.SRG-OS-000300-GPOS-00118<GroupDescription></GroupDescription>RHEL-08-040111RHEL 8 Bluetooth must be disabled.<VulnDiscussion>Without protection of communications with wireless peripherals, confidentiality and integrity may be compromised because unprotected communications can be intercepted and either read, altered, or used to compromise the RHEL 8 operating system. This requirement applies to wireless peripheral technologies (e.g., wireless mice, keyboards, displays, etc.) used with RHEL 8 systems. Wireless peripherals (e.g., Wi-Fi/Bluetooth/IR Keyboards, Mice, and Pointing Devices and Near Field Communications [NFC]) present a unique challenge by creating an open, unsecured port on a computer. Wireless peripherals must meet DoD requirements for wireless data transmission and be approved for use by the Authorizing Official (AO). Even though some wireless peripherals, such as mice and pointing devices, do not ordinarily carry information that need to be protected, modification of communications with these wireless peripherals may be used to compromise the RHEL 8 operating system. Communication paths outside the physical protection of a controlled boundary are exposed to the possibility of interception and modification. -Protecting the confidentiality and integrity of communications with wireless peripherals can be accomplished by physical means (e.g., employing physical barriers to wireless radio frequencies) or by logical means (e.g., employing cryptographic techniques). If physical means of protection are employed, then logical means (cryptography) do not have to be employed, and vice versa. If the wireless peripheral is only passing telemetry data, encryption of the data may not be required.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001443Configure the operating system to disable the Bluetooth adapter when not in use. +Protecting the confidentiality and integrity of communications with wireless peripherals can be accomplished by physical means (e.g., employing physical barriers to wireless radio frequencies) or by logical means (e.g., employing cryptographic techniques). If physical means of protection are employed, then logical means (cryptography) do not have to be employed, and vice versa. If the wireless peripheral is only passing telemetry data, encryption of the data may not be required.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001443Configure the operating system to disable the Bluetooth adapter when not in use. Build or modify the "/etc/modprobe.d/bluetooth.conf" file with the following line: -install bluetooth /bin/true + install bluetooth /bin/false Disable the ability to use the Bluetooth kernel module. -$ sudo vi /etc/modprobe.d/blacklist.conf + $ sudo vi /etc/modprobe.d/blacklist.conf Add or update the line: -blacklist bluetooth + blacklist bluetooth -Reboot the system for the settings to take effect.If the device or operating system does not have a Bluetooth adapter installed, this requirement is not applicable. +Reboot the system for the settings to take effect.If the device or operating system does not have a Bluetooth adapter installed, this requirement is not applicable. This requirement is not applicable to mobile devices (smartphones and tablets), where the use of Bluetooth is a local AO decision. Determine if Bluetooth is disabled with the following command: -$ sudo grep bluetooth /etc/modprobe.d/* - -/etc/modprobe.d/bluetooth.conf:install bluetooth /bin/true + $ sudo grep bluetooth /etc/modprobe.d/* + /etc/modprobe.d/bluetooth.conf:install bluetooth /bin/false If the Bluetooth driver blacklist entry is missing, a Bluetooth driver is determined to be in use, and the collaborative computing device has not been authorized for use, this is a finding. Verify the operating system disables the ability to use Bluetooth with the following command: -$ sudo grep -r bluetooth /etc/modprobe.d | grep -i "blacklist" | grep -v "^#" - -blacklist bluetooth + $ sudo grep -r bluetooth /etc/modprobe.d | grep -i "blacklist" | grep -v "^#" + blacklist bluetooth If the command does not return any output or the output is not "blacklist bluetooth", and use of Bluetooth is not documented with the ISSO as an operational requirement, this is a finding.SRG-OS-000368-GPOS-00154<GroupDescription></GroupDescription>RHEL-08-040120RHEL 8 must mount /dev/shm with the nodev option.<VulnDiscussion>The organization must identify authorized software programs and permit execution of authorized software. The process used to identify software programs that are authorized to execute on organizational information systems is commonly referred to as whitelisting. @@ -5097,7 +5081,7 @@ The "nodev" mount option causes the system to not interpret character or block s The "nosuid" mount option causes the system to not execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001764Configure the system so that /dev/shm is mounted with the "nodev" option by adding /modifying the /etc/fstab with the following line: -tmpfs /dev/shm tmpfs defaults,nodev,nosuid,noexec 0 0Verify "/dev/shm" is mounted with the "nodev" option: +tmpfs /dev/shm tmpfs defaults,nodev,nosuid,noexec 0 0Verify "/dev/shm" is mounted with the "nodev" option: $ sudo mount | grep /dev/shm @@ -5115,7 +5099,7 @@ The "noexec" mount option causes the system to not execute binary files. This op 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. The "nosuid" mount option causes the system to not execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001764Configure the system so that /dev/shm is mounted with the "nosuid" option by adding /modifying the /etc/fstab with the following line: -tmpfs /dev/shm tmpfs defaults,nodev,nosuid,noexec 0 0Verify "/dev/shm" is mounted with the "nosuid" option: +tmpfs /dev/shm tmpfs defaults,nodev,nosuid,noexec 0 0Verify "/dev/shm" is mounted with the "nosuid" option: $ sudo mount | grep /dev/shm @@ -5135,7 +5119,7 @@ The "nodev" mount option causes the system to not interpret character or block s The "nosuid" mount option causes the system to not execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001764Configure the system so that /dev/shm is mounted with the "noexec" option by adding /modifying the /etc/fstab with the following line: -tmpfs /dev/shm tmpfs defaults,nodev,nosuid,noexec 0 0Verify "/dev/shm" is mounted with the "noexec" option: +tmpfs /dev/shm tmpfs defaults,nodev,nosuid,noexec 0 0Verify "/dev/shm" is mounted with the "noexec" option: $ sudo mount | grep /dev/shm @@ -5155,7 +5139,7 @@ The "nodev" mount option causes the system to not interpret character or block s The "nosuid" mount option causes the system to not execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001764Configure the system so that /tmp is mounted with the "nodev" option by adding /modifying the /etc/fstab with the following line: -/dev/mapper/rhel-tmp /tmp xfs defaults,nodev,nosuid,noexec 0 0Verify "/tmp" is mounted with the "nodev" option: +/dev/mapper/rhel-tmp /tmp xfs defaults,nodev,nosuid,noexec 0 0Verify "/tmp" is mounted with the "nodev" option: $ sudo mount | grep /tmp @@ -5173,7 +5157,7 @@ The "noexec" mount option causes the system to not execute binary files. This op 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. The "nosuid" mount option causes the system to not execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001764Configure the system so that /tmp is mounted with the "nosuid" option by adding /modifying the /etc/fstab with the following line: -/dev/mapper/rhel-tmp /tmp xfs defaults,nodev,nosuid,noexec 0 0Verify "/tmp" is mounted with the "nosuid" option: +/dev/mapper/rhel-tmp /tmp xfs defaults,nodev,nosuid,noexec 0 0Verify "/tmp" is mounted with the "nosuid" option: $ sudo mount | grep /tmp @@ -5193,7 +5177,7 @@ The "nodev" mount option causes the system to not interpret character or block s The "nosuid" mount option causes the system to not execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001764Configure the system so that /tmp is mounted with the "noexec" option by adding /modifying the /etc/fstab with the following line: -/dev/mapper/rhel-tmp /tmp xfs defaults,nodev,nosuid,noexec 0 0Verify "/tmp" is mounted with the "noexec" option: +/dev/mapper/rhel-tmp /tmp xfs defaults,nodev,nosuid,noexec 0 0Verify "/tmp" is mounted with the "noexec" option: $ sudo mount | grep /tmp @@ -5213,7 +5197,7 @@ The "nodev" mount option causes the system to not interpret character or block s The "nosuid" mount option causes the system to not execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001764Configure the system so that /var/log is mounted with the "nodev" option by adding /modifying the /etc/fstab with the following line: -/dev/mapper/rhel-var-log /var/log xfs defaults,nodev,nosuid,noexec 0 0Verify "/var/log" is mounted with the "nodev" option: +/dev/mapper/rhel-var-log /var/log xfs defaults,nodev,nosuid,noexec 0 0Verify "/var/log" is mounted with the "nodev" option: $ sudo mount | grep /var/log @@ -5233,7 +5217,7 @@ The "nodev" mount option causes the system to not interpret character or block s The "nosuid" mount option causes the system to not execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001764Configure the system so that /var/log is mounted with the "nosuid" option by adding /modifying the /etc/fstab with the following line: -/dev/mapper/rhel-var-log /var/log xfs defaults,nodev,nosuid,noexec 0 0Verify "/var/log" is mounted with the "nosuid" option: +/dev/mapper/rhel-var-log /var/log xfs defaults,nodev,nosuid,noexec 0 0Verify "/var/log" is mounted with the "nosuid" option: $ sudo mount | grep /var/log @@ -5253,7 +5237,7 @@ The "nodev" mount option causes the system to not interpret character or block s The "nosuid" mount option causes the system to not execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001764Configure the system so that /var/log is mounted with the "noexec" option by adding /modifying the /etc/fstab with the following line: -/dev/mapper/rhel-var-log /var/log xfs defaults,nodev,nosuid,noexec 0 0Verify "/var/log" is mounted with the "noexec" option: +/dev/mapper/rhel-var-log /var/log xfs defaults,nodev,nosuid,noexec 0 0Verify "/var/log" is mounted with the "noexec" option: $ sudo mount | grep /var/log @@ -5273,7 +5257,7 @@ The "nodev" mount option causes the system to not interpret character or block s The "nosuid" mount option causes the system to not execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001764Configure the system so that /var/log/audit is mounted with the "nodev" option by adding /modifying the /etc/fstab with the following line: -/dev/mapper/rhel-var-log-audit /var/log/audit xfs defaults,nodev,nosuid,noexec 0 0Verify "/var/log/audit" is mounted with the "nodev" option: +/dev/mapper/rhel-var-log-audit /var/log/audit xfs defaults,nodev,nosuid,noexec 0 0Verify "/var/log/audit" is mounted with the "nodev" option: $ sudo mount | grep /var/log/audit @@ -5293,7 +5277,7 @@ The "nodev" mount option causes the system to not interpret character or block s The "nosuid" mount option causes the system to not execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001764Configure the system so that /var/log/audit is mounted with the "nosuid" option by adding /modifying the /etc/fstab with the following line: -/dev/mapper/rhel-var-log-audit /var/log/audit xfs defaults,nodev,nosuid,noexec 0 0Verify "/var/log/audit" is mounted with the "nosuid" option: +/dev/mapper/rhel-var-log-audit /var/log/audit xfs defaults,nodev,nosuid,noexec 0 0Verify "/var/log/audit" is mounted with the "nosuid" option: $ sudo mount | grep /var/log/audit @@ -5313,7 +5297,7 @@ The "nodev" mount option causes the system to not interpret character or block s The "nosuid" mount option causes the system to not execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001764Configure the system so that /var/log/audit is mounted with the "noexec" option by adding /modifying the /etc/fstab with the following line: -/dev/mapper/rhel-var-log-audit /var/log/audit xfs defaults,nodev,nosuid,noexec 0 0Verify "/var/log/audit" is mounted with the "noexec" option: +/dev/mapper/rhel-var-log-audit /var/log/audit xfs defaults,nodev,nosuid,noexec 0 0Verify "/var/log/audit" is mounted with the "noexec" option: $ sudo mount | grep /var/log/audit @@ -5333,7 +5317,7 @@ The "nodev" mount option causes the system to not interpret character or block s The "nosuid" mount option causes the system to not execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001764Configure the system so that /var/tmp is mounted with the "nodev" option by adding /modifying the /etc/fstab with the following line: -/dev/mapper/rhel-var-tmp /var/tmp xfs defaults,nodev,nosuid,noexec 0 0Verify "/var/tmp" is mounted with the "nodev" option: +/dev/mapper/rhel-var-tmp /var/tmp xfs defaults,nodev,nosuid,noexec 0 0Verify "/var/tmp" is mounted with the "nodev" option: $ sudo mount | grep /var/tmp @@ -5353,7 +5337,7 @@ The "nodev" mount option causes the system to not interpret character or block s The "nosuid" mount option causes the system to not execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001764Configure the system so that /var/tmp is mounted with the "nosuid" option by adding /modifying the /etc/fstab with the following line: -/dev/mapper/rhel-var-tmp /var/tmp xfs defaults,nodev,nosuid,noexec 0 0Verify "/var/tmp" is mounted with the "nosuid" option: +/dev/mapper/rhel-var-tmp /var/tmp xfs defaults,nodev,nosuid,noexec 0 0Verify "/var/tmp" is mounted with the "nosuid" option: $ sudo mount | grep /var/tmp @@ -5373,7 +5357,7 @@ The "nodev" mount option causes the system to not interpret character or block s The "nosuid" mount option causes the system to not execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001764Configure the system so that /var/tmp is mounted with the "noexec" option by adding /modifying the /etc/fstab with the following line: -/dev/mapper/rhel-var-tmp /var/tmp xfs defaults,nodev,nosuid,noexec 0 0Verify "/var/tmp" is mounted with the "noexec" option: +/dev/mapper/rhel-var-tmp /var/tmp xfs defaults,nodev,nosuid,noexec 0 0Verify "/var/tmp" is mounted with the "noexec" option: $ sudo mount | grep /var/tmp @@ -5397,7 +5381,7 @@ Proceed with caution with enforcing the use of this daemon. Improper configurati Satisfies: SRG-OS-000368-GPOS-00154, SRG-OS-000370-GPOS-00155, SRG-OS-000480-GPOS-00232</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001764Install "fapolicyd" with the following command: -$ sudo yum install fapolicyd.x86_64Verify the RHEL 8 "fapolicyd" is installed. +$ sudo yum install fapolicyd.x86_64Verify the RHEL 8 "fapolicyd" is installed. Check that "fapolicyd" is installed with the following command: @@ -5417,7 +5401,7 @@ This command must be run from a root shell and will create an allow list for any # usbguard generate-policy > /etc/usbguard/rules.conf -Note: Enabling and starting usbguard without properly configuring it for an individual system will immediately prevent any access over a usb device such as a keyboard or mouseVerify the USBGuard has a policy configured with the following command: +Note: Enabling and starting usbguard without properly configuring it for an individual system will immediately prevent any access over a usb device such as a keyboard or mouseVerify the USBGuard has a policy configured with the following command: $ sudo usbguard list-rules @@ -5431,7 +5415,7 @@ Since version 0.6.0, "firewalld" has incorporated "nftables" as its backend supp FirewallBackend=nftables -Establish rate-limiting rules based on organization-defined types of DoS attacks on impacted network interfaces.Verify "nftables" is configured to allow rate limits on any connection to the system with the following command: +Establish rate-limiting rules based on organization-defined types of DoS attacks on impacted network interfaces.Verify "nftables" is configured to allow rate limits on any connection to the system with the following command: Verify "firewalld" has "nftables" set as the default backend: @@ -5448,7 +5432,7 @@ Protecting the confidentiality and integrity of organizational information can b Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000424-GPOS-00188, SRG-OS-000425-GPOS-00189, SRG-OS-000426-GPOS-00190</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-002418Configure the SSH service to automatically start after reboot with the following command: -$ sudo systemctl enable sshd.serviceVerify SSH is loaded and active with the following command: +$ sudo systemctl enable sshd.serviceVerify SSH is loaded and active with the following command: $ sudo systemctl status sshd @@ -5473,7 +5457,7 @@ RekeyLimit 1G 1h Restart the SSH daemon for the settings to take effect. -$ sudo systemctl restart sshd.serviceVerify the SSH server is configured to force frequent session key renegotiation with the following command: +$ sudo systemctl restart sshd.serviceVerify the SSH server is configured to force frequent session key renegotiation with the following command: $ sudo grep -ir RekeyLimit /etc/ssh/sshd_config* @@ -5490,7 +5474,7 @@ Created symlink /etc/systemd/system/ctrl-alt-del.target -> /dev/null Reload the daemon for this change to take effect. -$ sudo systemctl daemon-reloadVerify RHEL 8 is not configured to reboot the system when Ctrl-Alt-Delete is pressed with the following command: +$ sudo systemctl daemon-reloadVerify RHEL 8 is not configured to reboot the system when Ctrl-Alt-Delete is pressed with the following command: $ sudo systemctl status ctrl-alt-del.target @@ -5509,7 +5493,7 @@ Note: The value above is set to two single quotations. Then update the dconf settings: -$ sudo dconf updateVerify RHEL 8 is not configured to reboot the system when Ctrl-Alt-Delete is pressed when using a graphical user interface with the following command: +$ sudo dconf updateVerify RHEL 8 is not configured to reboot the system when Ctrl-Alt-Delete is pressed when using a graphical user interface with the following command: This requirement assumes the use of the RHEL 8 default graphical user interface, Gnome Shell. If the system does not have any graphical user interface installed, this requirement is Not Applicable. @@ -5523,7 +5507,7 @@ CtrlAltDelBurstAction=none Reload the daemon for this change to take effect. -$ sudo systemctl daemon-reloadVerify RHEL 8 is not configured to reboot the system when Ctrl-Alt-Delete is pressed seven times within two seconds with the following command: +$ sudo systemctl daemon-reloadVerify RHEL 8 is not configured to reboot the system when Ctrl-Alt-Delete is pressed seven times within two seconds with the following command: $ sudo grep -i ctrl /etc/systemd/system.conf @@ -5537,7 +5521,7 @@ Created symlink /etc/systemd/system/debug-shell.service -> /dev/null Reload the daemon to take effect. -$ sudo systemctl daemon-reloadVerify RHEL 8 is configured to mask the debug-shell systemd service with the following command: +$ sudo systemctl daemon-reloadVerify RHEL 8 is configured to mask the debug-shell systemd service with the following command: $ sudo systemctl status debug-shell.service @@ -5547,7 +5531,7 @@ Active: inactive (dead) If the "debug-shell.service" is loaded and not masked, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-040190The Trivial File Transfer Protocol (TFTP) server package must not be installed if not required for RHEL 8 operational support.<VulnDiscussion>If TFTP is required for operational support (such as the transmission of router configurations) its use must be documented with the Information System Security Officer (ISSO), restricted to only authorized personnel, and have access control rules established.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Remove the TFTP package from the system with the following command: -$ sudo yum remove tftp-serverVerify a TFTP server has not been installed on the system with the following command: +$ sudo yum remove tftp-serverVerify a TFTP server has not been installed on the system with the following command: $ sudo yum list installed tftp-server @@ -5555,7 +5539,7 @@ tftp-server.x86_64 5.2-24.el8 If TFTP is installed and the requirement for TFTP is not documented with the ISSO, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-040200The root account must be the only account having unrestricted access to the RHEL 8 system.<VulnDiscussion>If an account other than root also has a User Identifier (UID) of "0", it has root authority, giving that account unrestricted access to the entire operating system. Multiple accounts with a UID of "0" afford an opportunity for potential intruders to guess a password for a privileged account.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Change the UID of any account on the system, other than root, that has a UID of "0". -If the account is associated with system commands or applications, the UID should be changed to one greater than "0" but less than "1000". Otherwise, assign a UID of greater than "1000" that has not already been assigned.Check the system for duplicate UID "0" assignments with the following command: +If the account is associated with system commands or applications, the UID should be changed to one greater than "0" but less than "1000". Otherwise, assign a UID of greater than "1000" that has not already been assigned.Check the system for duplicate UID "0" assignments with the following command: $ sudo awk -F: '$3 == 0 {print $1}' /etc/passwd @@ -5583,7 +5567,7 @@ Remove any configurations that conflict with the above from the following locati Load settings from all system configuration files with the following command: -$ sudo sysctl --systemVerify RHEL 8 will not accept IPv6 ICMP redirect messages. +$ sudo sysctl --systemVerify RHEL 8 will not accept IPv6 ICMP redirect messages. Note: If IPv6 is disabled on the system, this requirement is Not Applicable. @@ -5629,7 +5613,7 @@ Remove any configurations that conflict with the above from the following locati Load settings from all system configuration files with the following command: -$ sudo sysctl --systemVerify RHEL 8 does not IPv4 ICMP redirect messages. +$ sudo sysctl --systemVerify RHEL 8 does not IPv4 ICMP redirect messages. Check the value of the "all send_redirects" variables with the following command: @@ -5672,7 +5656,7 @@ Remove any configurations that conflict with the above from the following locati Load settings from all system configuration files with the following command: -$ sudo sysctl --systemVerify RHEL 8 does not respond to ICMP echoes sent to a broadcast address. +$ sudo sysctl --systemVerify RHEL 8 does not respond to ICMP echoes sent to a broadcast address. Check the value of the "icmp_echo_ignore_broadcasts" variable with the following command: @@ -5714,7 +5698,7 @@ Remove any configurations that conflict with the above from the following locati Load settings from all system configuration files with the following command: -$ sudo sysctl --systemVerify RHEL 8 does not accept IPv6 source-routed packets. +$ sudo sysctl --systemVerify RHEL 8 does not accept IPv6 source-routed packets. Note: If IPv6 is disabled on the system, this requirement is Not Applicable. @@ -5758,7 +5742,7 @@ Remove any configurations that conflict with the above from the following locati Load settings from all system configuration files with the following command: -$ sudo sysctl --systemVerify RHEL 8 does not accept IPv6 source-routed packets by default. +$ sudo sysctl --systemVerify RHEL 8 does not accept IPv6 source-routed packets by default. Note: If IPv6 is disabled on the system, this requirement is Not Applicable. @@ -5802,7 +5786,7 @@ Remove any configurations that conflict with the above from the following locati Load settings from all system configuration files with the following command: -$ sudo sysctl --systemVerify RHEL 8 is not performing IPv6 packet forwarding, unless the system is a router. +$ sudo sysctl --systemVerify RHEL 8 is not performing IPv6 packet forwarding, unless the system is a router. Note: If IPv6 is disabled on the system, this requirement is Not Applicable. @@ -5848,7 +5832,7 @@ Remove any configurations that conflict with the above from the following locati Load settings from all system configuration files with the following command: -$ sudo sysctl --systemVerify RHEL 8 does not accept router advertisements on all IPv6 interfaces, unless the system is a router. +$ sudo sysctl --systemVerify RHEL 8 does not accept router advertisements on all IPv6 interfaces, unless the system is a router. Note: If IPv6 is disabled on the system, this requirement is not applicable. @@ -5894,7 +5878,7 @@ Remove any configurations that conflict with the above from the following locati Load settings from all system configuration files with the following command: -$ sudo sysctl --systemVerify RHEL 8 does not accept router advertisements on all IPv6 interfaces by default, unless the system is a router. +$ sudo sysctl --systemVerify RHEL 8 does not accept router advertisements on all IPv6 interfaces by default, unless the system is a router. Note: If IPv6 is disabled on the system, this requirement is not applicable. @@ -5940,7 +5924,7 @@ Remove any configurations that conflict with the above from the following locati Load settings from all system configuration files with the following command: -$ sudo sysctl --systemVerify RHEL 8 does not allow interfaces to perform Internet Protocol version 4 (IPv4) ICMP redirects by default. +$ sudo sysctl --systemVerify RHEL 8 does not allow interfaces to perform Internet Protocol version 4 (IPv4) ICMP redirects by default. Check the value of the "default send_redirects" variables with the following command: @@ -5982,7 +5966,7 @@ Remove any configurations that conflict with the above from the following locati Load settings from all system configuration files with the following command: -$ sudo sysctl --systemVerify RHEL 8 ignores IPv6 ICMP redirect messages. +$ sudo sysctl --systemVerify RHEL 8 ignores IPv6 ICMP redirect messages. Note: If IPv6 is disabled on the system, this requirement is Not Applicable. @@ -6024,7 +6008,7 @@ Remove any configurations that conflict with the above from the following locati The system configuration files need to be reloaded for the changes to take effect. To reload the contents of the files, run the following command: -$ sudo sysctl --systemVerify RHEL 8 prevents privilege escalation thru the kernel by disabling access to the bpf syscall with the following commands: +$ sudo sysctl --systemVerify RHEL 8 prevents privilege escalation thru the kernel by disabling access to the bpf syscall with the following commands: $ sudo sysctl kernel.unprivileged_bpf_disabled @@ -6062,7 +6046,7 @@ Remove any configurations that conflict with the above from the following locati The system configuration files need to be reloaded for the changes to take effect. To reload the contents of the files, run the following command: -$ sudo sysctl --systemVerify RHEL 8 restricts usage of ptrace to descendant processes with the following commands: +$ sudo sysctl --systemVerify RHEL 8 restricts usage of ptrace to descendant processes with the following commands: $ sudo sysctl kernel.yama.ptrace_scope @@ -6100,7 +6084,7 @@ Remove any configurations that conflict with the above from the following locati The system configuration files need to be reloaded for the changes to take effect. To reload the contents of the files, run the following command: -$ sudo sysctl --systemVerify RHEL 8 restricts exposed kernel pointer addresses access with the following commands: +$ sudo sysctl --systemVerify RHEL 8 restricts exposed kernel pointer addresses access with the following commands: $ sudo sysctl kernel.kptr_restrict @@ -6140,7 +6124,7 @@ Remove any configurations that conflict with the above from the following locati The system configuration files need to be reloaded for the changes to take effect. To reload the contents of the files, run the following command: -$ sudo sysctl --systemVerify RHEL 8 disables the use of user namespaces with the following commands: +$ sudo sysctl --systemVerify RHEL 8 disables the use of user namespaces with the following commands: Note: User namespaces are used primarily for Linux containers. If containers are in use, this requirement is not applicable. @@ -6180,7 +6164,7 @@ Remove any configurations that conflict with the above from the following locati The system configuration files need to be reloaded for the changes to take effect. To reload the contents of the files, run the following command: -$ sudo sysctl --systemVerify RHEL 8 uses reverse path filtering on all IPv4 interfaces with the following commands: +$ sudo sysctl --systemVerify RHEL 8 uses reverse path filtering on all IPv4 interfaces with the following commands: $ sudo sysctl net.ipv4.conf.all.rp_filter @@ -6198,7 +6182,7 @@ If "net.ipv4.conf.all.rp_filter" is not set to "1" or "2", is missing or comment If conflicting results are returned, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-040290RHEL 8 must be configured to prevent unrestricted mail relaying.<VulnDiscussion>If unrestricted mail relaying is permitted, unauthorized senders could use this host as a mail relay for the purpose of sending spam or other unauthorized activity.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366If "postfix" is installed, modify the "/etc/postfix/main.cf" file to restrict client connections to the local network with the following command: -$ sudo postconf -e 'smtpd_client_restrictions = permit_mynetworks,reject'Verify the system is configured to prevent unrestricted mail relaying. +$ sudo postconf -e 'smtpd_client_restrictions = permit_mynetworks,reject'Verify the system is configured to prevent unrestricted mail relaying. Determine if "postfix" is installed with the following commands: @@ -6218,7 +6202,7 @@ If the "smtpd_client_restrictions" parameter contains any entries other than "pe RHEL 8 installation media come with a file integrity tool, Advanced Intrusion Detection Environment (AIDE).</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the file integrity tool to check file and directory extended attributes. -If AIDE is installed, ensure the "xattrs" rule is present on all uncommented file and directory selection lists.Verify the file integrity tool is configured to verify extended attributes. +If AIDE is installed, ensure the "xattrs" rule is present on all uncommented file and directory selection lists.Verify the file integrity tool is configured to verify extended attributes. If AIDE is not installed, ask the System Administrator how file integrity checks are performed on the system. @@ -6240,7 +6224,7 @@ If the "xattrs" rule is not being used on all uncommented selection lines in the RHEL 8 installation media come with a file integrity tool, Advanced Intrusion Detection Environment (AIDE).</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the file integrity tool to check file and directory ACLs. -If AIDE is installed, ensure the "acl" rule is present on all file and directory selection lists.Verify the file integrity tool is configured to verify ACLs. +If AIDE is installed, ensure the "acl" rule is present on all file and directory selection lists.Verify the file integrity tool is configured to verify ACLs. Note: AIDE is highly configurable at install time. This requirement assumes the "aide.conf" file is under the "/etc" directory. @@ -6262,7 +6246,7 @@ Open an SSH session and enter the following commands: $ sudo yum remove xorg-x11-server-Xorg xorg-x11-server-common xorg-x11-server-utils xorg-x11-server-Xwayland -A reboot is required for the changes to take effect.Verify that a graphical user interface is not installed: +A reboot is required for the changes to take effect.Verify that a graphical user interface is not installed: $ rpm -qa | grep xorg | grep server @@ -6274,7 +6258,7 @@ If the system is being used to perform a network troubleshooting function, the u Set the promiscuous mode of an interface to off with the following command: -$ sudo ip link set dev <devicename> multicast off promisc offVerify network interfaces are not in promiscuous mode unless approved by the ISSO and documented. +$ sudo ip link set dev <devicename> multicast off promisc offVerify network interfaces are not in promiscuous mode unless approved by the ISSO and documented. Check for the status with the following command: @@ -6290,7 +6274,7 @@ X11Forwarding no The SSH service must be restarted for changes to take effect: -$ sudo systemctl restart sshdVerify X11Forwarding is disabled with the following command: +$ sudo systemctl restart sshdVerify X11Forwarding is disabled with the following command: $ sudo grep -ir x11forwarding /etc/ssh/sshd_config* | grep -v "^#" @@ -6301,7 +6285,7 @@ If conflicting results are returned, this is a finding.< Edit the "/etc/ssh/sshd_config" file to uncomment or add the line for the "X11UseLocalhost" keyword and set its value to "yes" (this file may be named differently or be in a different location if using a version of SSH that is provided by a third-party vendor): -X11UseLocalhost yesVerify the SSH daemon prevents remote hosts from connecting to the proxy display. +X11UseLocalhost yesVerify the SSH daemon prevents remote hosts from connecting to the proxy display. Check the SSH X11UseLocalhost setting with the following command: @@ -6311,7 +6295,7 @@ X11UseLocalhost yes If the "X11UseLocalhost" keyword is set to "no", is missing, or is commented out, this is a finding. If conflicting results are returned, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-040350If the Trivial File Transfer Protocol (TFTP) server is required, the RHEL 8 TFTP daemon must be configured to operate in secure mode.<VulnDiscussion>Restricting TFTP to a specific directory prevents remote users from copying, transferring, or overwriting system files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the TFTP daemon to operate in secure mode by adding the following line to "/etc/xinetd.d/tftp" (or modify the line to have the required value): -server_args = -s /var/lib/tftpbootVerify the TFTP daemon is configured to operate in secure mode with the following commands: +server_args = -s /var/lib/tftpbootVerify the TFTP daemon is configured to operate in secure mode with the following commands: $ sudo yum list installed tftp-server @@ -6327,7 +6311,7 @@ server_args = -s /var/lib/tftpboot If the "server_args" line does not have a "-s" option, and a subdirectory is not assigned, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-040360A File Transfer Protocol (FTP) server package must not be installed unless mission essential on RHEL 8.<VulnDiscussion>The FTP service provides an unencrypted remote access that does not provide for the confidentiality and integrity of user passwords or the remote session. If a privileged user were to log on using this service, the privileged user password could be compromised. SSH or other encrypted file transfer methods must be used in place of this service.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Document the FTP server package with the ISSO as an operational requirement or remove it from the system with the following command: -$ sudo yum remove vsftpdVerify an FTP server has not been installed on the system with the following commands: +$ sudo yum remove vsftpdVerify an FTP server has not been installed on the system with the following commands: $ sudo yum list installed *ftpd* @@ -6339,7 +6323,7 @@ Operating systems are capable of providing a wide variety of functions and servi The gssproxy package is a proxy for GSS API credential handling and could expose secrets on some networks. It is not needed for normal function of the OS.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000381Document the gssproxy package with the ISSO as an operational requirement or remove it from the system with the following command: -$ sudo yum remove gssproxyVerify the gssproxy package has not been installed on the system with the following commands: +$ sudo yum remove gssproxyVerify the gssproxy package has not been installed on the system with the following commands: $ sudo yum list installed gssproxy @@ -6351,7 +6335,7 @@ Operating systems are capable of providing a wide variety of functions and servi The iprutils package provides a suite of utilities to manage and configure SCSI devices supported by the ipr SCSI storage device driver.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Document the iprutils package with the ISSO as an operational requirement or remove it from the system with the following command: -$ sudo yum remove iprutilsVerify the iprutils package has not been installed on the system with the following commands: +$ sudo yum remove iprutilsVerify the iprutils package has not been installed on the system with the following commands: $ sudo yum list installed iprutils @@ -6363,7 +6347,7 @@ Operating systems are capable of providing a wide variety of functions and servi The tuned package contains a daemon that tunes the system settings dynamically. It does so by monitoring the usage of several system components periodically. Based on that information, components will then be put into lower or higher power savings modes to adapt to the current usage. The tuned package is not needed for normal OS operations.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Document the tuned package with the ISSO as an operational requirement or remove it from the system with the following command: -$ sudo yum remove tunedVerify the tuned package has not been installed on the system with the following commands: +$ sudo yum remove tunedVerify the tuned package has not been installed on the system with the following commands: $ sudo yum list installed tuned @@ -6377,7 +6361,7 @@ Currently, Kerberos does not utilize FIPS 140-2 cryptography. FIPS 140-2 is the current standard for validating that mechanisms used to access cryptographic modules utilize authentication that meets DoD requirements. This allows for Security Levels 1, 2, 3, or 4 for use on a general-purpose computing system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000803Document the krb5-server package with the ISSO as an operational requirement or remove it from the system with the following command: -$ sudo yum remove krb5-serverVerify the krb5-server package has not been installed on the system with the following commands: +$ sudo yum remove krb5-serverVerify the krb5-server package has not been installed on the system with the following commands: If the system is a workstation or is utilizing krb5-server-1.17-18.el8.x86_64 or newer, this is Not Applicable @@ -6387,7 +6371,7 @@ krb5-server.x86_64 1.17-9.el8 repository If the krb5-server package is installed and is not documented with the Information System Security Officer (ISSO) as an operational requirement, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010382RHEL 8 must restrict privilege elevation to authorized personnel.<VulnDiscussion>The sudo command allows a user to execute programs with elevated (administrator) privileges. It prompts the user for their password and confirms your request to execute a command by checking a file, called sudoers. If the "sudoers" file is not configured correctly, any user defined on the system can initiate privileged actions on the target system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Remove the following entries from the sudoers file: ALL ALL=(ALL) ALL -ALL ALL=(ALL:ALL) ALLVerify the "sudoers" file restricts sudo access to authorized personnel. +ALL ALL=(ALL:ALL) ALLVerify the "sudoers" file restricts sudo access to authorized personnel. $ sudo grep -iw 'ALL' /etc/sudoers /etc/sudoers.d/* If the either of the following entries are returned, this is a finding: @@ -6400,7 +6384,7 @@ For more information on each of the listed configurations, reference the sudoers Remove any configurations that conflict with the above from the following locations: /etc/sudoers - /etc/sudoers.d/Verify that the sudoers security policy is configured to use the invoking user's password for privilege escalation. + /etc/sudoers.d/Verify that the sudoers security policy is configured to use the invoking user's password for privilege escalation. $ sudo grep -Eir '(rootpw|targetpw|runaspw)' /etc/sudoers /etc/sudoers.d* | grep -v '#' @@ -6423,7 +6407,7 @@ Add or modify the following line: Defaults timestamp_timeout=[value] Note: The "[value]" must be a number that is greater than or equal to "0". -Remove any duplicate or conflicting lines from /etc/sudoers and /etc/sudoers.d/ files.Verify the operating system requires re-authentication when using the "sudo" command to elevate privileges. +Remove any duplicate or conflicting lines from /etc/sudoers and /etc/sudoers.d/ files.Verify the operating system requires re-authentication when using the "sudo" command to elevate privileges. $ sudo grep -ir 'timestamp_timeout' /etc/sudoers /etc/sudoers.d /etc/sudoers:Defaults timestamp_timeout=0 @@ -6450,7 +6434,7 @@ banner-message-enable=true Run the following command to update the database: -$ sudo dconf updateVerify RHEL 8 displays a banner before granting access to the operating system via a graphical user logon. +$ sudo dconf updateVerify RHEL 8 displays a banner before granting access to the operating system via a graphical user logon. Note: This requirement assumes the use of the RHEL 8 default graphical user interface, Gnome Shell. If the system does not have any graphical user interface installed, this requirement is Not Applicable. @@ -6472,7 +6456,7 @@ password_pbkdf2 [someuniquestringhere] ${GRUB2_PASSWORD} Generate a new grub.cfg file with the following command: -$ sudo grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfgFor systems that use BIOS, this is Not Applicable. +$ sudo grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfgFor systems that use BIOS, this is Not Applicable. Verify that a unique name is set as the "superusers" account: @@ -6492,7 +6476,7 @@ password_pbkdf2 [someuniquestringhere] ${GRUB2_PASSWORD} Generate a new grub.cfg file with the following command: -$ sudo grub2-mkconfig -o /boot/grub2/grub.cfgFor systems that use UEFI, this is Not Applicable. +$ sudo grub2-mkconfig -o /boot/grub2/grub.cfgFor systems that use UEFI, this is Not Applicable. Verify that a unique name is set as the "superusers" account: @@ -6502,7 +6486,7 @@ export superusers If "superusers" is identical to any OS account name or is missing a name, this is a finding.SRG-OS-000080-GPOS-00048<GroupDescription></GroupDescription>RHEL-08-010152RHEL 8 operating systems must require authentication upon booting into emergency mode.<VulnDiscussion>If the system does not require valid root authentication before it boots into emergency or rescue mode, anyone who invokes emergency or rescue mode is granted privileged access to all files on the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000213Configure the system to require authentication upon booting into emergency mode by adding the following line to the "/usr/lib/systemd/system/emergency.service" file. -ExecStart=-/usr/lib/systemd/systemd-sulogin-shell emergencyCheck to see if the system requires authentication for emergency mode with the following command: +ExecStart=-/usr/lib/systemd/systemd-sulogin-shell emergencyCheck to see if the system requires authentication for emergency mode with the following command: $ sudo grep sulogin-shell /usr/lib/systemd/system/emergency.service @@ -6516,7 +6500,7 @@ FIPS 140-2 is the current standard for validating that mechanisms used to access Edit/modify the following line in the "/etc/pam.d/system-auth" file to include the sha512 option for pam_unix.so: -password sufficient pam_unix.so sha512Verify that pam_unix.so module is configured to use sha512. +password sufficient pam_unix.so sha512Verify that pam_unix.so module is configured to use sha512. Check that pam_unix.so module is configured to use sha512 in /etc/pam.d/system-auth with the following command: @@ -6540,7 +6524,7 @@ Modify or append the following lines in the "/etc/ssh/sshd_config" file: For the changes to take effect, the SSH daemon must be restarted. - $ sudo systemctl restart sshd.serviceVerify the SSH server automatically terminates a user session after the SSH client has been unresponsive for 10 minutes. + $ sudo systemctl restart sshd.serviceVerify the SSH server automatically terminates a user session after the SSH client has been unresponsive for 10 minutes. Check that the "ClientAliveInterval" variable is set to a value of "600" or less by performing the following command: @@ -6562,7 +6546,7 @@ Satisfies: SRG-OS-000250-GPOS-00093, SRG-OS-000393-GPOS-00173, SRG-OS-000394-GPO # CRYPTO_POLICY= -A reboot is required for the changes to take effect.Verify that system-wide crypto policies are in effect: +A reboot is required for the changes to take effect.Verify that system-wide crypto policies are in effect: $ sudo grep CRYPTO_POLICY /etc/sysconfig/sshd @@ -6572,7 +6556,7 @@ If the "CRYPTO_POLICY " is uncommented, this is a finding.DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Install the packages required to enabled the hardware random number generator entropy gatherer service with the following command: -$ sudo yum install rng-toolsCheck that RHEL 8 has the packages required to enabled the hardware random number generator entropy gatherer service with the following command: +$ sudo yum install rng-toolsCheck that RHEL 8 has the packages required to enabled the hardware random number generator entropy gatherer service with the following command: $ sudo yum list installed rng-tools @@ -6586,14 +6570,14 @@ GSSAPIAuthentication no The SSH daemon must be restarted for the changes to take effect. To restart the SSH daemon, run the following command: -$ sudo systemctl restart sshd.serviceVerify the SSH daemon does not allow GSSAPI authentication with the following command: +$ sudo systemctl restart sshd.serviceVerify the SSH daemon does not allow GSSAPI authentication with the following command: $ sudo grep -ir GSSAPIAuthentication /etc/ssh/sshd_config* GSSAPIAuthentication no If the value is returned as "yes", the returned line is commented out, no output is returned, or has not been documented with the ISSO, this is a finding. -If conflicting results are returned, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010544RHEL 8 must use a separate file system for /var/tmp.<VulnDiscussion>The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Migrate the "/var/tmp" path onto a separate file system.Verify that a separate file system has been created for "/var/tmp". +If conflicting results are returned, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010544RHEL 8 must use a separate file system for /var/tmp.<VulnDiscussion>The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Migrate the "/var/tmp" path onto a separate file system.Verify that a separate file system has been created for "/var/tmp". Check that a file system has been created for "/var/tmp" with the following command: @@ -6601,7 +6585,7 @@ Check that a file system has been created for "/var/tmp" with the following comm /dev/mapper/... /var/tmp xfs defaults,nodev,noexec,nosuid 0 0 -If a separate entry for "/var/tmp" is not in use, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010572RHEL 8 must prevent files with the setuid and setgid bit set from being executed on the /boot/efi directory.<VulnDiscussion>The "nosuid" mount option causes the system not to execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the "/etc/fstab" to use the "nosuid" option on the /boot/efi directory.For systems that use BIOS, this is Not Applicable. +If a separate entry for "/var/tmp" is not in use, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-010572RHEL 8 must prevent files with the setuid and setgid bit set from being executed on the /boot/efi directory.<VulnDiscussion>The "nosuid" mount option causes the system not to execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Configure the "/etc/fstab" to use the "nosuid" option on the /boot/efi directory.For systems that use BIOS, this is Not Applicable. Verify the /boot/efi directory is mounted with the "nosuid" option with the following command: @@ -6613,7 +6597,7 @@ If the /boot/efi file system does not have the "nosuid" option set, this is a fi Note: The example will be for the user smithj, who has a home directory of "/home/smithj" and is a member of the users group. -$ sudo chmod 0750 /home/smithj/<file or directory>Verify all files and directories contained in a local interactive user home directory, excluding local initialization files, have a mode of "0750". +$ sudo chmod 0750 /home/smithj/<file or directory>Verify all files and directories contained in a local interactive user home directory, excluding local initialization files, have a mode of "0750". Files that begin with a "." are excluded from this requirement. Note: The example will be for the user "smithj", who has a home directory of "/home/smithj". @@ -6627,7 +6611,7 @@ If any files or directories are found with a mode more permissive than "0750", t Note: The example will be for the user smithj, who has a home directory of "/home/smithj" and is a member of the users group. -$ sudo chgrp smithj /home/smithj/<file or directory>Verify all files and directories in a local interactive user home directory are group-owned by a group that the user is a member. +$ sudo chgrp smithj /home/smithj/<file or directory>Verify all files and directories in a local interactive user home directory are group-owned by a group that the user is a member. Check the group owner of all files and directories in a local interactive user's home directory with the following command: @@ -6658,7 +6642,7 @@ Note: The "preauth" line must be listed before pam_unix.so. auth required pam_faillock.so preauth auth required pam_faillock.so authfail -account required pam_faillock.soNote: This check applies to RHEL versions 8.2 or newer, if the system is RHEL version 8.0 or 8.1, this check is not applicable. +account required pam_faillock.soNote: This check applies to RHEL versions 8.2 or newer, if the system is RHEL version 8.0 or 8.1, this check is not applicable. Verify the pam_faillock.so module is present in the "/etc/pam.d/system-auth" file: @@ -6681,7 +6665,7 @@ Note: The "preauth" line must be listed before pam_unix.so. auth required pam_faillock.so preauth auth required pam_faillock.so authfail -account required pam_faillock.soNote: This check applies to RHEL versions 8.2 or newer, if the system is RHEL version 8.0 or 8.1, this check is not applicable. +account required pam_faillock.soNote: This check applies to RHEL versions 8.2 or newer, if the system is RHEL version 8.0 or 8.1, this check is not applicable. Verify the pam_faillock.so module is present in the "/etc/pam.d/password-auth" file: @@ -6710,7 +6694,7 @@ The "uint32" must be included along with the integer key values as shown. Update the system databases: -$ sudo dconf updateVerify the operating system initiates a session lock a for graphical user interfaces when the screensaver is activated with the following command: +$ sudo dconf updateVerify the operating system initiates a session lock a for graphical user interfaces when the screensaver is activated with the following command: Note: This requirement assumes the use of the RHEL 8 default graphical user interface, Gnome Shell. If the system does not have any graphical user interface installed, this requirement is Not Applicable. @@ -6729,7 +6713,7 @@ $ sudo touch /etc/dconf/db/local.d/02-login-screen disable-user-list=true Update the system databases: -$ sudo dconf updateVerify the operating system disables the user logon list for graphical user interfaces with the following command: +$ sudo dconf updateVerify the operating system disables the user logon list for graphical user interfaces with the following command: Note: This requirement assumes the use of the RHEL 8 default graphical user interface, Gnome Shell. If the system does not have any graphical user interface installed, this requirement is Not Applicable. $ sudo gsettings get org.gnome.login-screen disable-user-list @@ -6743,7 +6727,7 @@ Satisfies: SRG-OS-000028-GPOS-00009, SRG-OS-000030-GPOS-00011</VulnDiscussion Install the "tmux" package, if it is not already installed, by running the following command: -$ sudo yum install tmuxVerify RHEL 8 has the "tmux" package installed, by running the following command: +$ sudo yum install tmuxVerify RHEL 8 has the "tmux" package installed, by running the following command: $ sudo yum list installed tmux @@ -6767,7 +6751,7 @@ $ sudo touch /etc/dconf/db/local.d/locks/session Add the following setting to prevent non-privileged users from modifying it: -/org/gnome/desktop/session/idle-delayVerify the operating system prevents a user from overriding settings for graphical user interfaces. +/org/gnome/desktop/session/idle-delayVerify the operating system prevents a user from overriding settings for graphical user interfaces. Note: This requirement assumes the use of the RHEL 8 default graphical user interface, Gnome Shell. If the system does not have any graphical user interface installed, this requirement is Not Applicable. @@ -6803,7 +6787,7 @@ $ sudo touch /etc/dconf/db/local.d/locks/session Add the following setting to prevent non-privileged users from modifying it: -/org/gnome/desktop/screensaver/lock-enabledVerify the operating system prevents a user from overriding settings for graphical user interfaces. +/org/gnome/desktop/screensaver/lock-enabledVerify the operating system prevents a user from overriding settings for graphical user interfaces. Note: This requirement assumes the use of the RHEL 8 default graphical user interface, Gnome Shell. If the system does not have any graphical user interface installed, this requirement is Not Applicable. @@ -6823,13 +6807,13 @@ $ sudo grep -i lock-enabled /etc/dconf/db/local.d/locks/* If the command does not return at least the example result, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-020331RHEL 8 must not allow blank or null passwords in the system-auth file.<VulnDiscussion>If an account has an empty password, anyone could log on and run commands with the privileges of that account. Accounts with empty passwords should never be used in operational environments.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Remove any instances of the "nullok" option in the "/etc/pam.d/system-auth" file to prevent logons with empty passwords. -Note: Manual changes to the listed file may be overwritten by the "authselect" program.To verify that null passwords cannot be used, run the following command: +Note: Manual changes to the listed file may be overwritten by the "authselect" program.To verify that null passwords cannot be used, run the following command: $ sudo grep -i nullok /etc/pam.d/system-auth If output is produced, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>RHEL-08-020332RHEL 8 must not allow blank or null passwords in the password-auth file.<VulnDiscussion>If an account has an empty password, anyone could log on and run commands with the privileges of that account. Accounts with empty passwords should never be used in operational environments.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-000366Remove any instances of the "nullok" option in the "/etc/pam.d/password-auth" file to prevent logons with empty passwords. -Note: Manual changes to the listed file may be overwritten by the "authselect" program.To verify that null passwords cannot be used, run the following command: +Note: Manual changes to the listed file may be overwritten by the "authselect" program.To verify that null passwords cannot be used, run the following command: $ sudo grep -i nullok /etc/pam.d/password-auth @@ -6843,7 +6827,7 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000038-GPO $ sudo systemctl enable auditd.service -$ sudo systemctl start auditd.serviceVerify the audit service is configured to produce audit records with the following command: +$ sudo systemctl start auditd.serviceVerify the audit service is configured to produce audit records with the following command: $ sudo systemctl status auditd.service @@ -6855,7 +6839,7 @@ If the audit service is not "active" and "running", this is a finding.Verify RHEL 8 notifies the SA and ISSO (at a minimum) when allocated audit record storage volume reaches 75 percent of the repository maximum audit record storage capacity with the following command: +Note: Option names and values in the auditd.conf file are case insensitive.Verify RHEL 8 notifies the SA and ISSO (at a minimum) when allocated audit record storage volume reaches 75 percent of the repository maximum audit record storage capacity with the following command: $ sudo grep -w space_left_action /etc/audit/auditd.conf @@ -6870,7 +6854,7 @@ Remote access services, such as those providing remote access to network devices Remote access is access to DoD nonpublic information systems by an authorized user (or an information system) communicating through an external, non-organization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. RHEL 8 functionality (e.g., RDP) must be capable of taking enforcement action if the audit reveals unauthorized activity. Automated control of remote access sessions allows organizations to ensure ongoing compliance with remote access policies by enforcing connection rules of remote access applications on a variety of information system components (e.g., servers, workstations, notebook computers, smartphones, and tablets).</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-002314Configure "firewalld" to protect the operating system with the following command: -$ sudo systemctl enable firewalldVerify that "firewalld" is active with the following commands: +$ sudo systemctl enable firewalldVerify that "firewalld" is active with the following commands: $ sudo systemctl is-active firewalld @@ -6888,7 +6872,7 @@ Proceed with caution with enforcing the use of this daemon. Improper configurati Satisfies: SRG-OS-000368-GPOS-00154, SRG-OS-000370-GPOS-00155, SRG-OS-000480-GPOS-00232</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001764Enable "fapolicyd" using the following command: -$ sudo systemctl enable --now fapolicydVerify the RHEL 8 "fapolicyd" is enabled and running with the following command: +$ sudo systemctl enable --now fapolicydVerify the RHEL 8 "fapolicyd" is enabled and running with the following command: $ sudo systemctl status fapolicyd.service @@ -6920,7 +6904,7 @@ Build the whitelist in a file within the "/etc/fapolicyd/rules.d" directory ensu Once it is determined the whitelist is built correctly, set the fapolicyd to enforcing mode by editing the "permissive" line in the /etc/fapolicyd/fapolicyd.conf file. -permissive = 0Verify the RHEL 8 "fapolicyd" employs a deny-all, permit-by-exception policy. +permissive = 0Verify the RHEL 8 "fapolicyd" employs a deny-all, permit-by-exception policy. Check that "fapolicyd" is in enforcement mode with the following command: @@ -6946,7 +6930,7 @@ A new feature that RHEL 8 provides is the USBGuard software framework. The USBgu The System Administrator (SA) must work with the site Information System Security Officer (ISSO) to determine a list of authorized peripherals and establish rules within the USBGuard software framework to allow only authorized devices.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001958Install the USBGuard package with the following command: -$ sudo yum install usbguard.x86_64Verify USBGuard is installed on the operating system with the following command: +$ sudo yum install usbguard.x86_64Verify USBGuard is installed on the operating system with the following command: $ sudo yum list installed usbguard @@ -6966,7 +6950,7 @@ $ sudo systemctl enable usbguard.service $ sudo systemctl start usbguard.service -Note: Enabling and starting usbguard without properly configuring it for an individual system will immediately prevent any access over a usb device such as a keyboard or mouseVerify the operating system has enabled the use of the USBGuard with the following command: +Note: Enabling and starting usbguard without properly configuring it for an individual system will immediately prevent any access over a usb device such as a keyboard or mouseVerify the operating system has enabled the use of the USBGuard with the following command: $ sudo systemctl status usbguard.service @@ -6983,7 +6967,7 @@ Protecting the confidentiality and integrity of organizational information can b Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000424-GPOS-00188, SRG-OS-000425-GPOS-00189, SRG-OS-000426-GPOS-00190</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-002418Install SSH packages onto the host with the following command: -$ sudo yum install openssh-server.x86_64Verify SSH is installed with the following command: +$ sudo yum install openssh-server.x86_64Verify SSH is installed with the following command: $ sudo yum list installed openssh-server @@ -7013,7 +6997,7 @@ Remove any configurations that conflict with the above from the following locati Load settings from all system configuration files with the following command: -$ sudo sysctl --systemVerify RHEL 8 will not accept IPv4 ICMP redirect messages. +$ sudo sysctl --systemVerify RHEL 8 will not accept IPv4 ICMP redirect messages. Check the value of the default "accept_redirects" variables with the following command: @@ -7055,7 +7039,7 @@ Remove any configurations that conflict with the above from the following locati Load settings from all system configuration files with the following command: -$ sudo sysctl --systemVerify RHEL 8 does not accept IPv4 source-routed packets. +$ sudo sysctl --systemVerify RHEL 8 does not accept IPv4 source-routed packets. Check the value of the accept source route variable with the following command: @@ -7097,7 +7081,7 @@ Remove any configurations that conflict with the above from the following locati Load settings from all system configuration files with the following command: -$ sudo sysctl --systemVerify RHEL 8 does not accept IPv4 source-routed packets by default. +$ sudo sysctl --systemVerify RHEL 8 does not accept IPv4 source-routed packets by default. Check the value of the accept source route variable with the following command: @@ -7139,7 +7123,7 @@ Remove any configurations that conflict with the above from the following locati Load settings from all system configuration files with the following command: -$ sudo sysctl --systemVerify RHEL 8 ignores IPv4 ICMP redirect messages. +$ sudo sysctl --systemVerify RHEL 8 ignores IPv4 ICMP redirect messages. Check the value of the "accept_redirects" variables with the following command: @@ -7181,7 +7165,7 @@ Remove any configurations that conflict with the above from the following locati The system configuration files need to be reloaded for the changes to take effect. To reload the contents of the files, run the following command: -$ sudo sysctl --systemVerify RHEL 8 enables hardening for the BPF JIT with the following commands: +$ sudo sysctl --systemVerify RHEL 8 enables hardening for the BPF JIT with the following commands: $ sudo sysctl net.core.bpf_jit_harden @@ -7197,18 +7181,15 @@ $ sudo grep -r net.core.bpf_jit_harden /run/sysctl.d/*.conf /usr/local/lib/sysct If "net.core.bpf_jit_harden" is not set to "2", is missing or commented out, this is a finding. -If conflicting results are returned, this is a finding.SRG-OS-000191-GPOS-00080<GroupDescription></GroupDescription>RHEL-08-010001The RHEL 8 operating system must implement the Endpoint Security for Linux Threat Prevention tool.<VulnDiscussion>Adding endpoint security tools can provide the capability to automatically take actions in response to malicious behavior, which can provide additional agility in reacting to network threats. These tools also often include a reporting capability to provide network awareness of the system, which may not otherwise exist in an organization's systems management regime.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001233Install and enable the latest McAfee ENSLTP package.Per OPORD 16-0080, the preferred endpoint security tool is McAfee Endpoint Security for Linux (ENSL) in conjunction with SELinux. - -Procedure: -Check that the following package has been installed: +If conflicting results are returned, this is a finding.SRG-OS-000191-GPOS-00080<GroupDescription></GroupDescription>RHEL-08-010001The RHEL 8 operating system must implement the Endpoint Security for Linux Threat Prevention tool.<VulnDiscussion>Adding endpoint security tools can provide the capability to automatically take actions in response to malicious behavior, which can provide additional agility in reacting to network threats. These tools also often include a reporting capability to provide network awareness of the system, which may not otherwise exist in an organization's systems management regime.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001233Install and enable the latest Trellix ENSLTP package.Check that the following package has been installed: -$ sudo rpm -qa | grep -i mcafeetp + $ sudo rpm -qa | grep -i mcafeetp If the "mcafeetp" package is not installed, this is a finding. Verify that the daemon is running: -$ sudo ps -ef | grep -i mfetpd + $ sudo ps -ef | grep -i mfetpd If the daemon is not running, this is a finding.SRG-OS-000021-GPOS-00005<GroupDescription></GroupDescription>RHEL-08-020027RHEL 8 systems, versions 8.2 and above, must configure SELinux context type to allow the use of a non-default faillock tally directory.<VulnDiscussion>By limiting the number of failed logon attempts, the risk of unauthorized system access via user password guessing, otherwise known as brute-force attacks, is reduced. Limits are imposed by locking the account. @@ -7226,7 +7207,7 @@ $ sudo semanage fcontext -a -t faillog_t "/var/log/faillock(/.*)?" Next, update the context type of the non-default faillock directory/subdirectories and files with the following command: -$ sudo restorecon -R -v /var/log/faillockIf the system does not have SELinux enabled and enforcing a targeted policy, or if the pam_faillock module is not configured for use, this requirement is not applicable. +$ sudo restorecon -R -v /var/log/faillockIf the system does not have SELinux enabled and enforcing a targeted policy, or if the pam_faillock module is not configured for use, this requirement is not applicable. Note: This check applies to RHEL versions 8.2 or newer. If the system is RHEL version 8.0 or 8.1, this check is not applicable. @@ -7254,7 +7235,7 @@ $ sudo semanage fcontext -a -t faillog_t "/var/log/faillock(/.*)?" Next, update the context type of the non-default faillock directory/subdirectories and files with the following command: -$ sudo restorecon -R -v /var/log/faillockIf the system does not have SELinux enabled and enforcing a targeted policy, or if the pam_faillock module is not configured for use, this requirement is not applicable. +$ sudo restorecon -R -v /var/log/faillockIf the system does not have SELinux enabled and enforcing a targeted policy, or if the pam_faillock module is not configured for use, this requirement is not applicable. Note: This check applies to RHEL versions 8.0 and 8.1. If the system is RHEL version 8.2 or newer, this check is not applicable. @@ -7295,7 +7276,7 @@ Remove any configurations that conflict with the above from the following locati Load settings from all system configuration files with the following command: -$ sudo sysctl --systemVerify RHEL 8 is not performing IPv4 packet forwarding, unless the system is a router. +$ sudo sysctl --systemVerify RHEL 8 is not performing IPv4 packet forwarding, unless the system is a router. Check that IPv4 forwarding is disabled using the following command: @@ -7317,7 +7298,7 @@ If conflicting results are returned, this is a finding.< Perform a password reset: $ sudo passwd [username] Lock an account: -$ sudo passwd -l [username]Check the "/etc/shadow" file for blank passwords with the following command: +$ sudo passwd -l [username]Check the "/etc/shadow" file for blank passwords with the following command: $ sudo awk -F: '!$2 {print $1}' /etc/shadow @@ -7325,7 +7306,7 @@ If the command returns any results, this is a finding.DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001499Configure the library directories to be protected from unauthorized access. Run the following command, replacing "[DIRECTORY]" with any library directory with a mode more permissive than 755. -$ sudo chmod 755 [DIRECTORY]Verify the system-wide shared library directories within "/lib", "/lib64", "/usr/lib" and "/usr/lib64" have mode "755" or less permissive with the following command: +$ sudo chmod 755 [DIRECTORY]Verify the system-wide shared library directories within "/lib", "/lib64", "/usr/lib" and "/usr/lib64" have mode "755" or less permissive with the following command: $ sudo find /lib /lib64 /usr/lib /usr/lib64 -perm /022 -type d -exec stat -c "%n %a" '{}' \; @@ -7335,7 +7316,7 @@ This requirement applies to RHEL 8 with software libraries that are accessible a Run the following command, replacing "[DIRECTORY]" with any library directory not owned by "root". -$ sudo chown root [DIRECTORY]Verify the system-wide shared library directories are owned by "root" with the following command: +$ sudo chown root [DIRECTORY]Verify the system-wide shared library directories are owned by "root" with the following command: $ sudo find /lib /lib64 /usr/lib /usr/lib64 ! -user root -type d -exec stat -c "%n %U" '{}' \; @@ -7345,7 +7326,7 @@ This requirement applies to RHEL 8 with software libraries that are accessible a Run the following command, replacing "[DIRECTORY]" with any library directory not group-owned by "root". -$ sudo chgrp root [DIRECTORY]Verify the system-wide shared library directories are group-owned by "root" with the following command: +$ sudo chgrp root [DIRECTORY]Verify the system-wide shared library directories are group-owned by "root" with the following command: $ sudo find /lib /lib64 /usr/lib /usr/lib64 ! -group root -type d -exec stat -c "%n %G" '{}' \; @@ -7387,7 +7368,7 @@ Example output: AIDE found differences between database and filesystem!! ... -Done.Verify that Advanced Intrusion Detection Environment (AIDE) is installed and verifies the correct operation of all security functions. +Done.Verify that Advanced Intrusion Detection Environment (AIDE) is installed and verifies the correct operation of all security functions. Check that the AIDE package is installed with the following command: $ sudo rpm -q aide @@ -7410,7 +7391,7 @@ Edit the /etc/sudoers file with the following command: $ sudo visudo Add or modify the following line: -#includedir /etc/sudoers.dNote: If the "include" and "includedir" directives are not present in the /etc/sudoers file, this requirement is not applicable. +#includedir /etc/sudoers.dNote: If the "include" and "includedir" directives are not present in the /etc/sudoers file, this requirement is not applicable. Verify the operating system specifies only the default "include" directory for the /etc/sudoers file with the following command: @@ -7433,7 +7414,7 @@ Satisfies: SRG-OS-000373-GPOS-00156, SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPO Check the configuration of the "/etc/ pam.d/sudo" file with the following command: $ sudo vi /etc/pam.d/sudo -Remove any occurrences of "pam_succeed_if" in the file.Verify the operating system is not be configured to bypass password requirements for privilege escalation. +Remove any occurrences of "pam_succeed_if" in the file.Verify the operating system is not be configured to bypass password requirements for privilege escalation. Check the configuration of the "/etc/pam.d/sudo" file with the following command: @@ -7447,7 +7428,7 @@ RHEL 8 uses "pwquality" as a mechanism to enforce password complexity. This is s Add the following line to the "/etc/pam.d/system-auth" file (or modify the line to have the required value): - password requisite pam_pwquality.soVerify the operating system uses "pwquality" to enforce the password complexity rules. + password requisite pam_pwquality.soVerify the operating system uses "pwquality" to enforce the password complexity rules. Check for the use of "pwquality" in the system-auth file with the following command: @@ -7465,7 +7446,7 @@ By limiting the number of attempts to meet the pwquality module complexity requi Add the following line to the "/etc/pam.d/system-auth" file (or modify the line to have the required value): - password requisite pam_pwquality.so retry=3Note: This requirement applies to RHEL versions 8.0 through 8.3. If the system is RHEL version 8.4 or newer, this requirement is not applicable. + password requisite pam_pwquality.so retry=3Note: This requirement applies to RHEL versions 8.0 through 8.3. If the system is RHEL version 8.4 or newer, this requirement is not applicable. Verify the operating system is configured to limit the "pwquality" retry option to 3. @@ -7485,7 +7466,7 @@ By limiting the number of attempts to meet the pwquality module complexity requi Add the following line to the "/etc/pam.d/password-auth" file (or modify the line to have the required value): - password requisite pam_pwquality.so retry=3Note: This requirement applies to RHEL versions 8.0 through 8.3. If the system is RHEL version 8.4 or newer, this requirement is not applicable. + password requisite pam_pwquality.so retry=3Note: This requirement applies to RHEL versions 8.0 through 8.3. If the system is RHEL version 8.4 or newer, this requirement is not applicable. Verify the operating system is configured to limit the "pwquality" retry option to 3. @@ -7506,7 +7487,7 @@ Add the following line to the "/etc/security/pwquality.conf" file(or modify the retry = 3 -Remove any configurations that conflict with the above value.Note: This requirement applies to RHEL versions 8.4 or newer. If the system is RHEL below version 8.4, this requirement is not applicable. +Remove any configurations that conflict with the above value.Note: This requirement applies to RHEL versions 8.4 or newer. If the system is RHEL below version 8.4, this requirement is not applicable. Verify the operating system is configured to limit the "pwquality" retry option to 3. @@ -7534,7 +7515,7 @@ Note that manual changes to the listed files may be overwritten by the "authsele Add the following line in "/etc/pam.d/system-auth" (or modify the line to have the required value): - password requisite pam_pwhistory.so use_authtok remember=5 retry=3Verify the operating system is configured in the system-auth file to prohibit password reuse for a minimum of five generations. + password requisite pam_pwhistory.so use_authtok remember=5 retry=3Verify the operating system is configured in the system-auth file to prohibit password reuse for a minimum of five generations. Check for the value of the "remember" argument in "/etc/pam.d/system-auth" with the following command: @@ -7548,7 +7529,7 @@ Open an SSH session and enter the following commands: $ sudo systemctl set-default multi-user.target -A reboot is required for the changes to take effect.Verify that the system is configured to boot to the command line: +A reboot is required for the changes to take effect.Verify that the system is configured to boot to the command line: $ systemctl get-default multi-user.target @@ -7585,7 +7566,7 @@ Note: SELinux confined users mapped to sysadm_u are not allowed to log in to the $ sudo setsebool -P ssh_sysadm_login on -This must be documented with the information system security officer (ISSO) as an operational requirement.Verify the operating system prevents nonprivileged users from executing privileged functions, including disabling, circumventing, or altering implemented security safeguards/countermeasures. +This must be documented with the information system security officer (ISSO) as an operational requirement.Verify the operating system prevents nonprivileged users from executing privileged functions, including disabling, circumventing, or altering implemented security safeguards/countermeasures. Obtain a list of authorized users (other than system administrator and guest accounts) for the system. @@ -7612,7 +7593,7 @@ The system will attempt to use the first algorithm presented by the client that -oKexAlgorithms=ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512 -A reboot is required for the changes to take effect.Verify that the SSH server is configured to use only FIPS-validated key exchange algorithms: +A reboot is required for the changes to take effect.Verify that the SSH server is configured to use only FIPS-validated key exchange algorithms: $ sudo grep -i kexalgorithms /etc/crypto-policies/back-ends/opensshserver.config @@ -7630,7 +7611,7 @@ Import Red Hat GPG keys from key file into system keyring: $ sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release -Using the steps listed in the Check Text, confirm the newly imported keys show as installed on the system and verify their fingerprints match vendor values.Confirm Red Hat package-signing keys are installed on the system and verify their fingerprints match vendor values. +Using the steps listed in the Check Text, confirm the newly imported keys show as installed on the system and verify their fingerprints match vendor values.Confirm Red Hat package-signing keys are installed on the system and verify their fingerprints match vendor values. Note: For RHEL 8 software packages, Red Hat uses GPG keys labeled "release key 2" and "auxiliary key 2". The keys are defined in key file "/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release" by default. @@ -7667,7 +7648,7 @@ If key fingerprints do not match, this is a finding.DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001744Install the "mailx" package on the system: - $ sudo yum install mailxVerify that the operating system is configured to allow sending email notifications. + $ sudo yum install mailxVerify that the operating system is configured to allow sending email notifications. Note: The "mailx" package provides the "mail" command that is used to send email messages. @@ -7677,13 +7658,15 @@ Verify that the "mailx" package is installed on the system: mailx.x86_64 12.5-29.el8 @rhel-8-for-x86_64-baseos-rpm -If "mailx" package is not installed, this is a finding.SRG-OS-000163-GPOS-00072<GroupDescription></GroupDescription>RHEL-08-020035RHEL 8 must terminate idle user sessions.<VulnDiscussion>Terminating an idle session within a short time period reduces the window of opportunity for unauthorized personnel to take control of a management session enabled on the console or console port that has been left unattended.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001133Configure RHEL 8 to log out idle sessions by editing the /etc/systemd/logind.conf file with the following line: +If "mailx" package is not installed, this is a finding.SRG-OS-000163-GPOS-00072<GroupDescription></GroupDescription>RHEL-08-020035RHEL 8 must terminate idle user sessions.<VulnDiscussion>Terminating an idle session within a short time period reduces the window of opportunity for unauthorized personnel to take control of a management session enabled on the console or console port that has been left unattended.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target Red Hat Enterprise Linux 8DISADPMS TargetRed Hat Enterprise Linux 82921CCI-001133Configure RHEL 8 to log out idle sessions by editing the /etc/systemd/logind.conf file with the following line: StopIdleSessionSec=900 The "logind" service must be restarted for the changes to take effect. To restart the "logind" service, run the following command: - $ sudo systemctl restart systemd-logindVerify that RHEL 8 logs out sessions that are idle for 15 minutes with the following command: + $ sudo systemctl restart systemd-logind + +Note: To preserve running user programs such as tmux, uncomment and/or edit "KillUserProccesses=no" in "/etc/systemd/logind.conf".Verify that RHEL 8 logs out sessions that are idle for 15 minutes with the following command: $ sudo grep -i ^StopIdleSessionSec /etc/systemd/logind.conf From ee4a3e35432ae2a1f1360631cbdd091498faa1ab Mon Sep 17 00:00:00 2001 From: Matthew Burket Date: Wed, 24 Jan 2024 20:45:46 -0600 Subject: [PATCH 3/3] Update RHEL 8 STIG version --- tests/data/profile_stability/rhel8/stig.profile | 4 ++-- tests/data/profile_stability/rhel8/stig_gui.profile | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/data/profile_stability/rhel8/stig.profile b/tests/data/profile_stability/rhel8/stig.profile index 4493a8d985b..8b3813135fb 100644 --- a/tests/data/profile_stability/rhel8/stig.profile +++ b/tests/data/profile_stability/rhel8/stig.profile @@ -1,6 +1,6 @@ description: 'This profile contains configuration checks that align to the - DISA STIG for Red Hat Enterprise Linux 8 V1R12. + DISA STIG for Red Hat Enterprise Linux 8 V1R13. In addition to being applicable to Red Hat Enterprise Linux 8, DISA recognizes @@ -22,7 +22,7 @@ description: 'This profile contains configuration checks that align to the - Red Hat Containers with a Red Hat Enterprise Linux 8 image' extends: null metadata: - version: V1R12 + version: V1R13 SMEs: - mab879 - ggbecker diff --git a/tests/data/profile_stability/rhel8/stig_gui.profile b/tests/data/profile_stability/rhel8/stig_gui.profile index 50981bf99a9..82525139ef7 100644 --- a/tests/data/profile_stability/rhel8/stig_gui.profile +++ b/tests/data/profile_stability/rhel8/stig_gui.profile @@ -1,6 +1,6 @@ description: 'This profile contains configuration checks that align to the - DISA STIG with GUI for Red Hat Enterprise Linux 8 V1R12. + DISA STIG with GUI for Red Hat Enterprise Linux 8 V1R13. In addition to being applicable to Red Hat Enterprise Linux 8, DISA recognizes @@ -33,7 +33,7 @@ description: 'This profile contains configuration checks that align to the standard DISA STIG for Red Hat Enterprise Linux 8 profile.' extends: null metadata: - version: V1R12 + version: V1R13 SMEs: - mab879 - ggbecker