diff --git a/shared/references/disa-stig-rhel8-v2r1-xccdf-scap.xml b/shared/references/disa-stig-rhel8-v2r2-xccdf-scap.xml similarity index 62% rename from shared/references/disa-stig-rhel8-v2r1-xccdf-scap.xml rename to shared/references/disa-stig-rhel8-v2r2-xccdf-scap.xml index 4b581f4a067..ecdb4b27716 100644 --- a/shared/references/disa-stig-rhel8-v2r1-xccdf-scap.xml +++ b/shared/references/disa-stig-rhel8-v2r2-xccdf-scap.xml @@ -1,36 +1,36 @@ - - + + - + - + - + - + - - + + - + Red Hat Enterprise Linux 8 - oval:mil.disa.stig.rhel8os: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,85 @@ DISA STIG.DOD.MIL - Benchmark Date: 24 Oct 2024 + Benchmark Date: 30 Jan 2025 3.5 1.10.0 + + Linux krb5 workstation 1.17 or higher is not installed + + + + + + Linux krb5 server 1.17 or higher is not installed + + + + RHEL 8.3 or Lower - + + + + + Linux IPv6 Enabled + + + + + + Linux BIOS Boot + + + + + + RHEL 8.2 or Higher + + + + + + Gnome-shell Package + + + + + + RHEL 8.1 or Lower + + + + + + Linux UEFI Boot + + + + + + Linux with TFTP installed + + + + + + Linux with postfix installed + + + + + + Linux with autofs installed + + - 002.001 + 002.002 DISA DISA @@ -64,6 +130,7 @@ <ProfileDescription></ProfileDescription> + @@ -73,6 +140,7 @@ + @@ -86,6 +154,9 @@ + + + @@ -96,6 +167,9 @@ + + + @@ -112,16 +186,24 @@ + + + + + + + + @@ -136,6 +218,9 @@ + + + @@ -150,6 +235,7 @@ + @@ -161,6 +247,7 @@ + @@ -217,6 +304,8 @@ + + @@ -224,12 +313,14 @@ + + @@ -237,7 +328,9 @@ + + @@ -254,9 +347,14 @@ + + + + + @@ -275,6 +373,8 @@ + + @@ -286,11 +386,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -298,6 +425,7 @@ <ProfileDescription></ProfileDescription> + @@ -307,6 +435,7 @@ + @@ -320,6 +449,9 @@ + + + @@ -330,6 +462,9 @@ + + + @@ -346,16 +481,24 @@ + + + + + + + + @@ -370,6 +513,9 @@ + + + @@ -384,6 +530,7 @@ + @@ -395,6 +542,7 @@ + @@ -451,6 +599,8 @@ + + @@ -458,12 +608,14 @@ + + @@ -471,7 +623,9 @@ + + @@ -488,9 +642,14 @@ + + + + + @@ -509,6 +668,8 @@ + + @@ -520,11 +681,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -532,6 +720,7 @@ <ProfileDescription></ProfileDescription> + @@ -541,6 +730,7 @@ + @@ -554,6 +744,9 @@ + + + @@ -564,6 +757,9 @@ + + + @@ -580,16 +776,24 @@ + + + + + + + + @@ -604,6 +808,9 @@ + + + @@ -618,6 +825,7 @@ + @@ -629,6 +837,7 @@ + @@ -685,6 +894,8 @@ + + @@ -692,12 +903,14 @@ + + @@ -705,7 +918,9 @@ + + @@ -722,9 +937,14 @@ + + + + + @@ -743,6 +963,8 @@ + + @@ -754,11 +976,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -766,6 +1015,7 @@ <ProfileDescription></ProfileDescription> + @@ -775,6 +1025,7 @@ + @@ -788,6 +1039,9 @@ + + + @@ -798,6 +1052,9 @@ + + + @@ -814,16 +1071,24 @@ + + + + + + + + @@ -838,6 +1103,9 @@ + + + @@ -852,6 +1120,7 @@ + @@ -863,6 +1132,7 @@ + @@ -919,6 +1189,8 @@ + + @@ -926,12 +1198,14 @@ + + @@ -939,7 +1213,9 @@ + + @@ -956,9 +1232,14 @@ + + + + + @@ -977,6 +1258,8 @@ + + @@ -988,11 +1271,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1000,6 +1310,7 @@ <ProfileDescription></ProfileDescription> + @@ -1009,6 +1320,7 @@ + @@ -1022,6 +1334,9 @@ + + + @@ -1032,6 +1347,9 @@ + + + @@ -1048,16 +1366,24 @@ + + + + + + + + @@ -1072,6 +1398,9 @@ + + + @@ -1086,6 +1415,7 @@ + @@ -1097,6 +1427,7 @@ + @@ -1153,6 +1484,8 @@ + + @@ -1160,12 +1493,14 @@ + + @@ -1173,7 +1508,9 @@ + + @@ -1190,9 +1527,14 @@ + + + + + @@ -1211,6 +1553,8 @@ + + @@ -1222,11 +1566,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1234,6 +1605,7 @@ <ProfileDescription></ProfileDescription> + @@ -1243,6 +1615,7 @@ + @@ -1256,6 +1629,9 @@ + + + @@ -1266,6 +1642,9 @@ + + + @@ -1282,16 +1661,24 @@ + + + + + + + + @@ -1306,6 +1693,9 @@ + + + @@ -1320,6 +1710,7 @@ + @@ -1331,6 +1722,7 @@ + @@ -1387,6 +1779,8 @@ + + @@ -1394,12 +1788,14 @@ + + @@ -1407,7 +1803,9 @@ + + @@ -1424,9 +1822,14 @@ + + + + + @@ -1445,6 +1848,8 @@ + + @@ -1456,11 +1861,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1468,6 +1900,7 @@ <ProfileDescription></ProfileDescription> + @@ -1477,6 +1910,7 @@ + @@ -1490,6 +1924,9 @@ + + + @@ -1500,6 +1937,9 @@ + + + @@ -1516,16 +1956,24 @@ + + + + + + + + @@ -1540,6 +1988,9 @@ + + + @@ -1554,6 +2005,7 @@ + @@ -1565,6 +2017,7 @@ + @@ -1621,6 +2074,8 @@ + + @@ -1628,12 +2083,14 @@ + + @@ -1641,7 +2098,9 @@ + + @@ -1658,9 +2117,14 @@ + + + + + @@ -1679,6 +2143,8 @@ + + @@ -1690,11 +2156,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1702,6 +2195,7 @@ <ProfileDescription></ProfileDescription> + @@ -1711,6 +2205,7 @@ + @@ -1724,6 +2219,9 @@ + + + @@ -1734,6 +2232,9 @@ + + + @@ -1750,16 +2251,24 @@ + + + + + + + + @@ -1774,6 +2283,9 @@ + + + @@ -1788,6 +2300,7 @@ + @@ -1799,6 +2312,7 @@ + @@ -1855,6 +2369,8 @@ + + @@ -1862,12 +2378,14 @@ + + @@ -1875,7 +2393,9 @@ + + @@ -1892,9 +2412,14 @@ + + + + + @@ -1913,6 +2438,8 @@ + + @@ -1924,11 +2451,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1936,6 +2490,7 @@ <ProfileDescription></ProfileDescription> + @@ -1945,6 +2500,7 @@ + @@ -1958,6 +2514,9 @@ + + + @@ -1968,6 +2527,9 @@ + + + @@ -1984,16 +2546,24 @@ + + + + + + + + @@ -2008,6 +2578,9 @@ + + + @@ -2022,6 +2595,7 @@ + @@ -2033,6 +2607,7 @@ + @@ -2089,6 +2664,8 @@ + + @@ -2096,12 +2673,14 @@ + + @@ -2109,7 +2688,9 @@ + + @@ -2126,9 +2707,14 @@ + + + + + @@ -2147,6 +2733,8 @@ + + @@ -2158,16 +2746,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + Disable Slow Rules This profile disables rules known to have poor performance in some environments, such as systems with large numbers of user accounts. + + + + + + @@ -2179,24 +2800,26 @@ - + + - + - + + @@ -2204,42 +2827,55 @@ + + + + + + + + + - - + + + + + + @@ -2248,9 +2884,12 @@ + + + @@ -2260,9 +2899,11 @@ + + @@ -2271,25 +2912,31 @@ + + + - + + + + @@ -2302,6 +2949,7 @@ + @@ -2313,53 +2961,78 @@ - + + + + + + + + + + + + - + + + + + + + + + + + + + + + @@ -2367,23 +3040,29 @@ + + - + + + + + @@ -2408,7 +3087,7 @@ Note: The life-cycle time spans and dates are subject to adjustment.</VulnDis Upgrade to a supported version of RHEL 8. - + @@ -2444,7 +3123,43 @@ Enable FIPS mode after installation (not strict FIPS-compliant) with the followi Reboot the system for the changes to take effect. - + + + + + + SRG-OS-000032-GPOS-00013 + <GroupDescription></GroupDescription> + + RHEL-08-010070 + All RHEL 8 remote access methods must be monitored. + <VulnDiscussion>Remote access services, such as those providing remote access to network devices and information systems, which lack automated monitoring capabilities, increase risk and make remote user access management difficult at best. + +Remote access is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. + +Automated monitoring of remote access sessions allows organizations to detect cyber attacks and ensure ongoing compliance with remote access policies by auditing connection activities of remote access capabilities, such as Remote Desktop Protocol (RDP), 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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-000067 + Configure RHEL 8 to monitor all remote access methods by installing rsyslog with the following command: + +$ sudo yum install rsyslog + +Then add or update the following lines to the "/etc/rsyslog.conf" file: + +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.service + + + @@ -2475,7 +3190,7 @@ Edit/Modify the following line in the "/etc/login.defs" file and set "[ENCRYPT_M ENCRYPT_METHOD SHA512 - + @@ -2500,14 +3215,14 @@ 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. - + SRG-OS-000073-GPOS-00041 <GroupDescription></GroupDescription> - + RHEL-08-010130 The RHEL 8 shadow password suite must be configured to use a sufficient number of hashing rounds. <VulnDiscussion>The system must use a strong hashing algorithm to store the password. The system must use a sufficient number of hashing rounds to ensure the required level of entropy. @@ -2522,14 +3237,14 @@ Passwords need to be protected at all times, and encryption is the standard meth CCI-000196 CCI-004062 - Configure RHEL 8 to encrypt all stored passwords with a strong cryptographic hash. + Configure RHEL 8 to encrypt all stored passwords with a strong cryptographic hash. -Edit/modify the following line in the "/etc/login.defs" file and set "SHA_CRYPT_MIN_ROUNDS" to a value no lower than "5000": +Edit/modify the following line in the "/etc/login.defs" file and set "SHA_CRYPT_MIN_ROUNDS" to a value no lower than "100000": -SHA_CRYPT_MIN_ROUNDS 5000 - +SHA_CRYPT_MIN_ROUNDS 100000 + - + @@ -2547,6 +3262,7 @@ SHA_CRYPT_MIN_ROUNDS 5000 Red Hat Enterprise Linux 8 2921 + CCI-000213 Configure the system to require a grub bootloader password for the grub superusers account with the grub2-setpassword command, which creates/overwrites the /boot/efi/EFI/redhat/user.cfg file. @@ -2557,7 +3273,7 @@ Enter password: Confirm password: - + @@ -2575,6 +3291,7 @@ Confirm password: Red Hat Enterprise Linux 8 2921 + CCI-000213 Configure the system to require a grub bootloader password for the grub superusers account with the grub2-setpassword command, which creates/overwrites the /boot/grub2/user.cfg file. @@ -2585,7 +3302,7 @@ Enter password: Confirm password: - + @@ -2609,7 +3326,7 @@ Confirm password: ExecStart=-/usr/lib/systemd/systemd-sulogin-shell rescue - + @@ -2639,7 +3356,7 @@ Edit/modify the following line in the "/etc/pam.d/password-auth" file to include password sufficient pam_unix.so sha512 - + @@ -2663,13 +3380,15 @@ FIPS 140-2 is the current standard for validating that mechanisms used to access Red Hat Enterprise Linux 8 2921 + + CCI-000803 Configure RHEL 8 to prevent system daemons from using Kerberos for authentication. Remove any files with the .keytab extension from the operating system. - + @@ -2693,13 +3412,44 @@ FIPS 140-2 is the current standard for validating that mechanisms used to access Red Hat Enterprise Linux 8 2921 + CCI-000803 Document 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-workstation - + + + + + + SRG-OS-000134-GPOS-00068 + <GroupDescription></GroupDescription> + + RHEL-08-010170 + RHEL 8 must use a Linux Security Module configured to enforce limits on system services. + <VulnDiscussion>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.</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-001084 + Configure the operating system to verify correct operation of all security functions. + +Set the "SELinux" status and the "Enforcing" mode by modifying the "/etc/selinux/config" file to have the following line: + +SELINUX=enforcing + +A reboot is required for the changes to take effect. + + + @@ -2725,7 +3475,7 @@ Policycoreutils contains the policy core utilities that are required for basic o $ sudo yum install policycoreutils - + @@ -2763,7 +3513,7 @@ For the changes to take effect, the SSH daemon must be restarted: $ sudo systemctl restart sshd.service - + @@ -2789,7 +3539,7 @@ The structure and content of error messages must be carefully considered by the $ sudo chmod 0640 /var/log/messages - + @@ -2815,7 +3565,7 @@ The structure and content of error messages must be carefully considered by the $ sudo chown root /var/log/messages - + @@ -2841,7 +3591,7 @@ The structure and content of error messages must be carefully considered by the $ sudo chgrp root /var/log/messages - + @@ -2867,7 +3617,7 @@ The structure and content of error messages must be carefully considered by the $ sudo chmod 0755 /var/log - + @@ -2893,7 +3643,7 @@ The structure and content of error messages must be carefully considered by the $ sudo chown root /var/log - + @@ -2919,19 +3669,19 @@ The structure and content of error messages must be carefully considered by the $ sudo chgrp root /var/log - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-08-010292 RHEL 8 must ensure the SSH server uses strong entropy. - <VulnDiscussion>The most important characteristic of a random number generator is its randomness, namely its ability to deliver random numbers that are impossible to predict. Entropy in computer security is associated with the unpredictability of a source of randomness. The random source with high entropy tends to achieve a uniform distribution of random values. Random number generators are one of the most important building blocks of cryptosystems. + <VulnDiscussion>The most important characteristic of a random number generator is its randomness, namely its ability to deliver random numbers that are impossible to predict. Entropy in computer security is associated with the unpredictability of a source of randomness. The random source with high entropy tends to achieve a uniform distribution of random values. Random number generators are one of the most important building blocks of cryptosystems. -The SSH implementation in RHEL8 uses the OPENSSL library, which does not use high-entropy sources by default. By using the SSH_USE_STRONG_RNG environment variable the OPENSSL random generator is reseeded from /dev/random. This setting is not recommended on computers without the hardware random generator because insufficient entropy causes the connection to be blocked until enough entropy is available.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> +The SSH implementation in RHEL 8 uses the OPENSSL library, which does not use high-entropy sources by default. By using the SSH_USE_STRONG_RNG environment variable the OPENSSL random generator is reseeded from /dev/random. This setting is not recommended on computers without the hardware random generator because insufficient entropy causes the connection to be blocked until enough entropy is available.</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 @@ -2939,17 +3689,22 @@ The SSH implementation in RHEL8 uses the OPENSSL library, which does not use hig Red Hat Enterprise Linux 8 2921 + CCI-000366 - Configure the operating system SSH server to use strong entropy. + Configure the operating system SSH server to use strong entropy. 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. - +The SSH service must be restarted for changes to take effect. + +Restart the SSH Daemon with the following command: + +$ sudo systemctl restart sshd.service + - + @@ -2987,7 +3742,7 @@ DTLS.MinProtocol = DTLSv1.2 A reboot is required for the changes to take effect. - + @@ -3015,7 +3770,7 @@ Run the following command, replacing "[FILE]" with any system command with a mod $ sudo chmod 755 [FILE] - + @@ -3043,7 +3798,7 @@ Run the following command, replacing "[FILE]" with any system command file not o $ sudo chown root [FILE] - + @@ -3071,7 +3826,89 @@ Run the following command, replacing "[FILE]" with any system command file not g $ sudo chgrp root [FILE] - + + + + + + SRG-OS-000259-GPOS-00100 + <GroupDescription></GroupDescription> + + RHEL-08-010330 + RHEL 8 library files must have mode 755 or less permissive. + <VulnDiscussion>If RHEL 8 were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. + +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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-001499 + Configure 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] + + + + + + + + SRG-OS-000259-GPOS-00100 + <GroupDescription></GroupDescription> + + RHEL-08-010340 + RHEL 8 library files must be owned by root. + <VulnDiscussion>If RHEL 8 were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. + +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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-001499 + Configure the system-wide shared library files (/lib, /lib64, /usr/lib and /usr/lib64) to be protected from unauthorized access. + +Run the following command, replacing "[FILE]" with any library file not owned by "root". + +$ sudo chown root [FILE] + + + + + + + + SRG-OS-000259-GPOS-00100 + <GroupDescription></GroupDescription> + + RHEL-08-010350 + RHEL 8 library files must be group-owned by root or a system account. + <VulnDiscussion>If RHEL 8 were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. + +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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-001499 + Configure the system-wide shared library files (/lib, /lib64, /usr/lib and /usr/lib64) to be protected from unauthorized access. + +Run the following command, replacing "[FILE]" with any library file not group-owned by "root". + +$ sudo chgrp root [FILE] + + + @@ -3100,7 +3937,7 @@ Verifying the authenticity of the software prior to installation validates the i gpgcheck=1 - + @@ -3131,7 +3968,7 @@ Set the "localpkg_gpgcheck" option to "True" in the "/etc/dnf/dnf.conf" file: localpkg_gpgcheck=True - + @@ -3180,7 +4017,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -3232,7 +4069,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -3284,7 +4121,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -3336,7 +4173,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -3388,14 +4225,14 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + SRG-OS-000373-GPOS-00156 <GroupDescription></GroupDescription> - + RHEL-08-010380 RHEL 8 must require users to provide a password for privilege escalation. <VulnDiscussion>Without reauthentication, users may access resources or perform tasks for which they do not have authorization. @@ -3415,14 +4252,14 @@ 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. - + SRG-OS-000373-GPOS-00156 <GroupDescription></GroupDescription> - + RHEL-08-010381 RHEL 8 must require users to reauthenticate for privilege escalation. <VulnDiscussion>Without reauthentication, users may access resources or perform tasks for which they do not have authorization. @@ -3442,7 +4279,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. - + @@ -3475,7 +4312,105 @@ This requirement only applies to components where this is specific to the functi $ sudo yum install openssl-pkcs11 - + + + + + + SRG-OS-000134-GPOS-00068 + <GroupDescription></GroupDescription> + + RHEL-08-010421 + RHEL 8 must clear the page allocator to prevent use-after-free attacks. + <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. + +Poisoning writes an arbitrary value to freed pages, so any modification or reference to that page after being freed or before being initialized will be detected and prevented. This prevents many types of use-after-free vulnerabilities at little performance cost. Also prevents leak of data and detection of corrupted memory. + +Satisfies: SRG-OS-000134-GPOS-00068, SRG-OS-000433-GPOS-00192</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-001084 + Configure RHEL 8 to enable page poisoning with the following commands: + +$ 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" + + + + + + + + SRG-OS-000134-GPOS-00068 + <GroupDescription></GroupDescription> + + RHEL-08-010422 + RHEL 8 must disable virtual syscalls. + <VulnDiscussion>Syscalls are special routines in the Linux kernel, which userspace applications ask to do privileged tasks. Invoking a system call is an expensive operation because the processor must interrupt the currently executing task and switch context to kernel mode and then back to userspace after the system call completes. Virtual Syscalls map into user space a page that contains some variables and the implementation of some system calls. This allows the system calls to be executed in userspace to alleviate the context switching expense. + +Virtual Syscalls provide an opportunity of attack for a user who has control of the return instruction pointer. Disabling vsyscalls help to prevent return oriented programming (ROP) attacks via buffer overflows and overruns. If the system intends to run containers based on RHEL 6 components, then virtual syscalls will need enabled so the components function properly. + +Satisfies: SRG-OS-000134-GPOS-00068, SRG-OS-000433-GPOS-00192</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-001084 + Document the use of vsyscalls with the ISSO as an operational requirement or disable them with the following command: + +$ 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" + + + + + + + + SRG-OS-000134-GPOS-00068 + <GroupDescription></GroupDescription> + + RHEL-08-010423 + RHEL 8 must clear SLUB/SLAB objects to prevent use-after-free attacks. + <VulnDiscussion>Some adversaries launch attacks with the intent of executing code in nonexecutable 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. + +Poisoning writes an arbitrary value to freed pages, so any modification or reference to that page after being freed or before being initialized will be detected and prevented. This prevents many types of use-after-free vulnerabilities at little performance cost. Also prevents leak of data and detection of corrupted memory. + +SLAB objects are blocks of physically-contiguous memory. SLUB is the unqueued SLAB allocator. + +Satisfies: SRG-OS-000134-GPOS-00068, SRG-OS-000433-GPOS-00192</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-001084 + Configure RHEL 8 to enable poisoning of SLUB/SLAB objects with the following commands: + +$ 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" + + + @@ -3523,7 +4458,7 @@ Issue the following command to make the changes take effect: $ sudo sysctl --system - + @@ -3549,7 +4484,7 @@ Set the "clean_requirements_on_remove" option to "True" in the "/etc/dnf/dnf.con clean_requirements_on_remove=True - + @@ -3579,7 +4514,7 @@ SELINUXTYPE=targeted A reboot is required for the changes to take effect. - + @@ -3603,7 +4538,7 @@ A reboot is required for the changes to take effect. $ sudo rm /etc/ssh/shosts.equiv - + @@ -3627,7 +4562,7 @@ $ sudo rm /etc/ssh/shosts.equiv $ sudo rm /[path]/[to]/[file]/.shosts - + @@ -3655,7 +4590,7 @@ The SSH daemon must be restarted for the changes to take effect. To restart the $ sudo systemctl restart sshd.service - + @@ -3683,7 +4618,7 @@ The SSH daemon must be restarted for the changes to take effect. To restart the $ sudo systemctl restart sshd.service - + @@ -3711,7 +4646,7 @@ The SSH daemon must be restarted for the changes to take effect. To restart the $ sudo systemctl restart sshd.service - + @@ -3741,7 +4676,7 @@ The SSH daemon must be restarted for the changes to take effect. To restart the $ sudo systemctl restart sshd.service - + @@ -3771,7 +4706,7 @@ The SSH daemon must be restarted for the changes to take effect. To restart the $ sudo systemctl restart sshd.service - + @@ -3793,7 +4728,7 @@ $ sudo systemctl restart sshd.service Migrate the "/var" path onto a separate file system. - + @@ -3815,7 +4750,7 @@ $ sudo systemctl restart sshd.service Migrate the "/var/log" path onto a separate file system. - + @@ -3837,7 +4772,7 @@ $ sudo systemctl restart sshd.service Migrate the system audit data path onto a separate file system. - + @@ -3859,7 +4794,7 @@ $ sudo systemctl restart sshd.service Migrate the "/tmp" directory onto a separate file system/partition. - + @@ -3890,7 +4825,7 @@ The SSH daemon must be restarted for the changes to take effect. To restart the $ sudo systemctl restart sshd.service - + @@ -3918,7 +4853,29 @@ $ sudo systemctl start rsyslog.service $ sudo systemctl enable rsyslog.service - + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + RHEL-08-010570 + RHEL 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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-000366 + Configure the "/etc/fstab" to use the "nosuid" option on file systems that contain user home directories for interactive users. + + + @@ -3936,11 +4893,12 @@ $ sudo systemctl enable rsyslog.service Red Hat Enterprise Linux 8 2921 + CCI-000366 Configure the "/etc/fstab" to use the "nosuid" option on the /boot directory. - + @@ -3962,7 +4920,7 @@ $ sudo systemctl enable rsyslog.service Configure the "/etc/fstab" to use the "nodev" option on all non-root local partitions. - + @@ -3984,7 +4942,7 @@ $ sudo systemctl enable rsyslog.service Configure the "/etc/fstab" to use the "noexec" option on file systems that are being imported via NFS. - + @@ -4006,7 +4964,7 @@ $ sudo systemctl enable rsyslog.service Configure the "/etc/fstab" to use the "nodev" option on file systems that are being imported via NFS. - + @@ -4028,7 +4986,7 @@ $ sudo systemctl enable rsyslog.service Configure the "/etc/fstab" to use the "nosuid" option on file systems that are being imported via NFS. - + @@ -4074,7 +5032,43 @@ The system configuration files need to be reloaded for the changes to take effec $ sudo sysctl --system - + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + RHEL-08-010672 + RHEL 8 must disable acquiring, saving, and processing core dumps. + <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. + +A core dump includes a memory image taken at the time the operating system terminates an application. The memory image could contain sensitive data and is generally useful only for developers trying to debug problems. + +When the kernel invokes systemd-coredumpt to handle a core dump, it runs in privileged mode, and will connect to the socket created by the systemd-coredump.socket unit. This, in turn, will spawn an unprivileged systemd-coredump@.service instance to process the core dump.</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-000366 + Configure the system to disable the systemd-coredump.socket with the following commands: + +$ sudo systemctl disable --now systemd-coredump.socket + +$ sudo systemctl mask systemd-coredump.socket + +Created symlink /etc/systemd/system/systemd-coredump.socket -> /dev/null + +Reload the daemon for this change to take effect. + +$ sudo systemctl daemon-reload + + + @@ -4102,7 +5096,7 @@ Add the following line to the top of the /etc/security/limits.conf or in a ".con * hard core 0 - + @@ -4130,7 +5124,7 @@ Add or modify the following line in /etc/systemd/coredump.conf: Storage=none - + @@ -4158,17 +5152,17 @@ Add or modify the following line in /etc/systemd/coredump.conf: ProcessSizeMax=0 - + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - - RHEL-08-010760 - All 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> + + RHEL-08-010680 + For RHEL 8 systems using Domain Name Servers (DNS) resolution, at least two name servers must be configured. + <VulnDiscussion>To provide availability for name resolution services, multiple redundant name servers are mandated. A failure in name resolution could lead to the failure of security functions requiring name resolution, which may include time synchronization, centralized authentication, and remote system logging.</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 @@ -4177,22 +5171,26 @@ ProcessSizeMax=0 2921 CCI-000366 - Configure 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. + Configure the operating system to use two or more name servers for DNS resolution. -CREATE_HOME yes - +By default, "NetworkManager" on RHEL 8 dynamically updates the /etc/resolv.conf file with the DNS settings from active "NetworkManager" connection profiles. However, this feature can be disabled to allow manual configurations. + +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.conf + - + - - SRG-OS-000480-GPOS-00229 + + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - - RHEL-08-010830 - RHEL 8 must not allow users to override SSH environment variables. - <VulnDiscussion>SSH environment options potentially allow users to bypass access restriction in some configurations.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> + + RHEL-08-010720 + All 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 8 DISA @@ -4201,18 +5199,166 @@ CREATE_HOME yes 2921 CCI-000366 - Configure RHEL 8 to allow the SSH daemon to not allow unattended or automatic logon to the system. - -Add or edit the following line in the "/etc/ssh/sshd_config" file: - -PermitUserEnvironment no - + Assign home directories to all local interactive users on RHEL 8 that currently do not have a home directory assigned. + + + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + RHEL-08-010730 + All RHEL 8 local interactive user home directories must have mode 0750 or less permissive. + <VulnDiscussion>Excessive permissions on local interactive user home directories may allow unauthorized access to user files by other users.</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-000366 + Change the mode of interactive user’s home directories to "0750". To change the mode of a local interactive user’s home directory, use the following command: + +Note: The example will be for the user "smithj". + +$ sudo chmod 0750 /home/smithj + + + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + RHEL-08-010760 + All 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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-000366 + Configure 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 yes + + + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + RHEL-08-010770 + All RHEL 8 local initialization files must have mode 0740 or less permissive. + <VulnDiscussion>Local initialization files are used to configure the user's shell environment upon logon. Malicious modification of these files could compromise accounts upon logon.</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-000366 + Set the mode of the local initialization files to "0740" with the following command: + +Note: The example will be for the smithj user, who has a home directory of "/home/smithj". + + $ sudo chmod 0740 /home/smithj/.<INIT_FILE> + + + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + RHEL-08-010800 + A 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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-000366 + Migrate the "/home" directory onto a separate file system. + + + + + + + + SRG-OS-000480-GPOS-00229 + <GroupDescription></GroupDescription> + + RHEL-08-010820 + Unattended or automatic logon via the RHEL 8 graphical user interface must not be allowed. + <VulnDiscussion>Failure to restrict system access to authenticated users negatively impacts operating system security.</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-000366 + Configure the operating system to not allow an unattended or automatic logon to the system via a graphical user interface. + +Add or edit the line for the "AutomaticLoginEnable" parameter in the [daemon] section of the "/etc/gdm/custom.conf" file to "false": + +[daemon] +AutomaticLoginEnable=false + + + + + + + + SRG-OS-000480-GPOS-00229 + <GroupDescription></GroupDescription> + + RHEL-08-010830 + RHEL 8 must not allow users to override SSH environment variables. + <VulnDiscussion>SSH environment options potentially allow users to bypass access restriction in some configurations.</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-000366 + Configure RHEL 8 to allow the SSH daemon to not allow unattended or automatic logon to the system. + +Add or edit the following line in the "/etc/ssh/sshd_config" file: + +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.service - + @@ -4236,6 +5382,7 @@ Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128</VulnDiscussion Red Hat Enterprise Linux 8 2921 + CCI-000044 Configure the operating system to lock an account when three unsuccessful logon attempts occur. @@ -4250,7 +5397,7 @@ The "sssd" service must be restarted for the changes to take effect. To restart $ sudo systemctl restart sssd.service - + @@ -4274,6 +5421,7 @@ Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128</VulnDiscussion Red Hat Enterprise Linux 8 2921 + CCI-000044 Configure the operating system to lock an account when three unsuccessful logon attempts occur. @@ -4282,7 +5430,7 @@ Add/Modify the "/etc/security/faillock.conf" file to match the following line: deny = 3 - + @@ -4306,6 +5454,7 @@ Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128</VulnDiscussion Red Hat Enterprise Linux 8 2921 + CCI-000044 Configure the operating system to lock an account when three unsuccessful logon attempts occur in 15 minutes. @@ -4320,7 +5469,7 @@ The "sssd" service must be restarted for the changes to take effect. To restart $ sudo systemctl restart sssd.service - + @@ -4344,6 +5493,7 @@ Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128</VulnDiscussion Red Hat Enterprise Linux 8 2921 + CCI-000044 Configure the operating system to lock an account when three unsuccessful logon attempts occur in 15 minutes. @@ -4352,7 +5502,7 @@ Add/Modify the "/etc/security/faillock.conf" file to match the following line: fail_interval = 900 - + @@ -4376,6 +5526,7 @@ Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128</VulnDiscussion Red Hat Enterprise Linux 8 2921 + CCI-000044 Configure the operating system to lock an account until released by an administrator when three unsuccessful logon attempts occur in 15 minutes. @@ -4390,7 +5541,7 @@ The "sssd" service must be restarted for the changes to take effect. To restart $ sudo systemctl restart sssd.service - + @@ -4414,6 +5565,7 @@ Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128</VulnDiscussion Red Hat Enterprise Linux 8 2921 + CCI-000044 Configure the operating system to lock an account until released by an administrator when three unsuccessful logon attempts occur in 15 minutes. @@ -4422,7 +5574,7 @@ Add/Modify the "/etc/security/faillock.conf" file to match the following line: unlock_time = 0 - + @@ -4446,6 +5598,7 @@ Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128</VulnDiscussion Red Hat Enterprise Linux 8 2921 + CCI-000044 Configure the operating system to prevent informative messages from being presented at logon attempts. @@ -4460,7 +5613,7 @@ The "sssd" service must be restarted for the changes to take effect. To restart $ sudo systemctl restart sssd.service - + @@ -4484,6 +5637,7 @@ Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128</VulnDiscussion Red Hat Enterprise Linux 8 2921 + CCI-000044 Configure the operating system to prevent informative messages from being presented at logon attempts. @@ -4492,7 +5646,7 @@ Add/Modify the "/etc/security/faillock.conf" file to match the following line: silent - + @@ -4518,6 +5672,7 @@ Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128</VulnDiscussion Red Hat Enterprise Linux 8 2921 + CCI-000044 Configure the operating system to log user name information when unsuccessful logon attempts occur. @@ -4532,7 +5687,7 @@ The "sssd" service must be restarted for the changes to take effect. To restart $ sudo systemctl restart sssd.service - + @@ -4556,6 +5711,7 @@ Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128</VulnDiscussion Red Hat Enterprise Linux 8 2921 + CCI-000044 Configure the operating system to log user name information when unsuccessful logon attempts occur. @@ -4564,7 +5720,7 @@ Add/Modify the "/etc/security/faillock.conf" file to match the following line: audit - + @@ -4590,6 +5746,7 @@ Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128</VulnDiscussion Red Hat Enterprise Linux 8 2921 + CCI-000044 Configure the operating system to include root when locking an account after three unsuccessful logon attempts occur in 15 minutes. @@ -4604,7 +5761,7 @@ The "sssd" service must be restarted for the changes to take effect. To restart $ sudo systemctl restart sssd.service - + @@ -4628,6 +5785,7 @@ Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128</VulnDiscussion Red Hat Enterprise Linux 8 2921 + CCI-000044 Configure the operating system to include root when locking an account after three unsuccessful logon attempts occur in 15 minutes. @@ -4636,7 +5794,7 @@ Add/Modify the "/etc/security/faillock.conf" file to match the following line: even_deny_root - + @@ -4664,7 +5822,131 @@ Add the following line to the top of the /etc/security/limits.conf or in a ".con * hard maxlogins 10 - + + + + + + SRG-OS-000028-GPOS-00009 + <GroupDescription></GroupDescription> + + RHEL-08-020030 + RHEL 8 must enable a user session lock until that user re-establishes access using established identification and authentication procedures for graphical user sessions. + <VulnDiscussion>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. + +Regardless of where the session lock is determined and implemented, once invoked, the session lock must remain in place until the user reauthenticates. No other activity aside from reauthentication must unlock the system. + +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 enable a user's session lock until that user re-establishes access using established identification and authentication procedures. + +Create a database to contain the system-wide screensaver settings (if it does not already exist) with the following example: + +$ sudo vi /etc/dconf/db/local.d/00-screensaver + +Edit the "[org/gnome/desktop/screensaver]" section of the database file and add or update the following lines: + +# Set this to true to lock the screen when the screensaver activates +lock-enabled=true + +Update the system databases: + +$ sudo dconf update + + + + + + + + SRG-OS-000028-GPOS-00009 + <GroupDescription></GroupDescription> + + RHEL-08-020050 + RHEL 8 must be able to initiate directly a session lock for all connection types using smartcard when the smartcard is removed. + <VulnDiscussion>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. + +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 enable a user's session lock until that user re-establishes access using established identification and authentication procedures. + +Select/Create an authselect profile and incorporate the "with-smartcard-lock-on-removal" feature with the following example: + +$ sudo authselect select sssd with-smartcard with-smartcard-lock-on-removal + +Alternatively, the dconf settings can be edited in the /etc/dconf/db/* location. + +Edit or add the "[org/gnome/settings-daemon/peripherals/smartcard]" section of the database file and add or update the following lines: + +removal-action='lock-screen' + +Update the system databases: + +$ sudo dconf update + + + + + + + + SRG-OS-000029-GPOS-00010 + <GroupDescription></GroupDescription> + + RHEL-08-020080 + RHEL 8 must prevent a user from overriding the session lock-delay setting for the graphical user interface. + <VulnDiscussion>A session time-out 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 log out because of the temporary nature of the absence. Rather than relying on the user to manually lock their operating system session prior to vacating the vicinity, operating systems need to be able to identify when a user's session has idled and take action to initiate the session lock. + +The session lock is implemented at the point where session activity can be determined and/or controlled. + +Implementing session settings will have little value if a user is able to manipulate these settings from the defaults prescribed in the other requirements of this implementation guide. + +Locking these settings from non-privileged users is crucial to maintaining a protected baseline. + +Satisfies: SRG-OS-000029-GPOS-00010, SRG-OS-000031-GPOS-00012, SRG-OS-000480-GPOS-00227</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-000057 + Configure the operating system to prevent a user from overriding settings for graphical user interfaces. + +Create a database to contain the system-wide screensaver settings (if it does not already exist) with the following command: + +Note: The example below is using the database "local" for the system, so if the system is using another database in "/etc/dconf/profile/user", the file should be created under the appropriate subdirectory. + +$ 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-delay + + + @@ -4694,7 +5976,7 @@ Add the following line to the "/etc/pam.d/password-auth" file (or modify the lin password requisite pam_pwquality.so - + @@ -4727,7 +6009,7 @@ ucredit = -1 Remove any configurations that conflict with the above value. - + @@ -4760,7 +6042,7 @@ lcredit = -1 Remove any configurations that conflict with the above value. - + @@ -4793,7 +6075,7 @@ dcredit = -1 Remove any configurations that conflict with the above value. - + @@ -4826,7 +6108,7 @@ maxclassrepeat = 4 Remove any configurations that conflict with the above value. - + @@ -4859,7 +6141,7 @@ maxrepeat = 3 Remove any configurations that conflict with the above value. - + @@ -4892,7 +6174,7 @@ minclass = 4 Remove any configurations that conflict with the above value. - + @@ -4925,7 +6207,7 @@ difok = 8 Remove any configurations that conflict with the above value. - + @@ -4950,7 +6232,7 @@ Remove any configurations that conflict with the above value. $ sudo chage -m 1 [user] - + @@ -4977,14 +6259,14 @@ Add the following line in "/etc/login.defs" (or modify the line to have the requ PASS_MIN_DAYS 1 - + SRG-OS-000076-GPOS-00044 <GroupDescription></GroupDescription> - + RHEL-08-020200 RHEL 8 user account passwords must have a 60-day maximum password lifetime restriction. <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> @@ -5004,14 +6286,14 @@ Add, or modify the following line in the "/etc/login.defs" file: PASS_MAX_DAYS 60 - + SRG-OS-000076-GPOS-00044 <GroupDescription></GroupDescription> - + RHEL-08-020210 RHEL 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> @@ -5029,7 +6311,7 @@ PASS_MAX_DAYS 60 $ sudo chage -M 60 [user] - + @@ -5066,7 +6348,7 @@ minlen = 15 Remove any configurations that conflict with the above value. - + @@ -5097,7 +6379,37 @@ Add, or modify the following line in the "/etc/login.defs" file: PASS_MIN_LEN 15 - + + + + + + SRG-OS-000104-GPOS-00051 + <GroupDescription></GroupDescription> + + RHEL-08-020240 + RHEL 8 duplicate User IDs (UIDs) must not exist for interactive users. + <VulnDiscussion>To ensure accountability and prevent unauthenticated access, interactive users must be identified and authenticated to prevent potential misuse and compromise of the system. + +Interactive users include organizational employees or individuals the organization deems to have equivalent status of employees (e.g., contractors). Interactive users (and processes acting on behalf of users) must be uniquely identified and authenticated to all accesses, except for the following: + +1) Accesses explicitly identified and documented by the organization. Organizations document specific user actions that can be performed on the information system without identification or authentication; and + +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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-000764 + Edit the file "/etc/passwd" and provide each interactive user account that has a duplicate User ID (UID) with a unique UID. + + + @@ -5128,7 +6440,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. - + @@ -5161,7 +6473,7 @@ ocredit = -1 Remove any configurations that conflict with the above value. - + @@ -5189,7 +6501,7 @@ Add or change the following line in "/etc/sssd/sssd.conf" just below the line "[ offline_credentials_expiration = 1 - + @@ -5217,7 +6529,7 @@ dictcheck=1 Remove any configurations that conflict with the above value. - + @@ -5245,7 +6557,7 @@ Modify the "/etc/login.defs" file to set the "FAIL_DELAY" parameter to "4" or gr FAIL_DELAY 4 - + @@ -5273,7 +6585,7 @@ The SSH daemon must be restarted for the changes to take effect. To restart the $ sudo systemctl restart sshd.service - + @@ -5299,7 +6611,7 @@ Add the following line to the top of "/etc/pam.d/postlogin": session required pam_lastlog.so showfailed - + @@ -5327,7 +6639,7 @@ PrintLastLog yes The SSH service must be restarted for changes to "sshd_config" to take effect. - + @@ -5353,7 +6665,7 @@ Add or edit the line for the "UMASK" parameter in "/etc/login.defs" file to "077 UMASK 077 - + @@ -5387,7 +6699,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. - + @@ -5417,14 +6729,44 @@ Edit the following line in "/etc/audit/auditd.conf" to ensure that administrator action_mail_acct = root - + + + + + + SRG-OS-000046-GPOS-00022 + <GroupDescription></GroupDescription> + + RHEL-08-030030 + The RHEL 8 Information System Security Officer (ISSO) and System Administrator (SA) (at a minimum) must have mail aliases to be notified of an audit processing failure. + <VulnDiscussion>It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without this notification, the security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected. + +Audit processing failures include software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded. + +This requirement applies to each audit data storage repository (i.e., distinct information system component where audit records are stored), the centralized audit storage capacity of organizations (i.e., all audit data storage repositories combined), or both.</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-000139 + Configure RHEL 8 to notify administrators in the event of an audit processing failure. + +Add/update the following line in "/etc/aliases": + +postmaster: root + + + SRG-OS-000047-GPOS-00023 <GroupDescription></GroupDescription> - + RHEL-08-030040 The RHEL 8 System must take appropriate action when an audit processing failure occurs. <VulnDiscussion>It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without this notification, the security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected. @@ -5449,14 +6791,14 @@ 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". - + SRG-OS-000047-GPOS-00023 <GroupDescription></GroupDescription> - + RHEL-08-030060 The RHEL 8 audit system must take appropriate action when the audit storage volume is full. <VulnDiscussion>It is critical that when RHEL 8 is at risk of failing to process audit logs as required, it takes action to mitigate the failure. Audit processing failures include software/hardware errors; failures in the audit capturing mechanisms; and audit storage capacity being reached or exceeded. Responses to audit failure depend upon the nature of the failure mode. @@ -5483,7 +6825,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". - + @@ -5511,7 +6853,7 @@ Add or update the following line in "/etc/audit/auditd.conf" file: local_events = yes - + @@ -5543,7 +6885,7 @@ name_format = hostname The audit daemon must be restarted for changes to take effect. - + @@ -5573,7 +6915,7 @@ log_format = ENRICHED The audit daemon must be restarted for changes to take effect. - + @@ -5601,7 +6943,7 @@ Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPO $ sudo chmod 0600 /var/log/audit/audit.log - + @@ -5631,7 +6973,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". - + @@ -5659,7 +7001,7 @@ Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPO log_group = root - + @@ -5689,7 +7031,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". - + @@ -5719,7 +7061,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". - + @@ -5749,7 +7091,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". - + @@ -5781,7 +7123,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. - + @@ -5811,7 +7153,7 @@ Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPO --loginuid-immutable - + @@ -5843,7 +7185,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. - + @@ -5875,7 +7217,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. - + @@ -5907,7 +7249,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. - + @@ -5939,7 +7281,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. - + @@ -5971,7 +7313,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. - + @@ -6003,7 +7345,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. - + @@ -6035,7 +7377,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. - + @@ -6067,7 +7409,7 @@ Install the audit service (if the audit service is not already installed) with t $ sudo yum install audit - + @@ -6099,7 +7441,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. - + @@ -6144,7 +7486,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. - + @@ -6176,7 +7518,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. - + @@ -6208,7 +7550,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. - + @@ -6240,7 +7582,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. - + @@ -6272,7 +7614,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. - + @@ -6304,7 +7646,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. - + @@ -6336,7 +7678,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. - + @@ -6369,7 +7711,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. - + @@ -6401,7 +7743,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. - + @@ -6433,7 +7775,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. - + @@ -6465,7 +7807,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. - + @@ -6497,7 +7839,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. - + @@ -6529,7 +7871,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. - + @@ -6561,7 +7903,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. - + @@ -6593,7 +7935,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. - + @@ -6625,7 +7967,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. - + @@ -6657,7 +7999,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. - + @@ -6689,7 +8031,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. - + @@ -6721,7 +8063,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. - + @@ -6753,7 +8095,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. - + @@ -6788,7 +8130,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. - + @@ -6828,7 +8170,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. - + @@ -6860,7 +8202,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. - + @@ -6893,7 +8235,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. - + @@ -6925,7 +8267,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. - + @@ -6957,7 +8299,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. - + @@ -7000,7 +8342,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. - + @@ -7039,7 +8381,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. - + @@ -7077,7 +8419,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. - + @@ -7109,7 +8451,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. - + @@ -7141,7 +8483,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. - + @@ -7173,7 +8515,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. - + @@ -7215,7 +8557,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. - + @@ -7257,17 +8599,35 @@ 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. - + - - SRG-OS-000063-GPOS-00032 + + SRG-OS-000062-GPOS-00031 <GroupDescription></GroupDescription> - - RHEL-08-030610 - RHEL 8 must allow only the Information System Security Manager (ISSM) (or individuals or roles appointed by the ISSM) to select which auditable events are to be audited. - <VulnDiscussion>Without the capability to restrict the roles and individuals that can select which events are audited, unauthorized personnel may be able to prevent the auditing of critical events. Misconfigured audits may degrade the system's performance by overwhelming the audit log. Misconfigured audits may also make it more difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> + + RHEL-08-030601 + RHEL 8 must enable auditing of processes that start prior to the audit daemon. + <VulnDiscussion>Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +If auditing is enabled late in the startup process, the actions of some startup processes may not be audited. Some audit systems also maintain state information only available if auditing is enabled before a given process is created. + +Audit records can be generated from various components within the information system (e.g., module or policy filter). + +The list of audited events is the set of events for which audits are to be generated. This set of events is typically a subset of the list of all events for which the system is capable of generating audit records. + +DoD has defined the list of events for which RHEL 8 will provide an audit record generation capability as the following: + +1) Successful and unsuccessful attempts to access, modify, or delete privileges, security objects, security levels, or categories of information (e.g., classification levels); + +2) Access actions, such as successful and unsuccessful logon attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logons from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system; + +3) All account creations, modifications, disabling, and terminations; and + +4) All kernel module load, unload, and restart actions. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215, SRG-OS-000473-GPOS-00218</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 @@ -7275,29 +8635,91 @@ The audit daemon must be restarted for the changes to take effect.Red Hat Enterprise Linux 8 2921 - CCI-000171 - Configure the files in directory "/etc/audit/rules.d/" and the "/etc/audit/auditd.conf" file to have a mode of "0640" with the following commands: + CCI-000169 + Configure RHEL 8 to audit processes that start prior to the audit daemon with the following command: -$ sudo chmod 0640 /etc/audit/rules.d/audit.rules -$ sudo chmod 0640 /etc/audit/rules.d/[customrulesfile].rules -$ sudo chmod 0640 /etc/audit/auditd.conf - +$ 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" + - + - - SRG-OS-000256-GPOS-00097 + + SRG-OS-000341-GPOS-00132 <GroupDescription></GroupDescription> - - RHEL-08-030620 - RHEL 8 audit tools must have a mode of 0755 or less permissive. - <VulnDiscussion>Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information. + + RHEL-08-030602 + RHEL 8 must allocate an audit_backlog_limit of sufficient size to capture processes that start prior to the audit daemon. + <VulnDiscussion>Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -RHEL 8 systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools, and the corresponding rights the user enjoys, to make access decisions regarding the access to audit tools. +If auditing is enabled late in the startup process, the actions of some startup processes may not be audited. Some audit systems also maintain state information only available if auditing is enabled before a given process is created. -Audit tools include, but are not limited to, vendor-provided and open source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> +Audit records can be generated from various components within the information system (e.g., module or policy filter). + +Allocating an audit_backlog_limit of sufficient size is critical in maintaining a stable boot process. With an insufficient limit allocated, the system is susceptible to boot failures and crashes.</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-001849 + Configure RHEL 8 to allocate sufficient audit_backlog_limit to capture processes that start prior to the audit daemon with the following command: + +$ 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" + + + + + + + + SRG-OS-000063-GPOS-00032 + <GroupDescription></GroupDescription> + + RHEL-08-030610 + RHEL 8 must allow only the Information System Security Manager (ISSM) (or individuals or roles appointed by the ISSM) to select which auditable events are to be audited. + <VulnDiscussion>Without the capability to restrict the roles and individuals that can select which events are audited, unauthorized personnel may be able to prevent the auditing of critical events. Misconfigured audits may degrade the system's performance by overwhelming the audit log. Misconfigured audits may also make it more difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.</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-000171 + Configure the files in directory "/etc/audit/rules.d/" and the "/etc/audit/auditd.conf" file to have a mode of "0640" with the following commands: + +$ sudo chmod 0640 /etc/audit/rules.d/audit.rules +$ sudo chmod 0640 /etc/audit/rules.d/[customrulesfile].rules +$ sudo chmod 0640 /etc/audit/auditd.conf + + + + + + + + SRG-OS-000256-GPOS-00097 + <GroupDescription></GroupDescription> + + RHEL-08-030620 + RHEL 8 audit tools must have a mode of 0755 or less permissive. + <VulnDiscussion>Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information. + +RHEL 8 systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools, and the corresponding rights the user enjoys, to make access decisions regarding the access to audit tools. + +Audit tools include, but are not limited to, vendor-provided and open source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators.</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 @@ -7313,7 +8735,7 @@ $ sudo chmod 0755 [audit_tool] Replace "[audit_tool]" with the audit tool that does not have the correct permissive mode. - + @@ -7345,7 +8767,7 @@ $ sudo chown root [audit_tool] Replace "[audit_tool]" with each audit tool not owned by "root". - + @@ -7377,7 +8799,7 @@ $ sudo chgrp root [audit_tool] Replace "[audit_tool]" with each audit tool not group-owned by "root". - + @@ -7412,7 +8834,7 @@ Note that a port number was given as there is no standard port for RELP.</Vul $ sudo yum install rsyslog - + @@ -7447,7 +8869,7 @@ Note that a port number was given as there is no standard port for RELP.</Vul $ sudo yum install rsyslog-gnutls - + @@ -7479,7 +8901,43 @@ overflow_action = syslog The audit daemon must be restarted for changes to take effect. - + + + + + + SRG-OS-000342-GPOS-00133 + <GroupDescription></GroupDescription> + + RHEL-08-030720 + RHEL 8 must authenticate the remote logging server for off-loading audit logs. + <VulnDiscussion>Information stored in one location is vulnerable to accidental or incidental deletion or alteration. + +Off-loading is a common process in information systems with limited audit storage capacity. + +RHEL 8 installation media provides "rsyslogd". "rsyslogd" is a system utility providing support for message logging. Support for both internet and UNIX domain sockets enables this utility to support both local and remote logging. Couple this utility with "gnutls" (which is a secure communications library implementing the SSL, TLS and DTLS protocols), and you have a method to securely encrypt and off-load auditing. + +"Rsyslog" supported authentication modes include: +anon - anonymous authentication +x509/fingerprint - certificate fingerprint authentication +x509/certvalid - certificate validation only +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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-001851 + Configure 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/name + + + @@ -7505,7 +8963,7 @@ space_left = 25% Note: Option names and values in the auditd.conf file are case insensitive. - + @@ -7535,7 +8993,7 @@ Note that USNO offers authenticated NTP service to DOD and U.S. Government agenc port 0 - + @@ -7565,7 +9023,7 @@ Note that USNO offers authenticated NTP service to DOD and U.S. Government agenc cmdport 0 - + @@ -7599,7 +9057,7 @@ If a privileged user were to log on using this service, the privileged user pass $ sudo yum remove telnet-server - + @@ -7629,7 +9087,7 @@ Verify the operating system is configured to disable non-essential capabilities. $ sudo yum remove abrt* - + @@ -7659,7 +9117,43 @@ Verify the operating system is configured to disable non-essential capabilities. $ sudo yum remove sendmail - + + + + + + SRG-OS-000095-GPOS-00049 + <GroupDescription></GroupDescription> + + RHEL-08-040004 + RHEL 8 must enable mitigations against processor-based vulnerabilities. + <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. + +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 (e.g., key missions, functions). + +Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled. + +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. + +Kernel page-table isolation is a kernel feature that mitigates the Meltdown security vulnerability and hardens the kernel against attempts to bypass kernel address space layout randomization (KASLR).</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-000381 + Configure RHEL 8 to enable kernel page-table isolation with the following command: + +$ 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" + + + @@ -7691,7 +9185,7 @@ Satisfies: SRG-OS-000095-GPOS-00049, SRG-OS-000074-GPOS-00042</VulnDiscussion $ sudo yum remove rsh-server - + @@ -7724,7 +9218,7 @@ Add or update the following lines in the file "/etc/modprobe.d/blacklist.conf": Reboot the system for the settings to take effect. - + @@ -7757,7 +9251,7 @@ Add or update the following lines in the file "/etc/modprobe.d/blacklist.conf": Reboot the system for the settings to take effect. - + @@ -7790,7 +9284,7 @@ Add or update the following lines in the file "/etc/modprobe.d/blacklist.conf": Reboot the system for the settings to take effect. - + @@ -7823,7 +9317,7 @@ Add or update the following lines in the file "/etc/modprobe.d/blacklist.conf": Reboot the system for the settings to take effect. - + @@ -7856,7 +9350,7 @@ Add or update the following lines in the file "/etc/modprobe.d/blacklist.conf": Reboot the system for the settings to take effect. - + @@ -7887,7 +9381,37 @@ Add or update the following lines in the file "/etc/modprobe.d/blacklist.conf": Reboot the system for the settings to take effect. - + + + + + + SRG-OS-000114-GPOS-00059 + <GroupDescription></GroupDescription> + + RHEL-08-040070 + The RHEL 8 file system automounter must be disabled unless required. + <VulnDiscussion>Automatically mounting file systems permits easy introduction of unknown devices, thereby facilitating malicious 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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + + CCI-000778 + Configure the operating system to disable the ability to automount devices. + +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. + + + @@ -7918,7 +9442,37 @@ Add or update the following lines in the file "/etc/modprobe.d/blacklist.conf": Reboot the system for the settings to take effect. - + + + + + + SRG-OS-000297-GPOS-00115 + <GroupDescription></GroupDescription> + + RHEL-08-040100 + A 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. + +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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-002314 + Install "firewalld" with the following command: + +$ sudo yum install firewalld.noarch + + + @@ -7958,7 +9512,7 @@ Add or update the line: Reboot the system for the settings to take effect. - + @@ -7988,7 +9542,7 @@ The "nosuid" mount option causes the system to not execute "setuid" and "setgid" tmpfs /dev/shm tmpfs defaults,nodev,nosuid,noexec 0 0 - + @@ -8016,7 +9570,7 @@ The "nosuid" mount option causes the system to not execute "setuid" and "setgid" tmpfs /dev/shm tmpfs defaults,nodev,nosuid,noexec 0 0 - + @@ -8046,7 +9600,7 @@ The "nosuid" mount option causes the system to not execute "setuid" and "setgid" tmpfs /dev/shm tmpfs defaults,nodev,nosuid,noexec 0 0 - + @@ -8076,7 +9630,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 - + @@ -8104,7 +9658,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 - + @@ -8134,7 +9688,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 - + @@ -8164,7 +9718,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 - + @@ -8194,7 +9748,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 - + @@ -8224,7 +9778,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 - + @@ -8254,7 +9808,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 - + @@ -8284,7 +9838,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 - + @@ -8314,7 +9868,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 - + @@ -8344,7 +9898,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 - + @@ -8374,7 +9928,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 - + @@ -8404,7 +9958,71 @@ 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 - + + + + + + SRG-OS-000368-GPOS-00154 + <GroupDescription></GroupDescription> + + RHEL-08-040135 + The RHEL 8 fapolicy module must be installed. + <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. + +Utilizing a whitelist provides a configuration management method for allowing the execution of only authorized software. Using only authorized software decreases risk by limiting the number of potential vulnerabilities. Verification of whitelisted software occurs prior to execution or at system startup. + +User home directories/folders may contain information of a sensitive nature. Non-privileged users should coordinate any sharing of information with an SA through shared resources. + +RHEL 8 ships with many optional packages. One such package is a file access policy daemon called "fapolicyd". "fapolicyd" is a userspace daemon that determines access rights to files based on attributes of the process and file. It can be used to either blacklist or whitelist processes or file access. + +Proceed with caution with enforcing the use of this daemon. Improper configuration may render the system non-functional. The "fapolicyd" API is not namespace aware and can cause issues when launching or running containers. + +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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-001764 + Install "fapolicyd" with the following command: + +$ sudo yum install fapolicyd.x86_64 + + + + + + + + SRG-OS-000420-GPOS-00186 + <GroupDescription></GroupDescription> + + RHEL-08-040150 + A firewall must be able to protect against or limit the effects of Denial of Service (DoS) attacks by ensuring RHEL 8 can implement rate-limiting measures on impacted network interfaces. + <VulnDiscussion>DoS is a condition when a resource is not available for legitimate users. When this occurs, the organization either cannot accomplish its mission or must operate at degraded capacity. + +This requirement addresses the configuration of RHEL 8 to mitigate the impact of DoS attacks that have occurred or are ongoing on system availability. For each system, known and potential DoS attacks must be identified and solutions for each type implemented. A variety of technologies exists to limit or, in some cases, eliminate the effects of DoS attacks (e.g., limiting processes or establishing memory partitions). Employing increased capacity and bandwidth, combined with service redundancy, may reduce the susceptibility to some DoS attacks. + +Since version 0.6.0, "firewalld" has incorporated "nftables" as its backend support. Utilizing the limit statement in "nftables" can help to mitigate DoS 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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-002385 + Configure "nftables" to be the default "firewallbackend" for "firewalld" by adding or editing the following line in "/etc/firewalld/firewalld.conf": + +FirewallBackend=nftables + +Establish rate-limiting rules based on organization-defined types of DoS attacks on impacted network interfaces. + + + @@ -8434,7 +10052,7 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000424-GPOS-00188, SRG-OS-000425-GPO $ sudo systemctl enable sshd.service - + @@ -8470,7 +10088,73 @@ Restart the SSH daemon for the settings to take effect. $ sudo systemctl restart sshd.service - + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + RHEL-08-040170 + The x86 Ctrl-Alt-Delete key sequence must be disabled on RHEL 8. + <VulnDiscussion>A locally logged-on user, who presses Ctrl-Alt-Delete when at the console, can reboot the system. If accidentally pressed, as could happen in the case of a mixed OS environment, this can create the risk of short-term loss of availability of systems due to unintentional reboot. In a graphical user environment, risk of unintentional reboot from the Ctrl-Alt-Delete sequence is reduced because the user will be prompted before any action is taken.</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-000366 + Configure the system to disable the Ctrl-Alt-Delete sequence for the command line with the following commands: + +$ sudo systemctl disable ctrl-alt-del.target + +$ sudo systemctl mask ctrl-alt-del.target + +Created symlink /etc/systemd/system/ctrl-alt-del.target -> /dev/null + +Reload the daemon for this change to take effect. + +$ sudo systemctl daemon-reload + + + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + RHEL-08-040171 + The x86 Ctrl-Alt-Delete key sequence in RHEL 8 must be disabled if a graphical user interface is installed. + <VulnDiscussion>A locally logged-on user, who presses Ctrl-Alt-Delete, when at the console, can reboot the system. If accidentally pressed, as could happen in the case of a mixed OS environment, this can create the risk of short-term loss of availability of systems due to unintentional reboot. In a graphical user environment, risk of unintentional reboot from the Ctrl-Alt-Delete sequence is reduced because the user will be prompted before any action is taken.</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-000366 + Configure the system to disable the Ctrl-Alt-Delete sequence when using a graphical user interface by creating or editing the /etc/dconf/db/local.d/00-disable-CAD file. + +Add the setting to disable the Ctrl-Alt-Delete sequence for a graphical user interface: + +[org/gnome/settings-daemon/plugins/media-keys] +logout='' + +Note: The value above is set to two single quotations. + +Then update the dconf settings: + +$ sudo dconf update + + + @@ -8498,7 +10182,37 @@ Reload the daemon for this change to take effect. $ sudo systemctl daemon-reload - + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + RHEL-08-040180 + The debug-shell systemd service must be disabled on RHEL 8. + <VulnDiscussion>The debug-shell requires no authentication and provides root privileges to anyone who has physical access to the machine. While this feature is disabled by default, masking it adds an additional layer of assurance that it will not be enabled via a dependency in systemd. This also prevents attackers with physical access from trivially bypassing security on the machine through valid troubleshooting configurations and gaining root access when the system is rebooted.</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-000366 + Configure the system to mask the debug-shell systemd service with the following command: + +$ sudo systemctl mask debug-shell.service + +Created symlink /etc/systemd/system/debug-shell.service -> /dev/null + +Reload the daemon to take effect. + +$ sudo systemctl daemon-reload + + + @@ -8522,7 +10236,7 @@ $ sudo systemctl daemon-reload $ sudo yum remove tftp-server - + @@ -8546,7 +10260,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. - + @@ -8572,6 +10286,7 @@ The sysctl --system command will load settings from all system configuration fil Red Hat Enterprise Linux 8 2921 + CCI-000366 Configure RHEL 8 to prevent IPv6 ICMP redirect messages from being accepted. @@ -8592,7 +10307,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8640,7 +10355,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8687,7 +10402,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8713,6 +10428,7 @@ The sysctl --system command will load settings from all system configuration fil Red Hat Enterprise Linux 8 2921 + CCI-000366 Configure RHEL 8 to not forward IPv6 source-routed packets. @@ -8733,7 +10449,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8759,6 +10475,7 @@ The sysctl --system command will load settings from all system configuration fil Red Hat Enterprise Linux 8 2921 + CCI-000366 Configure RHEL 8 to not forward IPv6 source-routed packets by default. @@ -8779,7 +10496,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8805,6 +10522,7 @@ The sysctl --system command will load settings from all system configuration fil Red Hat Enterprise Linux 8 2921 + CCI-000366 Configure RHEL 8 to not allow IPv6 packet forwarding, unless the system is a router. @@ -8825,7 +10543,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8853,6 +10571,7 @@ The sysctl --system command will load settings from all system configuration fil Red Hat Enterprise Linux 8 2921 + CCI-000366 Configure RHEL 8 to not accept router advertisements on all IPv6 interfaces unless the system is a router. @@ -8873,7 +10592,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8901,6 +10620,7 @@ The sysctl --system command will load settings from all system configuration fil Red Hat Enterprise Linux 8 2921 + CCI-000366 Configure RHEL 8 to not accept router advertisements on all IPv6 interfaces by default unless the system is a router. @@ -8921,7 +10641,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8969,7 +10689,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8995,6 +10715,7 @@ The sysctl --system command will load settings from all system configuration fil Red Hat Enterprise Linux 8 2921 + CCI-000366 Configure RHEL 8 to ignore IPv6 ICMP redirect messages. @@ -9015,7 +10736,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -9059,7 +10780,7 @@ The system configuration files need to be reloaded for the changes to take effec $ sudo sysctl --system - + @@ -9103,7 +10824,7 @@ The system configuration files need to be reloaded for the changes to take effec $ sudo sysctl --system - + @@ -9147,7 +10868,7 @@ The system configuration files need to be reloaded for the changes to take effec $ sudo sysctl --system - + @@ -9191,7 +10912,7 @@ The system configuration files need to be reloaded for the changes to take effec $ sudo sysctl --system - + @@ -9235,7 +10956,7 @@ The system configuration files need to be reloaded for the changes to take effec $ sudo sysctl --system - + @@ -9253,27 +10974,24 @@ $ sudo sysctl --system Red Hat Enterprise Linux 8 2921 + CCI-000366 If "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' - + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - - RHEL-08-040340 - RHEL 8 remote X connections for interactive users must be disabled unless to fulfill documented and validated mission requirements. - <VulnDiscussion>The security risk of using X11 forwarding is that the client's X11 display server may be exposed to attack when the SSH client requests forwarding. A system administrator may have a stance in which they want to protect clients that may expose themselves to attack by unwittingly requesting X11 forwarding, which can warrant a "no" setting. - -X11 forwarding should be enabled with caution. Users with the ability to bypass file permissions on the remote host (for the user's X11 authorization database) can access the local X11 display through the forwarded connection. An attacker may then be able to perform activities such as keystroke monitoring if the ForwardX11Trusted option is also enabled. - -If X11 services are not required for the system's intended function, they should be disabled or restricted as appropriate to the system’s needs.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> + + RHEL-08-040320 + The graphical display manager must not be installed on RHEL 8 unless approved. + <VulnDiscussion>Internet services that are not required for system or application processes must not be active to decrease the attack surface of the system. Graphical display managers have a long history of security vulnerabilities and must not be used, unless approved and documented.</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 @@ -9282,26 +11000,28 @@ If X11 services are not required for the system's intended function, they should 2921 CCI-000366 - Edit the "/etc/ssh/sshd_config" file to uncomment or add the line for the "X11Forwarding" keyword and set its value to "no" (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): + Document the requirement for a graphical user interface with the ISSO or reinstall the operating system without the graphical user interface. If reinstallation is not feasible, then continue with the following procedure: -X11Forwarding no +Open an SSH session and enter the following commands: -The SSH service must be restarted for changes to take effect: +$ sudo yum remove xorg-x11-server-Xorg xorg-x11-server-common xorg-x11-server-utils xorg-x11-server-Xwayland -$ sudo systemctl restart sshd - +A reboot is required for the changes to take effect. + - + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - - RHEL-08-040341 - The RHEL 8 SSH daemon must prevent remote hosts from connecting to the proxy display. - <VulnDiscussion>When X11 forwarding is enabled, there may be additional exposure to the server and client displays if the sshd proxy display is configured to listen on the wildcard address. By default, sshd binds the forwarding server to the loopback address and sets the hostname part of the DIPSLAY environment variable to localhost. This prevents remote hosts from connecting to the proxy display.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> + + RHEL-08-040330 + RHEL 8 network interfaces must not be in promiscuous mode. + <VulnDiscussion>Network interfaces in promiscuous mode allow for the capture of all network traffic visible to the system. If unauthorized individuals can access these applications, it may allow them to collect information such as logon IDs, passwords, and key exchanges between systems. + +If the system is being used to perform a network troubleshooting function, the use of these tools must be documented with the Information System Security Officer (ISSO) and restricted to only authorized personnel.</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 @@ -9310,21 +11030,79 @@ $ sudo systemctl restart sshd 2921 CCI-000366 - Configure the SSH daemon to prevent remote hosts from connecting to the proxy display. + Configure network interfaces to turn off promiscuous mode unless approved by the ISSO and documented. -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): +Set the promiscuous mode of an interface to off with the following command: -X11UseLocalhost yes - +$ sudo ip link set dev <devicename> multicast off promisc off + - + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + + RHEL-08-040340 + RHEL 8 remote X connections for interactive users must be disabled unless to fulfill documented and validated mission requirements. + <VulnDiscussion>The security risk of using X11 forwarding is that the client's X11 display server may be exposed to attack when the SSH client requests forwarding. A system administrator may have a stance in which they want to protect clients that may expose themselves to attack by unwittingly requesting X11 forwarding, which can warrant a "no" setting. + +X11 forwarding should be enabled with caution. Users with the ability to bypass file permissions on the remote host (for the user's X11 authorization database) can access the local X11 display through the forwarded connection. An attacker may then be able to perform activities such as keystroke monitoring if the ForwardX11Trusted option is also enabled. + +If X11 services are not required for the system's intended function, they should be disabled or restricted as appropriate to the system’s needs.</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-000366 + Edit the "/etc/ssh/sshd_config" file to uncomment or add the line for the "X11Forwarding" keyword and set its value to "no" (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): + +X11Forwarding no + +The SSH service must be restarted for changes to take effect: + +$ sudo systemctl restart sshd + + + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + RHEL-08-040341 + The RHEL 8 SSH daemon must prevent remote hosts from connecting to the proxy display. + <VulnDiscussion>When X11 forwarding is enabled, there may be additional exposure to the server and client displays if the sshd proxy display is configured to listen on the wildcard address. By default, sshd binds the forwarding server to the loopback address and sets the hostname part of the DIPSLAY environment variable to localhost. This prevents remote hosts from connecting to the proxy display.</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-000366 + Configure the SSH daemon to prevent remote hosts from connecting to the proxy display. + +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 yes + + + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + RHEL-08-040350 If 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> @@ -9335,13 +11113,14 @@ X11UseLocalhost yes Red Hat Enterprise Linux 8 2921 + CCI-000366 Configure 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/tftpboot - + @@ -9365,7 +11144,7 @@ server_args = -s /var/lib/tftpboot $ sudo yum remove vsftpd - + @@ -9393,7 +11172,7 @@ The gssproxy package is a proxy for GSS API credential handling and could expose $ sudo yum remove gssproxy - + @@ -9421,7 +11200,7 @@ The iprutils package provides a suite of utilities to manage and configure SCSI $ sudo yum remove iprutils - + @@ -9449,7 +11228,7 @@ The tuned package contains a daemon that tunes the system settings dynamically. $ sudo yum remove tuned - + @@ -9473,13 +11252,14 @@ FIPS 140-2 is the current standard for validating that mechanisms used to access Red Hat Enterprise Linux 8 2921 + CCI-000803 Document 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-server - + @@ -9503,7 +11283,7 @@ ALL ALL=(ALL) ALL ALL ALL=(ALL:ALL) ALL - + @@ -9533,14 +11313,14 @@ Remove any configurations that conflict with the above from the following locati /etc/sudoers.d/ - + SRG-OS-000373-GPOS-00156 <GroupDescription></GroupDescription> - + RHEL-08-010384 RHEL 8 must require re-authentication when using the "sudo" command. <VulnDiscussion>Without re-authentication, users may access resources or perform tasks for which they do not have authorization. @@ -9568,7 +11348,74 @@ 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-000023-GPOS-00006 + <GroupDescription></GroupDescription> + + RHEL-08-010049 + RHEL 8 must display a banner before granting local or remote access to the system via a graphical user logon. + <VulnDiscussion>Display of a standardized and approved use notification before granting access to the operating system ensures privacy and security notification verbiage used is consistent with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance. + +System use notifications are required only for access via logon interfaces with human users and are not required when such human interfaces do not exist. + +Satisfies: SRG-OS-000023-GPOS-00006, SRG-OS-000228-GPOS-00088</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-000048 + Configure the operating system to display a banner before granting access to the system. + +Note: If the system does not have a graphical user interface installed, this requirement is Not Applicable. + +Create a database to contain the system-wide graphical user logon settings (if it does not already exist) with the following command: + +$ sudo touch /etc/dconf/db/local.d/01-banner-message + +Add the following lines to the [org/gnome/login-screen] section of the "/etc/dconf/db/local.d/01-banner-message": + +[org/gnome/login-screen] + +banner-message-enable=true + +Run the following command to update the database: + +$ sudo dconf update + + + + + + + + SRG-OS-000080-GPOS-00048 + <GroupDescription></GroupDescription> + + RHEL-08-010152 + RHEL 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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-000213 + Configure 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 emergency + + + @@ -9598,17 +11445,23 @@ Edit/modify the following line in the "/etc/pam.d/system-auth" file to include t password sufficient pam_unix.so sha512 - + - - SRG-OS-000480-GPOS-00227 + + SRG-OS-000163-GPOS-00072 <GroupDescription></GroupDescription> - - RHEL-08-020332 - RHEL 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> + + RHEL-08-010201 + RHEL 8 must be configured so that all network connections associated with SSH traffic are terminated after 10 minutes of becoming unresponsive. + <VulnDiscussion>Terminating an unresponsive SSH 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. In addition, quickly terminating an idle SSH session will also free up resources committed by the managed network element. + +Terminating network connections associated with communications sessions includes, for example, deallocating associated TCP/IP address/port pairs at the operating system level and deallocating networking assignments at the application level if multiple application sessions are using a single operating system-level network connection. This does not mean that the operating system terminates all sessions or network access; it only ends the unresponsive session and releases the resources associated with that session. + +RHEL 8 uses /etc/ssh/sshd_config for configurations of OpenSSH. Within the sshd_config, the product of the values of "ClientAliveInterval" and "ClientAliveCountMax" is used to establish the inactivity threshold. The "ClientAliveInterval" is a timeout interval in seconds after which if no data has been received from the client, sshd will send a message through the encrypted channel to request a response from the client. The "ClientAliveCountMax" is the number of client alive messages that may be sent without sshd receiving any messages back from the client. If this threshold is met, sshd will disconnect the client. For more information on these settings and others, refer to the sshd_config man pages. + +Satisfies: SRG-OS-000163-GPOS-00072, SRG-OS-000126-GPOS-00066, SRG-OS-000279-GPOS-00109</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 @@ -9616,33 +11469,57 @@ password sufficient pam_unix.so sha512 Red Hat Enterprise Linux 8 2921 - CCI-000366 - Remove any instances of the "nullok" option in the "/etc/pam.d/password-auth" file to prevent logons with empty passwords. + CCI-001133 + Note: This setting must be applied in conjunction with RHEL-08-010200 to function correctly. -Note: Manual changes to the listed file may be overwritten by the "authselect" program. - +Configure the SSH server to terminate a user session automatically after the SSH client has been unresponsive for 10 minutes. + +Modify or append the following lines in the "/etc/ssh/sshd_config" file: + + ClientAliveInterval 600 + +For the changes to take effect, the SSH daemon must be restarted. + + $ sudo systemctl restart sshd.service + - + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - - RHEL-08-040286 - RHEL 8 must enable hardening for the Berkeley Packet Filter Just-in-time compiler. - <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. + + RHEL-08-010472 + RHEL 8 must have the packages required to use the hardware random number generator entropy gatherer service. + <VulnDiscussion>The most important characteristic of a random number generator is its randomness, namely its ability to deliver random numbers that are impossible to predict. Entropy in computer security is associated with the unpredictability of a source of randomness. The random source with high entropy tends to achieve a uniform distribution of random values. Random number generators are one of the most important building blocks of cryptosystems. -Enabling hardening for the Berkeley Packet Filter (BPF) Just-in-time (JIT) compiler aids in mitigating JIT spraying attacks. Setting the value to "2" enables JIT hardening for all users. +The rngd service feeds random data from hardware device to kernel random device. Quality (non-predictable) random number generation is important for several security functions (i.e., ciphers).</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-000366 + Install the packages required to enabled the hardware random number generator entropy gatherer service with the following command: -The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. -/etc/sysctl.d/*.conf -/run/sysctl.d/*.conf -/usr/local/lib/sysctl.d/*.conf -/usr/lib/sysctl.d/*.conf -/lib/sysctl.d/*.conf -/etc/sysctl.conf</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> +$ sudo yum install rng-tools + + + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + RHEL-08-010522 + The RHEL 8 SSH daemon must not allow GSSAPI authentication, except to fulfill documented and validated mission requirements. + <VulnDiscussion>Configuring this setting for the SSH daemon provides additional assurance that remote logon via SSH will require a password, even in the event of misconfiguration elsewhere.</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 @@ -9651,34 +11528,28 @@ The sysctl --system command will load settings from all system configuration fil 2921 CCI-000366 - Configure RHEL 8 to enable hardening for the BPF JIT compiler by adding the following line to a file, in the "/etc/sysctl.d" directory: + Configure the SSH daemon to not allow GSSAPI authentication. -net.core.bpf_jit_harden = 2 +Add the following line in "/etc/ssh/sshd_config", or uncomment the line and set the value to "no": -Remove any configurations that conflict with the above from the following locations: -/run/sysctl.d/*.conf -/usr/local/lib/sysctl.d/*.conf -/usr/lib/sysctl.d/*.conf -/lib/sysctl.d/*.conf -/etc/sysctl.conf -/etc/sysctl.d/*.conf +GSSAPIAuthentication no -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: +The SSH daemon must be restarted for the changes to take effect. To restart the SSH daemon, run the following command: -$ sudo sysctl --system - +$ sudo systemctl restart sshd.service + - + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - - RHEL-08-010121 - The RHEL 8 operating system must not have accounts configured with blank or null passwords. - <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> + + RHEL-08-010544 + RHEL 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 8 DISA @@ -9687,31 +11558,20 @@ $ sudo sysctl --system 2921 CCI-000366 - Configure all accounts on the system to have a password or lock the account with the following commands: - -Perform a password reset: -$ sudo passwd [username] -Lock an account: -$ sudo passwd -l [username] - + Migrate the "/var/tmp" path onto a separate file system. + - + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - - 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. - <VulnDiscussion>Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. "pwquality" enforces complex password construction configuration and has the ability to limit brute-force attacks on the system. - -RHEL 8 uses "pwquality" as a mechanism to enforce password complexity. This is set in both: -/etc/pam.d/password-auth -/etc/pam.d/system-auth - -By limiting the number of attempts to meet the pwquality module complexity requirements before returning with an error, the system will audit abnormal attempts at password changes.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> + + RHEL-08-010572 + RHEL 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 8 DISA @@ -9719,26 +11579,64 @@ By limiting the number of attempts to meet the pwquality module complexity requi Red Hat Enterprise Linux 8 2921 - + CCI-000366 - Configure the operating system to limit the "pwquality" retry option to 3. + Configure the "/etc/fstab" to use the "nosuid" option on the /boot/efi directory. + + + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + RHEL-08-020032 + RHEL 8 must disable the user list at logon for graphical user interfaces. + <VulnDiscussion>Leaving the user list enabled is a security risk since it allows anyone with physical access to the system to enumerate known user accounts without authenticated access to 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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + + CCI-000366 + Configure the operating system to disable the user list at logon for graphical user interfaces. -Add the following line to the "/etc/pam.d/system-auth" file (or modify the line to have the required value): +Create a database to contain the system-wide screensaver settings (if it does not already exist) with the following command: +Note: The example below is using the database "local" for the system, so if the system is using another database in "/etc/dconf/profile/user", the file should be created under the appropriate subdirectory. - password requisite pam_pwquality.so retry=3 - +$ sudo touch /etc/dconf/db/local.d/02-login-screen + +[org/gnome/login-screen] +disable-user-list=true + +Update the system databases: +$ sudo dconf update + - + - - SRG-OS-000163-GPOS-00072 + + SRG-OS-000029-GPOS-00010 <GroupDescription></GroupDescription> - - RHEL-08-020035 - RHEL 8.7 and higher 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> + + RHEL-08-020082 + RHEL 8 must prevent a user from overriding the screensaver lock-enabled setting for the graphical user interface. + <VulnDiscussion>A session time-out 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 log out because of the temporary nature of the absence. Rather than relying on the user to manually lock their operating system session prior to vacating the vicinity, operating systems need to be able to identify when a user's session has idled and take action to initiate the session lock. + +The session lock is implemented at the point where session activity can be determined and/or controlled. + +Implementing session settings will have little value if a user is able to manipulate these settings from the defaults prescribed in the other requirements of this implementation guide. + +Locking these settings from non-privileged users is crucial to maintaining a protected baseline. + +Satisfies: SRG-OS-000029-GPOS-00010, SRG-OS-000031-GPOS-00012, SRG-OS-000480-GPOS-00227</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 @@ -9746,1767 +11644,6084 @@ Add the following line to the "/etc/pam.d/system-auth" file (or modify the line Red Hat Enterprise Linux 8 2921 - CCI-001133 - Configure RHEL 8 to log out idle sessions after 10 minutes by editing the /etc/systemd/logind.conf file with the following line: + + CCI-000057 + Configure the operating system to prevent a user from overriding settings for graphical user interfaces. -StopIdleSessionSec=600 +Create a database to contain the system-wide screensaver settings (if it does not already exist) with the following command: -The "logind" service must be restarted for the changes to take effect. To restart the "logind" service, run the following command: +Note: The example below is using the database "local" for the system, so if the system is using another database in "/etc/dconf/profile/user", the file should be created under the appropriate subdirectory. -$ sudo systemctl restart systemd-logind - +$ 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-enabled + - + - - - - - - Security Content Tool 0.9.0 - 5.11 - 2024-09-26T04:15:51 - - - - - The operating system must be a vendor-supported release. - - - - - - - - - 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. - + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + RHEL-08-020332 + RHEL 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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-000366 + Remove 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. + + + + + + + + SRG-OS-000062-GPOS-00031 + <GroupDescription></GroupDescription> + + RHEL-08-030181 + RHEL 8 audit records must contain information to establish what type of events occurred, the source of events, where events occurred, and the outcome of events. + <VulnDiscussion>Without establishing what type of events occurred, the source of events, where events occurred, and the outcome of events, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. + +Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. + +Associating event types with detected events in RHEL 8 audit logs provides a means of investigating an attack, recognizing resource utilization or capacity thresholds, or identifying an improperly configured RHEL 8 system. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000038-GPOS-00016, SRG-OS-000039-GPOS-00017, SRG-OS-000040-GPOS-00018, SRG-OS-000041-GPOS-00019, SRG-OS-000042-GPOS-00021, SRG-OS-000051-GPOS-00024, SRG-OS-000054-GPOS-00025, SRG-OS-000122-GPOS-00063, SRG-OS-000254-GPOS-00095, SRG-OS-000255-GPOS-00096, SRG-OS-000337-GPOS-00129, SRG-OS-000348-GPOS-00136, SRG-OS-000349-GPOS-00137, SRG-OS-000350-GPOS-00138, SRG-OS-000351-GPOS-00139, SRG-OS-000352-GPOS-00140, SRG-OS-000353-GPOS-00141, SRG-OS-000354-GPOS-00142, SRG-OS-000358-GPOS-00145, SRG-OS-000365-GPOS-00152, SRG-OS-000392-GPOS-00172, SRG-OS-000475-GPOS-00220</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-000169 + Configure the audit service to produce audit records containing the information needed to establish when (date and time) an event occurred with the following commands: + +$ sudo systemctl enable auditd.service + +$ sudo systemctl start auditd.service + + + + + + + + SRG-OS-000343-GPOS-00134 + <GroupDescription></GroupDescription> + + RHEL-08-030731 + RHEL 8 must notify the System Administrator (SA) and Information System Security Officer (ISSO) (at a minimum) when allocated audit record storage volume 75 percent utilization. + <VulnDiscussion>If security personnel are not notified immediately when storage volume reaches 75 percent utilization, they are unable to plan for audit record storage capacity expansion.</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-001855 + Configure the operating system to initiate an action to notify the SA and ISSO (at a minimum) when allocated audit record storage volume reaches 75 percent of the repository maximum audit record storage capacity by adding/modifying the following line in the /etc/audit/auditd.conf file. + +space_left_action = email + +Note: Option names and values in the auditd.conf file are case insensitive. + + + + + + + + SRG-OS-000297-GPOS-00115 + <GroupDescription></GroupDescription> + + RHEL-08-040101 + A firewall must be active 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. + +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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-002314 + Configure "firewalld" to protect the operating system with the following command: + +$ sudo systemctl enable firewalld + + + + + + + + SRG-OS-000368-GPOS-00154 + <GroupDescription></GroupDescription> + + RHEL-08-040136 + The RHEL 8 fapolicy module must be enabled. + <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. + +Utilizing a whitelist provides a configuration management method for allowing the execution of only authorized software. Using only authorized software decreases risk by limiting the number of potential vulnerabilities. Verification of whitelisted software occurs prior to execution or at system startup. + +User home directories/folders may contain information of a sensitive nature. Non-privileged users should coordinate any sharing of information with an SA through shared resources. + +RHEL 8 ships with many optional packages. One such package is a file access policy daemon called "fapolicyd". "fapolicyd" is a userspace daemon that determines access rights to files based on attributes of the process and file. It can be used to either blacklist or whitelist processes or file access. + +Proceed with caution with enforcing the use of this daemon. Improper configuration may render the system non-functional. The "fapolicyd" API is not namespace aware and can cause issues when launching or running containers. + +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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-001764 + Enable "fapolicyd" using the following command: + +$ sudo systemctl enable --now fapolicyd + + + + + + + + SRG-OS-000378-GPOS-00163 + <GroupDescription></GroupDescription> + + RHEL-08-040139 + RHEL 8 must have the USBGuard installed. + <VulnDiscussion>Without authenticating devices, unidentified or unknown devices may be introduced, thereby facilitating malicious activity. +Peripherals include, but are not limited to, such devices as flash drives, external storage, and printers. +A new feature that RHEL 8 provides is the USBGuard software framework. The USBguard-daemon is the main component of the USBGuard software framework. It runs as a service in the background and enforces the USB device authorization policy for all USB devices. The policy is defined by a set of rules using a rule language described in the usbguard-rules.conf file. The policy and the authorization state of USB devices can be modified during runtime using the usbguard tool. + +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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-001958 + Install the USBGuard package with the following command: + +$ sudo yum install usbguard.x86_64 + + + + + + + + SRG-OS-000378-GPOS-00163 + <GroupDescription></GroupDescription> + + RHEL-08-040141 + RHEL 8 must enable the USBGuard. + <VulnDiscussion>Without authenticating devices, unidentified or unknown devices may be introduced, thereby facilitating malicious activity. + +Peripherals include, but are not limited to, such devices as flash drives, external storage, and printers. + +A new feature that RHEL 8 provides is the USBGuard software framework. The USBguard-daemon is the main component of the USBGuard software framework. It runs as a service in the background and enforces the USB device authorization policy for all USB devices. The policy is defined by a set of rules using a rule language described in the usbguard-rules.conf file. The policy and the authorization state of USB devices can be modified during runtime using the usbguard tool. + +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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-001958 + Configure the operating system to enable the blocking of unauthorized peripherals with the following commands: + +$ 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 mouse + + + + + + + + SRG-OS-000423-GPOS-00187 + <GroupDescription></GroupDescription> + + RHEL-08-040159 + All RHEL 8 networked systems must have SSH installed. + <VulnDiscussion>Without protection of the transmitted information, confidentiality and integrity may be compromised because unprotected communications can be intercepted and either read or altered. + +This requirement applies to both internal and external networks and all types of information system components from which information can be transmitted (e.g., servers, mobile devices, notebook computers, printers, copiers, scanners, and facsimile machines). 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 organizational information can be accomplished by physical means (e.g., employing physical distribution systems) 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. + +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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-002418 + Install SSH packages onto the host with the following command: + +$ sudo yum install openssh-server.x86_64 + + + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + RHEL-08-040209 + RHEL 8 must prevent IPv4 Internet Control Message Protocol (ICMP) redirect messages from being accepted. + <VulnDiscussion>ICMP redirect messages are used by routers to inform hosts that a more direct route exists for a particular destination. These messages modify the host's route table and are unauthenticated. An illicit ICMP redirect message could result in a man-in-the-middle attack. + +The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. +/etc/sysctl.d/*.conf +/run/sysctl.d/*.conf +/usr/local/lib/sysctl.d/*.conf +/usr/lib/sysctl.d/*.conf +/lib/sysctl.d/*.conf +/etc/sysctl.conf</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-000366 + Configure RHEL 8 to prevent IPv4 ICMP redirect messages from being accepted. + +Add or edit the following line in a system configuration file, in the "/etc/sysctl.d/" directory: + +net.ipv4.conf.default.accept_redirects = 0 + +Remove any configurations that conflict with the above from the following locations: +/run/sysctl.d/*.conf +/usr/local/lib/sysctl.d/*.conf +/usr/lib/sysctl.d/*.conf +/lib/sysctl.d/*.conf +/etc/sysctl.conf +/etc/sysctl.d/*.conf + +Load settings from all system configuration files with the following command: + +$ sudo sysctl --system + + + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + RHEL-08-040239 + RHEL 8 must not forward IPv4 source-routed packets. + <VulnDiscussion>Source-routed packets allow the source of the packet to suggest that routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures. This requirement applies only to the forwarding of source-routed traffic, such as when forwarding is enabled and the system is functioning as a router. + +The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. +/etc/sysctl.d/*.conf +/run/sysctl.d/*.conf +/usr/local/lib/sysctl.d/*.conf +/usr/lib/sysctl.d/*.conf +/lib/sysctl.d/*.conf +/etc/sysctl.conf</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-000366 + Configure RHEL 8 to not forward IPv4 source-routed packets. + +Add or edit the following line in a system configuration file, in the "/etc/sysctl.d/" directory: + +net.ipv4.conf.all.accept_source_route=0 + +Remove any configurations that conflict with the above from the following locations: +/run/sysctl.d/*.conf +/usr/local/lib/sysctl.d/*.conf +/usr/lib/sysctl.d/*.conf +/lib/sysctl.d/*.conf +/etc/sysctl.conf +/etc/sysctl.d/*.conf + +Load settings from all system configuration files with the following command: + +$ sudo sysctl --system + + + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + RHEL-08-040249 + RHEL 8 must not forward IPv4 source-routed packets by default. + <VulnDiscussion>Source-routed packets allow the source of the packet to suggest that routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures. This requirement applies only to the forwarding of source-routed traffic, such as when forwarding is enabled and the system is functioning as a router. + +The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. +/etc/sysctl.d/*.conf +/run/sysctl.d/*.conf +/usr/local/lib/sysctl.d/*.conf +/usr/lib/sysctl.d/*.conf +/lib/sysctl.d/*.conf +/etc/sysctl.conf</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-000366 + Configure RHEL 8 to not forward IPv4 source-routed packets by default. + +Add or edit the following line in a system configuration file, in the "/etc/sysctl.d/" directory: + +net.ipv4.conf.default.accept_source_route=0 + +Remove any configurations that conflict with the above from the following locations: +/run/sysctl.d/*.conf +/usr/local/lib/sysctl.d/*.conf +/usr/lib/sysctl.d/*.conf +/lib/sysctl.d/*.conf +/etc/sysctl.conf +/etc/sysctl.d/*.conf + +Load settings from all system configuration files with the following command: + +$ sudo sysctl --system + + + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + RHEL-08-040279 + RHEL 8 must ignore IPv4 Internet Control Message Protocol (ICMP) redirect messages. + <VulnDiscussion>ICMP redirect messages are used by routers to inform hosts that a more direct route exists for a particular destination. These messages modify the host's route table and are unauthenticated. An illicit ICMP redirect message could result in a man-in-the-middle attack. + +The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. +/etc/sysctl.d/*.conf +/run/sysctl.d/*.conf +/usr/local/lib/sysctl.d/*.conf +/usr/lib/sysctl.d/*.conf +/lib/sysctl.d/*.conf +/etc/sysctl.conf</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-000366 + Configure RHEL 8 to ignore IPv4 ICMP redirect messages. + +Add or edit the following line in a system configuration file, in the "/etc/sysctl.d/" directory: + +net.ipv4.conf.all.accept_redirects = 0 + +Remove any configurations that conflict with the above from the following locations: +/run/sysctl.d/*.conf +/usr/local/lib/sysctl.d/*.conf +/usr/lib/sysctl.d/*.conf +/lib/sysctl.d/*.conf +/etc/sysctl.conf +/etc/sysctl.d/*.conf + +Load settings from all system configuration files with the following command: + +$ sudo sysctl --system + + + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + RHEL-08-040286 + RHEL 8 must enable hardening for the Berkeley Packet Filter Just-in-time compiler. + <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. + +Enabling hardening for the Berkeley Packet Filter (BPF) Just-in-time (JIT) compiler aids in mitigating JIT spraying attacks. Setting the value to "2" enables JIT hardening for all users. + +The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. +/etc/sysctl.d/*.conf +/run/sysctl.d/*.conf +/usr/local/lib/sysctl.d/*.conf +/usr/lib/sysctl.d/*.conf +/lib/sysctl.d/*.conf +/etc/sysctl.conf</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-000366 + Configure RHEL 8 to enable hardening for the BPF JIT compiler by adding the following line to a file, in the "/etc/sysctl.d" directory: + +net.core.bpf_jit_harden = 2 + +Remove any configurations that conflict with the above from the following locations: +/run/sysctl.d/*.conf +/usr/local/lib/sysctl.d/*.conf +/usr/lib/sysctl.d/*.conf +/lib/sysctl.d/*.conf +/etc/sysctl.conf +/etc/sysctl.d/*.conf + +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 --system + + + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + RHEL-08-010121 + The RHEL 8 operating system must not have accounts configured with blank or null passwords. + <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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-000366 + Configure all accounts on the system to have a password or lock the account with the following commands: + +Perform a password reset: +$ sudo passwd [username] +Lock an account: +$ sudo passwd -l [username] + + + + + + + + SRG-OS-000259-GPOS-00100 + <GroupDescription></GroupDescription> + + RHEL-08-010331 + RHEL 8 library directories must have mode 755 or less permissive. + <VulnDiscussion>If RHEL 8 were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. + +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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-001499 + Configure 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] + + + + + + + + SRG-OS-000259-GPOS-00100 + <GroupDescription></GroupDescription> + + RHEL-08-010341 + RHEL 8 library directories must be owned by root. + <VulnDiscussion>If RHEL 8 were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. + +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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-001499 + Configure the system-wide shared library directories within (/lib, /lib64, /usr/lib and /usr/lib64) to be protected from unauthorized access. + +Run the following command, replacing "[DIRECTORY]" with any library directory not owned by "root". + +$ sudo chown root [DIRECTORY] + + + + + + + + SRG-OS-000259-GPOS-00100 + <GroupDescription></GroupDescription> + + RHEL-08-010351 + RHEL 8 library directories must be group-owned by root or a system account. + <VulnDiscussion>If RHEL 8 were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. + +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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-001499 + Configure the system-wide shared library directories (/lib, /lib64, /usr/lib and /usr/lib64) to be protected from unauthorized access. + +Run the following command, replacing "[DIRECTORY]" with any library directory not group-owned by "root". + +$ sudo chgrp root [DIRECTORY] + + + + + + + + SRG-OS-000373-GPOS-00156 + <GroupDescription></GroupDescription> + + RHEL-08-010385 + The RHEL 8 operating system must not be configured to bypass password requirements for privilege escalation. + <VulnDiscussion>Without re-authentication, users may access resources or perform tasks for which they do not have authorization. + +When operating systems provide the capability to escalate a functional capability, it is critical the user re-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 8 + DISA + DPMS Target + Red Hat Enterprise Linux 8 + 2921 + + CCI-002038 + CCI-004895 + Configure the operating system to require users to supply a password for privilege escalation. + +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. + + + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + RHEL-08-020101 + RHEL 8 must ensure the password complexity module is enabled in the system-auth file. + <VulnDiscussion>Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. "pwquality" enforces complex password construction configuration and has the ability to limit brute-force attacks on the system. + +RHEL 8 uses "pwquality" as a mechanism to enforce password complexity. This is set in both: +/etc/pam.d/password-auth +/etc/pam.d/system-auth</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-000366 + Configure the operating system to use "pwquality" to enforce password complexity rules. + +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 + + + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + 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. + <VulnDiscussion>Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. "pwquality" enforces complex password construction configuration and has the ability to limit brute-force attacks on the system. + +RHEL 8 uses "pwquality" as a mechanism to enforce password complexity. This is set in both: +/etc/pam.d/password-auth +/etc/pam.d/system-auth + +By limiting the number of attempts to meet the pwquality module complexity requirements before returning with an error, the system will audit abnormal attempts at password changes.</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-000366 + Configure the operating system to limit the "pwquality" retry option to 3. + +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=3 + + + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + RHEL-08-020103 + RHEL 8 systems below version 8.4 must ensure the password complexity module in the password-auth file is configured for three retries or less. + <VulnDiscussion>Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. "pwquality" enforces complex password construction configuration and has the ability to limit brute-force attacks on the system. + +RHEL 8 uses "pwquality" as a mechanism to enforce password complexity. This is set in both: +/etc/pam.d/password-auth +/etc/pam.d/system-auth + +By limiting the number of attempts to meet the pwquality module complexity requirements before returning with an error, the system will audit abnormal attempts at password changes.</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-000366 + Configure the operating system to limit the "pwquality" retry option to 3. + +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=3 + + + + + + + + SRG-OS-000480-GPOS-00227 + <GroupDescription></GroupDescription> + + RHEL-08-040321 + The graphical display manager must not be the default target on RHEL 8 unless approved. + <VulnDiscussion>Internet services that are not required for system or application processes must not be active to decrease the attack surface of the system. Graphical display managers have a long history of security vulnerabilities and must not be used, unless approved and documented.</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-000366 + Document the requirement for a graphical user interface with the ISSO or reinstall the operating system without the graphical user interface. If reinstallation is not feasible, then continue with the following procedure: + +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. + + + + + + + + SRG-OS-000163-GPOS-00072 + <GroupDescription></GroupDescription> + + RHEL-08-020035 + RHEL 8.7 and higher 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 after 10 minutes by editing the /etc/systemd/logind.conf file with the following line: + +StopIdleSessionSec=600 + +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 + + + + + + + + + + + + Security Content Tool 1.2.0 + 5.11 + 2025-01-02T03:58:37 + + + + + The operating system must be a vendor-supported release. + + + + + + + + + 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. + + + + + + + + + + All the operating system remote access methods must be monitored. + + + + + + + + + + + The operating system must encrypt all stored passwords with a FIPS 140-2 approved cryptographic hashing algorithm. + + + + + + + + + The operating system must employ FIPS 140-2 approved cryptographic hashing algorithms for all stored passwords. + + + + + + + + + The operating system shadow password suite must be configured to use a sufficient number of hashing rounds. + + + + + + + + + + + + + + Operating systems booted with United Extensible Firmware Interface (UEFI) implemented must require authentication upon booting into single-user mode and maintenance. + + + + + + + + + + The operating system operating systems booted with a BIOS must require authentication upon booting into single-user and maintenance modes. + + + + + + + + + + The operating system operating systems must require authentication upon booting into rescue mode. + + + + + + + + + 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 prevent system daemons from using Kerberos for authentication. + + + + + + + + + The krb5-workstation package must not be installed on the operating system. + + + + + + + + + The operating system must use a Linux Security Module configured to enforce limits on system services. + + + + + + + + + + + The operating system must have policycoreutils package installed. + + + + + + + + + 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. + + + + + + + + + The operating system /var/log/messages file must have mode 0640 or less permissive. + + + + + + + + + The operating system /var/log/messages file must be owned by root. + + + + + + + + + The operating system /var/log/messages file must be group-owned by root. + + + + + + + + + The operating system /var/log directory must have mode 0755 or less permissive. + + + + + + + + + The operating system /var/log directory must be owned by root. + + + + + + + + + The operating system /var/log directory must be group-owned by root. + + + + + + + + + The operating system must ensure the SSH server uses strong entropy. + + + + + + + + + The operating system operating system must implement DoD-approved TLS encryption in the OpenSSL package. + + + + + + + + + + + + + + + + + The operating system system commands must have mode 755 or less permissive. + + + + + + + + + The operating system system commands must be owned by root. + + + + + + + + + The operating system system commands must be group-owned by root or a system account. + + + + + + + + + The operating system library files must have mode 755 or less permissive. + + + + + + + + + + The operating system library files must be owned by root. + + + + + + + + + The operating system library files must be group-owned by root or a system account. + + + + + + + + + The operating system must prevent the installation of software, patches, service packs, device drivers, or operating system components from a repository without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. + + + + + + + + + + The operating system must prevent the installation of software, patches, service packs, device drivers, or operating system components of local packages without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. + + + + + + + + + The operating system must prevent the loading of a new kernel for later execution. + + + + + + + + + + The operating system must enable kernel parameters to enforce discretionary access control on symlinks. + + + + + + + + + + The operating system must enable kernel parameters to enforce discretionary access control on hardlinks. + + + + + + + + + + The operating system must restrict access to the kernel message buffer. + + + + + + + + + + + + + + + + The operating system must prevent kernel profiling by unprivileged users. + + + + + + + + + + The operating system must require users to provide a password for privilege escalation. + + + + + + + + + + The operating system must require users to reauthenticate for privilege escalation. + + + + + + + + + + The operating system must have the packages required for multifactor authentication installed. + + + + + + + + + The operating system must clear the page allocator to prevent use-after-free attacks. + + + + + + + + + + The operating system must disable virtual syscalls. + + + + + + + + + + The operating system must clear SLUB/SLAB objects to prevent use-after-free attacks. + + + + + + + + + + The operating system must implement address space layout randomization (ASLR) to protect its memory from unauthorized code execution. + + + + + + + + + + + + + + + + YUM must remove all software components after updated versions have been installed on the operating system. + + + + + + + + + The operating system must enable the SELinux targeted policy. + + + + + + + + + + There must be no shosts.equiv files on the operating system operating system. + + + + + + + + + There must be no .shosts files on the operating system operating system. + + + + + + + + + The operating system SSH public host key files must have mode 0644 or less permissive. + + + + + + + + + The operating system SSH private host key files must have mode 0640 or less permissive. + + + + + + + + + The operating system SSH daemon must perform strict mode checking of home directory configuration files. + + + + + + + + + The operating system SSH daemon must not allow authentication using known host’s authentication. + + + + + + + + + The operating system SSH daemon must not allow Kerberos authentication, except to fulfill documented and validated mission requirements. + + + + + + + + + The operating system must use a separate file system for /var. + + + + + + + + + + The operating system must use a separate file system for /var/log. + + + + + + + + + + The operating system must use a separate file system for the system audit data path. + + + + + + + + + + A separate the operating system filesystem must be used for the /tmp directory. + + + + + + + + + + The operating system must not permit direct logons to the root account using remote access via SSH. + + + + + + + + + The rsyslog service must be running in the operating system. + + + + + + + + + + The operating system must prevent files with the setuid and setgid bit set from being executed on file systems that contain user home directories. + + + + + + + + + The operating system must prevent files with the setuid and setgid bit set from being executed on the /boot directory. + + + + + + + + + + The operating system must prevent special devices on non-root local partitions. + + + + + + + + + + The operating system must prevent code from being executed on file systems that are imported via Network File System (NFS). + + + + + + + + + + The operating system must disable the kernel.core_pattern. + + + + + + + + + + + + + + + + The operating system must disable acquiring, saving, and processing core dumps. + + + + + + + + + + The operating system must disable core dumps for all users. + + + + + + + + + + The operating system must disable storing core dumps. + + + + + + + + + The operating system must disable core dump backtraces. + + + + + + + + + For Systems using Domain Name Servers (DNS) resolution, at least two name servers must be configured. + + + + + + + + + + + + + + All the operating system local interactive user accounts must be assigned a home directory upon creation. + + + + + + + + + All the operating system local initialization files must have mode 0740 or less permissive. + + + + + + + + + + A separate operating system filesystem must be used for user home directories (such as /home or an equivalent). + + + + + + + + + Unattended or automatic logon via the operating system graphical user interface must not be allowed. + + + + + + + + + The operating system must not allow users to override SSH environment variables. + + + + + + + + + The operating system must automatically lock an account when three unsuccessful logon attempts occur + + + + + + + + + + The operating system must automatically lock an account when three unsuccessful logon attempts occur. + + + + + + + + + Operating systems must automatically lock an account when three unsuccessful logon attempts occur during a 15-minute time period + + + + + + + + + + The operating system must automatically lock an account when three unsuccessful logon attempts occur during a 15-minute time period. + + + + + + + + + The operating system must automatically lock an account until the locked account is released by an administrator when three unsuccessful logon attempts occur during a 15-minute time period + + + + + + + + + + + + The operating system must automatically lock an account until the locked account is released by an administrator when three unsuccessful logon attempts occur during a 15-minute time period. + + + + + + + + + The operating system must prevent system messages from being presented when three unsuccessful logon attempts occur + + + + + + + + + + The operating system must prevent system messages from being presented when three unsuccessful logon attempts occur. + + + + + + + + + The operating system must log user name information when unsuccessful logon attempts occur + + + + + + + + + + The operating system must log user name information when unsuccessful logon attempts occur. + + + + + + + + + The operating system must include root when automatically locking an account until the locked account is released by an administrator when three unsuccessful logon attempts occur during a 15-minute time period + + + + + + + + + + The operating system must include root when automatically locking an account until the locked account is released by an administrator when three unsuccessful logon attempts occur during a 15-minute time period. + + + + + + + + + The operating system must limit the number of concurrent sessions to ten for all accounts and/or account types. + + + + + + + + + + The operating system must be able to initiate directly a session lock for all connection types using smartcard when the smartcard is removed. + + + + + + + + + The operating system must ensure the password complexity module is enabled in the password-auth file. + + + + + + + + + The operating system must enforce password complexity by requiring that at least one uppercase character be used. + + + + + + + + + The operating system must enforce password complexity by requiring that at least one lower-case character be used. + + + + + + + + + The operating system must enforce password complexity by requiring that at least one numeric character be used. + + + + + + + + + The operating system must require the maximum number of repeating characters of the same character class be limited to four when passwords are changed. + + + + + + + + + The operating system must require the maximum number of repeating characters be limited to three when passwords are changed. + + + + + + + + + The operating system must require the change of at least four character classes when passwords are changed. + + + + + + + + + The operating system must require the change of at least 8 characters when passwords are changed. + + + + + + + + + The operating system passwords must have a 24 hours/1 day minimum password lifetime restriction in /etc/shadow. + + + + + + + + + + The operating system passwords for new users or password changes must have a 24 hours/1 day minimum password lifetime restriction in /etc/login.defs. + + + + + + + + + The operating system user account passwords must have a 60-day maximum password lifetime restriction. + + + + + + + + + The operating system user account passwords must be configured so that existing passwords are restricted to a 60-day maximum lifetime. + + + + + + + + + + The operating system passwords must have a minimum of 15 characters. + + + + + + + + + The operating system passwords for new users must have a minimum of 15 characters. + + + + + + + + + The operating system account identifiers (individuals, groups, roles, and devices) must be disabled after 35 days of inactivity. + + + + + + + + + All the operating system passwords must contain at least one special character. + + + + + + + + + The operating system must prohibit the use of cached authentications after one day. + + + + + + + + + + The operating system must prevent the use of dictionary words for passwords. + + + + + + + + + The operating system must enforce a delay of at least four seconds between logon prompts following a failed logon attempt. + + + + + + + + + The operating system must not allow accounts configured with blank or null passwords. + + + + + + + + + The operating system must display the date and time of the last successful account logon upon logon. + + + + + + + + + + The operating system must display the date and time of the last successful account logon upon an SSH logon. + + + + + + + + + The operating system must define default permissions for all authenticated users in such a way that the user can only read and modify their own files. + + + + + + + + + The operating system audit system must be configured to audit the execution of privileged functions and prevent all software from executing at higher privilege levels than users executing the software. + + + + + + + + + + + + The operating system System Administrator (SA) and Information System Security Officer (ISSO) (at a minimum) must be alerted of an audit processing failure event. + + + + + + + + + The operating system Information System Security Officer (ISSO) and System Administrator (SA) (at a minimum) must have mail aliases to be notified of an audit processing failure. + + + + + + + + + The operating system System must take appropriate action when an audit processing failure occurs. + + + + + + + + + The operating system audit system must take appropriate action when the audit storage volume is full. + + + + + + + + + The operating system audit system must audit local events. + + + + + + + + + The operating system must label all off-loaded audit logs before sending them to the central log server. + + + + + + + + + The operating system must resolve audit information before writing to disk. + + + + + + + + + The operating system audit logs must have a mode of 0600 or less permissive to prevent unauthorized read access. + + + + + + + + + The operating system audit logs must be owned by root to prevent unauthorized read access. + + + + + + + + + The operating system audit logs must be group-owned by root to prevent unauthorized read access. + + + + + + + + + The operating system audit log directory must be owned by root to prevent unauthorized read access. + + + + + + + + + The operating system audit log directory must be group-owned by root to prevent unauthorized read access. + + + + + + + + + The operating system audit log directory must have a mode of 0700 or less permissive to prevent unauthorized read access. + + + + + + + + + The operating system audit system must protect auditing rules from unauthorized change. + + + + + + + + + The operating system audit system must protect logon UIDs from unauthorized change. + + + + + + + + + The operating system must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/shadow. + + + + + + + + + The operating system must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/security/opasswd. + + + + + + + + + The operating system must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/passwd. + + + + + + + + + The operating system must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/gshadow. + + + + + + + + + The operating system must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/group. + + + + + + + + + The operating system must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/sudoers. + + + + + + + + + The operating system must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/sudoers.d/. + + + + + + + + + The operating system audit package must be installed. + + + + + + + + + Successful/unsuccessful uses of the su command in the operating system must generate an audit record. + + + + + + + + + The operating system audit system must be configured to audit any usage of the setxattr, fsetxattr, lsetxattr, removexattr, fremovexattr, and lremovexattr system calls. + + + + + + + + + + + + + + + + + Successful/unsuccessful uses of the chage command in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of the chcon command in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of the ssh-agent in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of the passwd command in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of the mount command in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of the umount command in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of the mount syscall in the operating system must generate an audit record. + + + + + + + + + + Successful/unsuccessful uses of the unix_update in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of postdrop in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of postqueue in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of semanage in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of setfiles in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of userhelper in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of setsebool in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of unix_chkpwd in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of the ssh-keysign in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of the setfacl command in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of the pam_timestamp_check command in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of the newgrp command in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of the init_module and finit_module system calls in the operating system must generate an audit record. + + + + + + + + + + + + Successful/unsuccessful uses of the rename, unlink, rmdir, renameat, and unlinkat system calls in the operating system must generate an audit record. + + + + + + + + + + + + + Successful/unsuccessful uses of the gpasswd command in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of the delete_module command in the operating system must generate an audit record. + + + + + + + + + + Successful/unsuccessful uses of the crontab command in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of the chsh command in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of the truncate, ftruncate, creat, open, openat, and open_by_handle_at system calls in the operating system must generate an audit record. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Successful/unsuccessful uses of the chown, fchown, fchownat, and lchown system calls in the operating system must generate an audit record. + + + + + + + + + + + + + + + + Successful/unsuccessful uses of the chmod, fchmod, and fchmodat system calls in the operating system must generate an audit record. + + + + + + + + + + + + + + Successful/unsuccessful uses of the sudo command in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of the usermod command in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of the chacl command in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful uses of the kmod command in the operating system must generate an audit record. + + + + + + + + + Successful/unsuccessful modifications to the lastlog file in the operating system must generate an audit record. + + + + + + + + + The operating system must enable auditing of processes that start prior to the audit daemon. + + + + + + + + + + The operating system must allocate an audit_backlog_limit of sufficient size to capture processes that start prior to the audit daemon. + + + + + + + + + + The operating system must allow only the Information System Security Manager (ISSM) (or individuals or roles appointed by the ISSM) to select which auditable events are to be audited. + + + + + + + + + + The operating system audit tools must have a mode of 0755 or less permissive. + + + + + + + + + The operating system audit tools must be owned by root. + + + + + + + + + The operating system audit tools must be group-owned by root. + + + + + + + + + The operating system must have the packages required for offloading audit logs installed. + + + + + + + + + The operating system must have the packages required for encrypting offloaded audit logs installed. + + + + + + + + + The operating system must take appropriate action when the internal event queue is full. + + + + + + + + + The operating system must take action when allocated audit record storage volume reaches 75 percent of the repository maximum audit record storage capacity. + + + + + + + + + The operating system must disable the chrony daemon from acting as a server. + + + + + + + + + The operating system must disable network management of the chrony daemon. + + + + + + + + + The operating system must not have the telnet-server package installed. + + + + + + + + + The operating system must not have any automated bug reporting tools installed. + + + + + + + + + The operating system must not have the sendmail package installed. + + + + + + + + + The operating system must enable mitigations against processor-based vulnerabilities. + + + + + + + + + + The operating system must not have the rsh-server package installed. + + + + + + + + + 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 file system automounter must be disabled unless required. + + + + + + + + + The operating system must be configured to disable USB mass storage. + + + + + + + + + + A firewall must be installed on the operating system. + + + + + + + + + The operating system Bluetooth must be disabled. + + + + + + + + + + The operating system must mount /dev/shm with the nodev option. + + + + + + + + + + The operating system must mount /dev/shm with the nosuid option. + + + + + + + + + + The operating system must mount /dev/shm with the noexec option. + + + + + + + + + + The operating system must mount /tmp with the nodev option. + + + + + + + + + + + The operating system must mount /tmp with the nosuid option. + + + + + + + + + + The operating system must mount /var/log with the nodev option. + + + + + + + + + + + The operating system must mount /var/log with the nosuid option. + + + + + + + + + + + The operating system must mount /var/log with the noexec option. + + + + + + + + + + + The operating system must mount /var/log/audit with the nodev option. + + + + + + + + + + + The operating system must mount /var/log/audit with the nosuid option. + + + + + + + + + + The operating system must mount /var/log/audit with the noexec option. + + + + + + + + + + The operating system must mount /var/tmp with the nodev option. + + + + + + + + + + The operating system must mount /var/tmp with the nosuid option. + + + + + + + + + + A firewall must be able to protect against or limit the effects of Denial of Service (DoS) attacks by ensuring the operating system can implement rate-limiting measures on impacted network interfaces. + + + + + + + + + All the operating system networked systems must have and implement SSH to protect the confidentiality and integrity of transmitted and received information, as well as information during preparation for transmission. + + + + + + + + + + The operating system must force a frequent session key renegotiation for SSH connections to the server. + + + + + + + + + + + + + The x86 Ctrl-Alt-Delete key sequence must be disabled on the operating system. + + + + + + + + + The x86 Ctrl-Alt-Delete key sequence in the operating system must be disabled if a graphical user interface is installed. + + + + + + + + + The systemd Ctrl-Alt-Delete burst key sequence in the operating system must be disabled. + + + + + + + + + The debug-shell systemd service must be disabled on the operating system. + + + + + + + + + The Trivial File Transfer Protocol (TFTP) server package must not be installed if not required for the operating system operational support. + + + + + + + + + The root account must be the only account having unrestricted access to the operating system system. + + + + + + + + + The operating system must prevent IPv6 Internet Control Message Protocol (ICMP) redirect messages from being accepted. + + + + + + + + + + The operating system must not send Internet Control Message Protocol (ICMP) redirects. + + + + + + + + + + + + + + + + The operating system must not respond to Internet Control Message Protocol (ICMP) echoes sent to a broadcast address. + + + + + + + + + + The operating system must not forward IPv6 source-routed packets. + + + + + + + + + + The operating system must not forward IPv6 source-routed packets by default. + + + + + + + + + + The operating system must not enable IPv6 packet forwarding unless the system is a router. + + + + + + + + + + + + + + + + The operating system must not accept router advertisements on all IPv6 interfaces. + + + + + + + + + + The operating system must not accept router advertisements on all IPv6 interfaces by default. + + + + + + + + + + The operating system must not allow interfaces to perform Internet Control Message Protocol (ICMP) redirects by default. + + + + + + + + + + The operating system must ignore IPv6 Internet Control Message Protocol (ICMP) redirect messages. + + + + + + + + + + The operating system must disable access to network bpf syscall from unprivileged processes. + + + + + + + + + + The operating system must restrict usage of ptrace to descendant processes. + + + + + + + + + + The operating system must restrict exposed kernel pointer addresses access. + + + + + + + + + + The operating system must disable the use of user namespaces. + + + + + + + + + + Use reverse path filtering on all IPv4 interfaces. + + + + + + + + + + + + + + + + The operating system must be configured to prevent unrestricted mail relaying. + + + + + + + + + The graphical display manager must not be installed on the operating system unless approved. + + + + + + + + + The operating system network interfaces must not be in promiscuous mode. + + + + + + + + + The operating system remote X connections for interactive users must be disabled unless to fulfill documented and validated mission requirements. + + + + + + + + + The operating system SSH daemon must prevent remote hosts from connecting to the proxy display. + + + + + + + + + If the Trivial File Transfer Protocol (TFTP) server is required, the operating system TFTP daemon must be configured to operate in secure mode. + + + + + + + + + + A File Transfer Protocol (FTP) server package must not be installed unless mission essential on the operating system. + + + + + + + + + The gssproxy package must not be installed unless mission essential on the operating system. + + + + + + + + + + The iprutils package must not be installed unless mission essential on the operating system. + + + + + + + + + The tuned package must not be installed unless mission essential on the operating system. + + + + + + + + + The krb5-server package must not be installed on the operating system. + + + + + + + + + The operating system must restrict privilege elevation to authorized personnel. + + + + + + + + + + The operating system must use the invoking user's password for privilege escalation when using "sudo". + + + + + + + + + + + + + + + + + + + The operating system must require re-authentication when using the "sudo" command. + + + + + + + + + The operating system must display a banner before granting local or remote access to the system via a graphical user logon. + + + + + + + + + The operating system operating systems must require authentication upon booting into emergency mode. + + + + + + + + + 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. + + + + + + + + + The operating system must have the packages required to use the hardware random number generator entropy gatherer service. + + + + + + + + + The operating system SSH daemon must not allow GSSAPI authentication, except to fulfill documented and validated mission requirements. + + + + + + + + + + + + + The operating system must use a separate file system for /var/tmp. + + + + + + + + + The operating system must prevent files with the setuid and setgid bit set from being executed on the /boot/efi directory. + + + + + + + + + + The operating system must prevent a user from overriding the screensaver lock-enabled setting for the graphical user interface. + + + + + + + + + + The operating system must not allow blank or null passwords in the password-auth file. + + + + + + + + + The operating system must notify the System Administrator (SA) and Information System Security Officer (ISSO) (at a minimum) when allocated audit record storage volume 75 percent utilization. + + + + + + + + + The operating system fapolicy module must be enabled. + + + + + + + + + All the operating system networked systems must have openssh-server package installed. + + + + + + + + + The operating system must prevent IPv4 Internet Control Message Protocol (ICMP) redirect messages from being accepted. + + + + + + + + + + The operating system must not forward IPv4 source-routed packets. + + + + + + + + + + The operating system must not forward IPv4 source-routed packets by default. + + + + + + + + + + The operating system must ignore IPv4 Internet Control Message Protocol (ICMP) redirect messages. + + + + + + + + + + The operating system must enable hardening for the Berkeley Packet Filter Just-in-time compiler. + + + + + + + + + + The operating system must prevent special devices on file systems that are imported via Network File System (NFS). + + + + + + + + + + The operating system must prevent files with the setuid and setgid bit set from being executed on file systems that are imported via Network File System (NFS). + + + + + + + + + + The operating system must mount /var/tmp with the noexec option. + + + + + + + + + + The operating system operating system must not have accounts configured with blank or null passwords. + + + + + + + + + The operating system library directories must have mode 755 or less permissive. + + + + + + + + + The operating system library directories must be owned by root. + + + + + + + + + The operating system library directories must be group-owned by root or a system account. + + + + + + + + + The operating system must ensure the password complexity module is enabled in the system-auth file. + + + + + + + + + Systems below version 8.4 must ensure the password complexity module in the system-auth file is configured for three retries or less. + + + + + + + + + Systems below version 8.4 must ensure the password complexity module in the password-auth file is configured for three retries or less. + + + + + + + + + The graphical display manager must not be the default target on the operating system unless approved. + + + + + + + + + Successful/unsuccessful uses of the "rename" command in the operating system must generate an audit record. + + + + + + + + + + Successful/unsuccessful uses of the "renameat" command in the operating system must generate an audit record. + + + + + + + + + + Successful/unsuccessful uses of the "rmdir" command in the operating system must generate an audit record. + + + + + + + + + + Successful/unsuccessful uses of the "unlink" command in the operating system must generate an audit record + + + + + + + + + + Successful/unsuccessful uses of the "unlinkat" command in the operating system must generate an audit record. + + + + + + + + + + The operating system audit system must be configured to audit any usage of the "fsetxattr" system call. + + + + + + + + + + + + The operating system audit system must be configured to audit any usage of the "lsetxattr" system call. + + + + + + + + + + + + Successful/unsuccessful uses of the fremovexattr system call in the operating system must generate an audit record. + + + + + + + + + + + + Successful/unsuccessful uses of the "lremovexattr" system call in the operating system must generate an audit record. + + + + + + + + + + + + Successful/unsuccessful uses of the "removexattr" system call in the operating system must generate an audit record. + + + + + + + + + + + + The system must terminate idle user sessions. + + + + + + + + + The operating system must mount /tmp with the noexec option. + + + + + + + + + All the operating system local interactive user home directories must have mode 0750 or less permissive. + + + + + + + + + A firewall must be active on the operating system. + + + + + + + + + The operating system SSH daemon must be configured with a timeout interval. + + + + + + + + + The operating system must enable a user session lock until that user re-establishes access using established identification and authentication procedures for graphical user sessions. + + + + + + + + + The operating system must prevent a user from overriding the session lock-delay setting for the graphical user interface. + + + + + + + + + + The operating system must disable the user list at logon for graphical user interfaces. + + + + + + + + + The operating system must have the USBGuard installed. + + + + + + + + + The operating system must have the USBGuard package enabled. + + + + + + + + + The operating system duplicate User IDs (UIDs) must not exist for interactive users. + + + + + + + + + All the operating system local interactive users must have a home directory assigned in the /etc/passwd file. + + + + + + + + + + The operating system fapolicy module must be installed. + + + + + + + + + The operating system operating system must not be configured to bypass password requirements for privilege escalation. + + + + + + + + + The operating system must authenticate the remote logging server for off-loading audit logs. + + + + + + + + + + + + + The operating system audit service must be enabled. + + + + + + + + + + The autofs package is installed. + + + + + + + + + The system has nfs entries in /etc/fstab + + + + + + + + + The postifx package is installed. + + + + + + + + + The Trivial File Transfer Protocol (TFTP) server package is installed. + + + + + + + + + The system is RHEL 8.1 or lower + + Red Hat Enterprise Linux 8 + + + + + + + + + + The system is RHEL 8.2 or higher + + Red Hat Enterprise Linux 8 + + + + + + + + + + Gnome is installed + + Linux Systems + + + + + + + + + + + Linux United Extensible Firmware Interface (UEFI) + + Linux Systems + + + + + + + + + + Linux BIOS + + Linux Systems + + + + + + + + + + The system is RHEL 8.3 or lower + + Red Hat Enterprise Linux 8 + + + + + + + + + + The system is RHEL 8.4 or higher + + Red Hat Enterprise Linux 8 + + + + + + + + + + IPv6 is disabled in the kernel. + + Linux Systems + + IPv6 is disabled in the kernel, either via a kernel cmdline option or sysctl. + + + + + + + + + + + + krb5 server 1.17 or higher + + Linux Systems + + krb5 server 1.17 or higher is installed. + + + + + + + + krb5 workstation 1.17 or higher + + Linux Systems + + krb5 workstation 1.17 or higher is installed. + + + + + + + + RHEL-08-010000 - RHEL 8 must be a vendor-supported release. + + Red Hat Enterprise Linux 8 + + 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. + + + + + + + + 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-010070 - All RHEL 8 remote access methods must be monitored. + + Red Hat Enterprise Linux 8 + + Remote access services, such as those providing remote access to network devices and information systems, which lack automated monitoring capabilities, increase risk and make remote user access management difficult at best. + +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. + +Automated monitoring of remote access sessions allows organizations to detect cyber attacks and ensure ongoing compliance with remote access policies by auditing connection activities of remote access capabilities, such as Remote Desktop Protocol (RDP), on a variety of information system components (e.g., servers, workstations, notebook computers, smartphones, and tablets). + + + + + + + + RHEL-08-010110 - RHEL 8 must encrypt all stored passwords with a FIPS 140-2 approved cryptographic hashing algorithm. + + Red Hat Enterprise Linux 8 + + 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. + +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. + +FIPS 140-2 is the current standard for validating that mechanisms used to access cryptographic modules utilize authentication that meets DoD requirements. + + + + + + + + RHEL-08-010120 - RHEL 8 must employ FIPS 140-2 approved cryptographic hashing algorithms for all stored passwords. + + Red Hat Enterprise Linux 8 + + 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. + + + + + + + + RHEL-08-010130 - The RHEL 8 shadow password suite must be configured to use a sufficient number of hashing rounds. + + Red Hat Enterprise Linux 8 + + The system must use a strong hashing algorithm to store the password. The system must use a sufficient number of hashing rounds to ensure the required level of entropy. + +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. + + + + + + + + RHEL-08-010140 - RHEL 8 operating systems booted with United Extensible Firmware Interface (UEFI) must require authentication upon booting into single-user mode and maintenance. + + Red Hat Enterprise Linux 8 + + If the system does not require valid authentication before it boots into single-user or maintenance mode, anyone who invokes single-user or maintenance mode is granted privileged access to all files on the system. GRUB 2 is the default boot loader for RHEL 8 and is designed to require a password to boot into single-user mode or make modifications to the boot menu. + + + + + + + + RHEL-08-010150 - RHEL 8 operating systems booted with a BIOS must require authentication upon booting into single-user and maintenance modes. + + Red Hat Enterprise Linux 8 + + If the system does not require valid authentication before it boots into single-user or maintenance mode, anyone who invokes single-user or maintenance mode is granted privileged access to all files on the system. GRUB 2 is the default boot loader for RHEL 8 and is designed to require a password to boot into single-user mode or make modifications to the boot menu. + + + + + + + + RHEL-08-010151 - RHEL 8 operating systems must require authentication upon booting into rescue mode. + + Red Hat Enterprise Linux 8 + + 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. + + + + + + + + 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. + + 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. + +The key derivation function (KDF) in Kerberos is not FIPS compatible. Ensuring the system does not have any keytab files present prevents system daemons from using Kerberos for authentication. A keytab is a file containing pairs of Kerberos principals and encrypted keys. + +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-010162 - The krb5-workstation package must not be installed on RHEL 8. + + 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. + +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. - + - + - 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. - + RHEL-08-010170 - RHEL 8 must use a Linux Security Module configured to enforce limits on system services. + + 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. - + - + - The operating system system commands must have mode 755 or less permissive. - + RHEL-08-010171 - RHEL 8 must have policycoreutils package installed. + + 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. + +Policycoreutils contains the policy core utilities that are required for basic operation of an SELinux-enabled system. These utilities include load_policy to load SELinux policies, setfile to label filesystems, newrole to switch roles, and run_init to run /etc/init.d scripts in the proper context. - + - + - The operating system must prevent the installation of software, patches, service packs, device drivers, or operating system components of local packages without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. - + 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. + + Red Hat Enterprise Linux 8 + + Terminating an idle SSH 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. In addition, quickly terminating an idle SSH session will also free up resources committed by the managed network element. + +Terminating network connections associated with communications sessions includes, for example, de-allocating associated TCP/IP address/port pairs at the operating system level and de-allocating networking assignments at the application level if multiple application sessions are using a single operating system-level network connection. This does not mean that the operating system terminates all sessions or network access; it only ends the inactive session and releases the resources associated with that session. + +RHEL 8 utilizes /etc/ssh/sshd_config for configurations of OpenSSH. Within the sshd_config the product of the values of "ClientAliveInterval" and "ClientAliveCountMax" are used to establish the inactivity threshold. The "ClientAliveInterval" is a timeout interval in seconds after which if no data has been received from the client, sshd will send a message through the encrypted channel to request a response from the client. The "ClientAliveCountMax" is the number of client alive messages that may be sent without sshd receiving any messages back from the client. If this threshold is met, sshd will disconnect the client. For more information on these settings and others, refer to the sshd_config man pages. + +Satisfies: SRG-OS-000163-GPOS-00072, SRG-OS-000126-GPOS-00066, SRG-OS-000279-GPOS-00109 - + - + - The operating system must enable the SELinux targeted policy. - + RHEL-08-010210 - The RHEL 8 /var/log/messages file must have mode 0640 or less permissive. + + Red Hat Enterprise Linux 8 + + Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 8 system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. + +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. - - + - + - The operating system must use a separate file system for /var. - + RHEL-08-010220 - The RHEL 8 /var/log/messages file must be owned by root. + + Red Hat Enterprise Linux 8 + + Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 8 system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. + +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. - - + - + - The operating system must use a separate file system for /var/log. - + RHEL-08-010230 - The RHEL 8 /var/log/messages file must be group-owned by root. + + Red Hat Enterprise Linux 8 + + Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 8 system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. + +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. - - + - + - The operating system must limit the number of concurrent sessions to ten for all accounts and/or account types. - + RHEL-08-010240 - The RHEL 8 /var/log directory must have mode 0755 or less permissive. + + Red Hat Enterprise Linux 8 + + Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 8 system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. + +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. - - + - + - The operating system must ensure the password complexity module is enabled in the password-auth file. - + RHEL-08-010250 - The RHEL 8 /var/log directory must be owned by root. + + Red Hat Enterprise Linux 8 + + Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 8 system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. + +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. - + - + - The operating system must enforce password complexity by requiring that at least one uppercase character be used. - + RHEL-08-010260 - The RHEL 8 /var/log directory must be group-owned by root. + + Red Hat Enterprise Linux 8 + + Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 8 system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. + +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. - + - + - The operating system must enforce password complexity by requiring that at least one lower-case character be used. - + RHEL-08-010292 - RHEL 8 must ensure the SSH server uses strong entropy. + + Red Hat Enterprise Linux 8 + + The most important characteristic of a random number generator is its randomness, namely its ability to deliver random numbers that are impossible to predict. Entropy in computer security is associated with the unpredictability of a source of randomness. The random source with high entropy tends to achieve a uniform distribution of random values. Random number generators are one of the most important building blocks of cryptosystems. + +The SSH implementation in RHEL8 uses the OPENSSL library, which does not use high-entropy sources by default. By using the SSH_USE_STRONG_RNG environment variable the OPENSSL random generator is reseeded from /dev/random. This setting is not recommended on computers without the hardware random generator because insufficient entropy causes the connection to be blocked until enough entropy is available. + + + + + + + + RHEL-08-010294 - The RHEL 8 operating system must implement DoD-approved TLS encryption in the OpenSSL package. + + Red Hat Enterprise Linux 8 + + Without cryptographic integrity protections, information can be altered by unauthorized users without detection. + +Remote access (e.g., RDP) 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. + +Cryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash. + +RHEL 8 incorporates system-wide crypto policies by default. The employed algorithms can be viewed in the /etc/crypto-policies/back-ends/openssl.config file. + +Satisfies: SRG-OS-000250-GPOS-00093, SRG-OS-000393-GPOS-00173, SRG-OS-000394-GPOS-00174, SRG-OS-000125-GPOS-00065 + + + + + + + + RHEL-08-010300 - RHEL 8 system commands must have mode 755 or less permissive. + + Red Hat Enterprise Linux 8 + + If RHEL 8 were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. + +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. + + + + + + + + RHEL-08-010310 - RHEL 8 system commands must be owned by root. + + Red Hat Enterprise Linux 8 + + If RHEL 8 were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. + +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. + + + + + + + + RHEL-08-010320 - RHEL 8 system commands must be group-owned by root or a system account. + + Red Hat Enterprise Linux 8 + + If RHEL 8 were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. + +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. + + + + + + + + RHEL-08-010330 - RHEL 8 library files must have mode 755 or less permissive. + + Red Hat Enterprise Linux 8 + + If RHEL 8 were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. + +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. + + + + + + + + RHEL-08-010340 - RHEL 8 library files must be owned by root. + + Red Hat Enterprise Linux 8 + + If RHEL 8 were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. + +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. + + + + + + + + RHEL-08-010350 - RHEL 8 library files must be group-owned by root or a system account. + + Red Hat Enterprise Linux 8 + + If RHEL 8 were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. + +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. + + + + + + + + RHEL-08-010370 - RHEL 8 must prevent the installation of software, patches, service packs, device drivers, or operating system components from a repository without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. + + Red Hat Enterprise Linux 8 + + Changes to any software components can have significant effects on the overall security of the operating system. This requirement ensures the software has not been tampered with and that it has been provided by a trusted vendor. + +Accordingly, patches, service packs, device drivers, or operating system components must be signed with a certificate recognized and approved by the organization. + +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. + + + + + + + + RHEL-08-010371 - RHEL 8 must prevent the installation of software, patches, service packs, device drivers, or operating system components of local packages without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. + + Red Hat Enterprise Linux 8 + + Changes to any software components can have significant effects on the overall security of the operating system. This requirement ensures the software has not been tampered with and that it has been provided by a trusted vendor. + +Accordingly, patches, service packs, device drivers, or operating system components must be signed with a certificate recognized and approved by the organization. + +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. + + + + + + + + RHEL-08-010372 - RHEL 8 must prevent the loading of a new kernel for later execution. + + Red Hat Enterprise Linux 8 + + Changes to any software components can have significant effects on the overall security of the operating system. This requirement ensures the software has not been tampered with and that it has been provided by a trusted vendor. + +Disabling kexec_load prevents an unsigned kernel image (that could be a windows kernel or modified vulnerable kernel) from being loaded. Kexec can be used subvert the entire secureboot process and should be avoided at all costs especially since it can load unsigned kernel images. + +The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. +/etc/sysctl.d/*.conf +/run/sysctl.d/*.conf +/usr/local/lib/sysctl.d/*.conf +/usr/lib/sysctl.d/*.conf +/lib/sysctl.d/*.conf +/etc/sysctl.conf - + - + - The operating system must enforce password complexity by requiring that at least one numeric character be used. - + RHEL-08-010373 - RHEL 8 must enable kernel parameters to enforce discretionary access control on symlinks. + + Red Hat Enterprise Linux 8 + + Discretionary Access Control (DAC) is based on the notion that individual users are "owners" of objects and therefore have discretion over who should be authorized to access the object and in which mode (e.g., read or write). Ownership is usually acquired as a consequence of creating the object or via specified ownership assignment. DAC allows the owner to determine who will have access to objects they control. An example of DAC includes user-controlled file permissions. + +When discretionary access control policies are implemented, subjects are not constrained with regard to what actions they can take with information for which they have already been granted access. Thus, subjects that have been granted access to information are not prevented from passing (i.e., the subjects have the discretion to pass) the information to other subjects or objects. A subject that is constrained in its operation by Mandatory Access Control policies is still able to operate under the less rigorous constraints of this requirement. Thus, while Mandatory Access Control imposes constraints preventing a subject from passing information to another subject operating at a different sensitivity level, this requirement permits the subject to pass the information to any subject at the same sensitivity level. The policy is bounded by the information system boundary. Once the information is passed outside the control of the information system, additional means may be required to ensure the constraints remain in effect. While the older, more traditional definitions of discretionary access control require identity-based access control, that limitation is not required for this use of discretionary access control. + +By enabling the fs.protected_symlinks kernel parameter, symbolic links are permitted to be followed only when outside a sticky world-writable directory, or when the UID of the link and follower match, or when the directory owner matches the symlink's owner. Disallowing such symlinks helps mitigate vulnerabilities based on insecure file system accessed by privileged programs, avoiding an exploitation vector exploiting unsafe use of open() or creat(). + +The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. +/etc/sysctl.d/*.conf +/run/sysctl.d/*.conf +/usr/local/lib/sysctl.d/*.conf +/usr/lib/sysctl.d/*.conf +/lib/sysctl.d/*.conf +/etc/sysctl.conf + +Satisfies: SRG-OS-000312-GPOS-00122, SRG-OS-000312-GPOS-00123, SRG-OS-000312-GPOS-00124, SRG-OS-000324-GPOS-00125 - + - + - The operating system must require the maximum number of repeating characters of the same character class be limited to four when passwords are changed. - + RHEL-08-010374 - RHEL 8 must enable kernel parameters to enforce discretionary access control on hardlinks. + + Red Hat Enterprise Linux 8 + + Discretionary Access Control (DAC) is based on the notion that individual users are "owners" of objects and therefore have discretion over who should be authorized to access the object and in which mode (e.g., read or write). Ownership is usually acquired as a consequence of creating the object or via specified ownership assignment. DAC allows the owner to determine who will have access to objects they control. An example of DAC includes user-controlled file permissions. + +When discretionary access control policies are implemented, subjects are not constrained with regard to what actions they can take with information for which they have already been granted access. Thus, subjects that have been granted access to information are not prevented from passing (i.e., the subjects have the discretion to pass) the information to other subjects or objects. A subject that is constrained in its operation by Mandatory Access Control policies is still able to operate under the less rigorous constraints of this requirement. Thus, while Mandatory Access Control imposes constraints preventing a subject from passing information to another subject operating at a different sensitivity level, this requirement permits the subject to pass the information to any subject at the same sensitivity level. The policy is bounded by the information system boundary. Once the information is passed outside the control of the information system, additional means may be required to ensure the constraints remain in effect. While the older, more traditional definitions of discretionary access control require identity-based access control, that limitation is not required for this use of discretionary access control. + +By enabling the fs.protected_hardlinks kernel parameter, users can no longer create soft or hard links to files they do not own. Disallowing such hardlinks mitigate vulnerabilities based on insecure file system accessed by privileged programs, avoiding an exploitation vector exploiting unsafe use of open() or creat(). + +The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. +/etc/sysctl.d/*.conf +/run/sysctl.d/*.conf +/usr/local/lib/sysctl.d/*.conf +/usr/lib/sysctl.d/*.conf +/lib/sysctl.d/*.conf +/etc/sysctl.conf + +Satisfies: SRG-OS-000312-GPOS-00122, SRG-OS-000312-GPOS-00123, SRG-OS-000312-GPOS-00124, SRG-OS-000324-GPOS-00125 - + - + - The operating system must require the maximum number of repeating characters be limited to three when passwords are changed. - + RHEL-08-010375 - RHEL 8 must restrict access to the kernel message buffer. + + Red Hat Enterprise Linux 8 + + Preventing unauthorized information transfers mitigates the risk of information, including encrypted representations of information, produced by the actions of prior users/roles (or the actions of processes acting on behalf of prior users/roles) from being available to any current users/roles (or current processes) that obtain access to shared system resources (e.g., registers, main memory, hard disks) after those resources have been released back to information systems. The control of information in shared resources is also commonly referred to as object reuse and residual information protection. + +This requirement generally applies to the design of an information technology product, but it can also apply to the configuration of particular information system components that are, or use, such products. This can be verified by acceptance/validation processes in DoD or other government agencies. + +There may be shared resources with configurable protections (e.g., files in storage) that may be assessed on specific information system components. + +Restricting access to the kernel message buffer limits access to only root. This prevents attackers from gaining additional system information as a non-privileged user. + +The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. +/etc/sysctl.d/*.conf +/run/sysctl.d/*.conf +/usr/local/lib/sysctl.d/*.conf +/usr/lib/sysctl.d/*.conf +/lib/sysctl.d/*.conf +/etc/sysctl.conf - + - + - The operating system must require the change of at least four character classes when passwords are changed. - + RHEL-08-010376 - RHEL 8 must prevent kernel profiling by unprivileged users. + + Red Hat Enterprise Linux 8 + + Preventing unauthorized information transfers mitigates the risk of information, including encrypted representations of information, produced by the actions of prior users/roles (or the actions of processes acting on behalf of prior users/roles) from being available to any current users/roles (or current processes) that obtain access to shared system resources (e.g., registers, main memory, hard disks) after those resources have been released back to information systems. The control of information in shared resources is also commonly referred to as object reuse and residual information protection. + +This requirement generally applies to the design of an information technology product, but it can also apply to the configuration of particular information system components that are, or use, such products. This can be verified by acceptance/validation processes in DoD or other government agencies. + +There may be shared resources with configurable protections (e.g., files in storage) that may be assessed on specific information system components. + +Setting the kernel.perf_event_paranoid kernel parameter to "2" prevents attackers from gaining additional system information as a non-privileged user. + +The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. +/etc/sysctl.d/*.conf +/run/sysctl.d/*.conf +/usr/local/lib/sysctl.d/*.conf +/usr/lib/sysctl.d/*.conf +/lib/sysctl.d/*.conf +/etc/sysctl.conf - + - + - The operating system must require the change of at least 8 characters when passwords are changed. - + RHEL-08-010380 - RHEL 8 must require users to provide a password for privilege escalation. + + Red Hat Enterprise Linux 8 + + Without reauthentication, users may access resources or perform tasks for which they do not have authorization. + +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 - + - + - The operating system user account passwords must be configured so that existing passwords are restricted to a 60-day maximum lifetime. - + RHEL-08-010381 - RHEL 8 must require users to reauthenticate for privilege escalation. + + Red Hat Enterprise Linux 8 + + Without reauthentication, users may access resources or perform tasks for which they do not have authorization. + +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 - - + - + - The operating system passwords must have a minimum of 15 characters. - + RHEL-08-010390 - RHEL 8 must have the packages required for multifactor authentication installed. + + Red Hat Enterprise Linux 8 + + Using an authentication device, such as a DoD Common Access Card (CAC) or token that is separate from the information system, ensures that even if the information system is compromised, credentials stored on the authentication device will not be affected. + +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 (PIV) card and the DoD CAC. + +A privileged account is defined as an information system account with authorizations of a privileged user. + +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. + +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). - + - + - All the operating system passwords must contain at least one special character. - + RHEL-08-010421 - RHEL 8 must clear the page allocator to prevent use-after-free attacks. + + Red Hat Enterprise Linux 8 + + 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. + +Poisoning writes an arbitrary value to freed pages, so any modification or reference to that page after being freed or before being initialized will be detected and prevented. This prevents many types of use-after-free vulnerabilities at little performance cost. Also prevents leak of data and detection of corrupted memory. + +Satisfies: SRG-OS-000134-GPOS-00068, SRG-OS-000433-GPOS-00192 - - - - - - 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. - + RHEL-08-010422 - RHEL 8 must disable virtual syscalls. + + Red Hat Enterprise Linux 8 + + Syscalls are special routines in the Linux kernel, which userspace applications ask to do privileged tasks. Invoking a system call is an expensive operation because the processor must interrupt the currently executing task and switch context to kernel mode and then back to userspace after the system call completes. Virtual Syscalls map into user space a page that contains some variables and the implementation of some system calls. This allows the system calls to be executed in userspace to alleviate the context switching expense. + +Virtual Syscalls provide an opportunity of attack for a user who has control of the return instruction pointer. Disabling vsyscalls help to prevent return oriented programming (ROP) attacks via buffer overflows and overruns. If the system intends to run containers based on RHEL 6 components, then virtual syscalls will need enabled so the components function properly. + +Satisfies: SRG-OS-000134-GPOS-00068, SRG-OS-000433-GPOS-00192 - - + - + - The operating system audit logs must have a mode of 0600 or less permissive to prevent unauthorized read access. - + RHEL-08-010423 - RHEL 8 must clear SLUB/SLAB objects to prevent use-after-free attacks. + + Red Hat Enterprise Linux 8 + + 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. + +Poisoning writes an arbitrary value to freed pages, so any modification or reference to that page after being freed or before being initialized will be detected and prevented. This prevents many types of use-after-free vulnerabilities at little performance cost. Also prevents leak of data and detection of corrupted memory. + +SLAB objects are blocks of physically-contiguous memory. SLUB is the unqueued SLAB allocator. + +Satisfies: SRG-OS-000134-GPOS-00068, SRG-OS-000433-GPOS-00192 - + - + - The operating system must disable the asynchronous transfer mode (ATM) protocol. - + RHEL-08-010430 - RHEL 8 must implement address space layout randomization (ASLR) to protect its memory from unauthorized code execution. + + Red Hat Enterprise Linux 8 + + 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. + +The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. +/etc/sysctl.d/*.conf +/run/sysctl.d/*.conf +/usr/local/lib/sysctl.d/*.conf +/usr/lib/sysctl.d/*.conf +/lib/sysctl.d/*.conf +/etc/sysctl.conf - - + - + - The operating system must disable the controller area network (CAN) protocol. - + RHEL-08-010440 - YUM must remove all software components after updated versions have been installed on RHEL 8. + + Red Hat Enterprise Linux 8 + + Previous versions of software components that are not removed from the information system after updates have been installed may be exploited by adversaries. Some information technology products may remove older versions of software automatically from the information system. - - + - + - The operating system must disable the stream control transmission protocol (SCTP). - + 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. - - + - + - The operating system must disable the transparent inter-process communication (TIPC) protocol. - + RHEL-08-010460 - There must be no shosts.equiv files on the RHEL 8 operating system. + + Red Hat Enterprise Linux 8 + + 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. - - - - - - - The operating system must disable mounting of cramfs. - - - - - - - - - - - + - + - The operating system must disable IEEE 1394 (FireWire) Support. - + RHEL-08-010470 - There must be no .shosts files on the RHEL 8 operating system. + + Red Hat Enterprise Linux 8 + + 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. - - + - + - The operating system must be configured to disable USB mass storage. - + RHEL-08-010480 - The RHEL 8 SSH public host key files must have mode 0644 or less permissive. + + Red Hat Enterprise Linux 8 + + If a public host key file is modified by an unauthorized user, the SSH service may be compromised. - - + - + - The operating system Bluetooth must be disabled. - + RHEL-08-010490 - The RHEL 8 SSH private host key files must have mode 0640 or less permissive. + + Red Hat Enterprise Linux 8 + + If an unauthorized user obtains the private SSH host key file, the host could be impersonated. - - + - + - The gssproxy package must not be installed unless mission essential on the operating system. - + RHEL-08-010500 - The RHEL 8 SSH daemon must perform strict mode checking of home directory configuration files. + + Red Hat Enterprise Linux 8 + + If other users have access to modify user-specific SSH configuration files, they may be able to log on to the system as another user. - - - + + - + - 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. - + RHEL-08-010520 - The RHEL 8 SSH daemon must not allow authentication using known host’s authentication. + + Red Hat Enterprise Linux 8 + + Configuring this setting for the SSH daemon provides additional assurance that remote logon via SSH will require a password, even in the event of misconfiguration elsewhere. - + - + - Systems below version 8.4 must ensure the password complexity module in the system-auth file is configured for three retries or less. - + RHEL-08-010521 - The RHEL 8 SSH daemon must not allow Kerberos authentication, except to fulfill documented and validated mission requirements. + + Red Hat Enterprise Linux 8 + + Configuring these settings for the SSH daemon provides additional assurance that remote logon via SSH will not use unused methods of authentication, even in the event of misconfiguration elsewhere. - + - + - The system must terminate idle user sessions. - + RHEL-08-010540 - RHEL 8 must use a separate file system for /var. + + Red Hat Enterprise Linux 8 + + The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing. - + - + - The system has nfs entries in /etc/fstab - + RHEL-08-010541 - RHEL 8 must use a separate file system for /var/log. + + Red Hat Enterprise Linux 8 + + The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing. - + - + - The system is RHEL 8.3 or lower + RHEL-08-010542 - RHEL 8 must use a separate file system for the system audit data path. Red Hat Enterprise Linux 8 - + The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing. - + - + - RHEL 8 is installed + RHEL-08-010543 - A separate RHEL 8 filesystem must be used for the /tmp directory. - RHEL 8 + Red Hat Enterprise Linux 8 - - RHEL 8 is installed + The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing. - + - + - The RHEL 8 version is RHEL 8.2 or newer. + RHEL-08-010550 - RHEL 8 must not permit direct logons to the root account using remote access via SSH. Red Hat Enterprise Linux 8 - External definition used to determine if the RHEL 8 version is RHEL 8.2 or newer for version applicability based requirements. + Even though the communications channel may be encrypted, an additional layer of security is gained by extending the policy of not logging on directly as root. In addition, logging on with a user-specific account provides individual accountability of actions performed on the system. - - - + + - + - IPv6 is disabled in the kernel. + RHEL-08-010561 - The rsyslog service must be running in RHEL 8. Red Hat Enterprise Linux 8 - IPv6 is disabled in the kernel, either via a kernel cmdline option or sysctl. + Configuring RHEL 8 to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across the DoD that reflects the most restrictive security posture consistent with operational requirements. + +Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections. - - - - - - + + - + - OpenSSH is installed. + RHEL-08-010570 - RHEL 8 must prevent files with the setuid and setgid bit set from being executed on file systems that contain user home directories. Red Hat Enterprise Linux 8 - OpenSSH is installed + 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. - + - + - 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. + RHEL-08-010571 - RHEL 8 must prevent files with the setuid and setgid bit set from being executed on the /boot directory. 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. + 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. - - + - + - RHEL-08-010110 - RHEL 8 must encrypt all stored passwords with a FIPS 140-2 approved cryptographic hashing algorithm. + RHEL-08-010580 - RHEL 8 must prevent special devices on non-root local partitions. Red Hat Enterprise Linux 8 - 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. - -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. - -FIPS 140-2 is the current standard for validating that mechanisms used to access cryptographic modules utilize authentication that meets DoD requirements + 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. - + - + - RHEL-08-010120 - RHEL 8 must employ FIPS 140-2 approved cryptographic hashing algorithms for all stored passwords. + RHEL-08-010630 - RHEL 8 must prevent code from being executed on file systems that are imported via Network File System (NFS). Red Hat Enterprise Linux 8 - 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. + 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. - + - + - RHEL-08-010130 - The RHEL 8 shadow password suite must be configured to use a sufficient number of hashing rounds. + RHEL-08-010640 - RHEL 8 must prevent special devices on file systems that are imported via Network File System (NFS). Red Hat Enterprise Linux 8 - The system must use a strong hashing algorithm to store the password. The system must use a sufficient number of hashing rounds to ensure the required level of entropy. - -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. + 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. - - + - + - RHEL-08-010140 - RHEL 8 operating systems booted with United Extensible Firmware Interface (UEFI) implemented must require authentication upon booting into single-user mode and maintenance. + RHEL-08-010650 - RHEL 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). Red Hat Enterprise Linux 8 - If the system does not require valid authentication before it boots into single-user or maintenance mode, anyone who invokes single-user or maintenance mode is granted privileged access to all files on the system. GRUB 2 is the default boot loader for RHEL 8 and is designed to require a password to boot into single-user mode or make modifications to the boot menu. + 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. - - - - - - + + - + - RHEL-08-010150 - RHEL 8 operating systems booted with a BIOS must require authentication upon booting into single-user and maintenance modes. + RHEL-08-010671 - RHEL 8 must disable the kernel.core_pattern. Red Hat Enterprise Linux 8 - If the system does not require valid authentication before it boots into single-user or maintenance mode, anyone who invokes single-user or maintenance mode is granted privileged access to all files on the system. GRUB 2 is the default boot loader for RHEL 8 and is designed to require a password to boot into single-user mode or make modifications to the boot menu. + 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 sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. +/etc/sysctl.d/*.conf +/run/sysctl.d/*.conf +/usr/local/lib/sysctl.d/*.conf +/usr/lib/sysctl.d/*.conf +/lib/sysctl.d/*.conf +/etc/sysctl.conf - - - - - - + + - + - RHEL-08-010160 - RHEL 8 operating systems must require authentication upon booting into rescue mode. + RHEL-08-010672 - RHEL 8 must disable acquiring, saving, and processing core dumps. Red Hat Enterprise Linux 8 - If the system does not require valid root authentication before it boots into rescue mode, anyone who invokes rescue mode is granted privileged access to all files on the system. + 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 core dump includes a memory image taken at the time the operating system terminates an application. The memory image could contain sensitive data and is generally useful only for developers trying to debug problems. + +When the kernel invokes systemd-coredumpt to handle a core dump, it runs in privileged mode, and will connect to the socket created by the systemd-coredump.socket unit. This, in turn, will spawn an unprivileged systemd-coredump@.service instance to process the core dump. - - + + - + - RHEL-08-010161 - RHEL 8 must prevent system daemons from using Kerberos for authentication. + RHEL-08-010673 - RHEL 8 must disable core dumps for all users. 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. - -The key derivation function (KDF) in Kerberos is not FIPS compatible. Ensuring the system does not have any keytab files present prevents system daemons from using Kerberos for authentication. A keytab is a file containing pairs of Kerberos principals and encrypted keys. + 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. -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. +A core dump includes a memory image taken at the time the operating system terminates an application. The memory image could contain sensitive data and is generally useful only for developers trying to debug problems. - - - - + + - + - RHEL-08-010162 - The krb5-workstation package must not be installed on RHEL 8. + RHEL-08-010674 - RHEL 8 must disable storing core dumps. 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. - -Currently, Kerberos does not utilize FIPS 140-2 cryptography. + 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. -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. +A core dump includes a memory image taken at the time the operating system terminates an application. The memory image could contain sensitive data and is generally useful only for developers trying to debug problems. - - - - + + - + - RHEL-08-010171 - RHEL 8 must have the policycoreutils package installed. + RHEL-08-010675 - RHEL 8 must disable core dump backtraces. 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. + 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. -Policycoreutils contains the policy core utilities that are required for basic operation of an SELinux-enabled system. These utilities include load_policy to load SELinux policies, setfile to label filesystems, newrole to switch roles, and run_init to run /etc/init.d scripts in the proper context. +A core dump includes a memory image taken at the time the operating system terminates an application. The memory image could contain sensitive data and is generally useful only for developers trying to debug problems. - + - + - RHEL-08-010210 - The RHEL 8 /var/log/messages file must have mode 0640 or less permissive. + RHEL-08-010680 - For RHEL 8 systems using Domain Name Servers (DNS) resolution, at least two name servers must be configured. Red Hat Enterprise Linux 8 - Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 8 system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. - -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. + To provide availability for name resolution services, multiple redundant name servers are mandated. A failure in name resolution could lead to the failure of security functions requiring name resolution, which may include time synchronization, centralized authentication, and remote system logging. - + - + - RHEL-08-010220 - The RHEL 8 /var/log/messages file must be owned by root. + RHEL-08-010720 - All RHEL 8 local interactive users must have a home directory assigned in the /etc/passwd file. Red Hat Enterprise Linux 8 - Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 8 system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. - -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. + 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. - + - + - RHEL-08-010230 - The RHEL 8 /var/log/messages file must be group-owned by root. + RHEL-08-010730 - All RHEL 8 local interactive user home directories must have mode 0750 or less permissive. Red Hat Enterprise Linux 8 - Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 8 system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. - -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. + Excessive permissions on local interactive user home directories may allow unauthorized access to user files by other users. - + - + - RHEL-08-010240 - The RHEL 8 /var/log directory must have mode 0755 or less permissive. + RHEL-08-010760 - All RHEL 8 local interactive user accounts must be assigned a home directory upon creation. Red Hat Enterprise Linux 8 - Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 8 system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. - -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. + 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. - + - + - RHEL-08-010250 - The RHEL 8 /var/log directory must be owned by root. + RHEL-08-010770 - All RHEL 8 local initialization files must have mode 0740 or less permissive. Red Hat Enterprise Linux 8 - Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 8 system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. - -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. + Local initialization files are used to configure the user's shell environment upon logon. Malicious modification of these files could compromise accounts upon logon. - + - + - RHEL-08-010260 - The RHEL 8 /var/log directory must be group-owned by root. + RHEL-08-010800 - A separate RHEL 8 filesystem must be used for user home directories (such as /home or an equivalent). Red Hat Enterprise Linux 8 - Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 8 system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. - -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. + The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing. - + - + - RHEL-08-010292 - RHEL 8 must ensure the SSH server uses strong entropy. + RHEL-08-010820 - Unattended or automatic logon via the RHEL 8 graphical user interface must not be allowed. Red Hat Enterprise Linux 8 - The most important characteristic of a random number generator is its randomness, namely its ability to deliver random numbers that are impossible to predict. Entropy in computer security is associated with the unpredictability of a source of randomness. The random source with high entropy tends to achieve a uniform distribution of random values. Random number generators are one of the most important building blocks of cryptosystems. - -The SSH implementation in RHEL8 uses the OPENSSL library, which does not use high-entropy sources by default. By using the SSH_USE_STRONG_RNG environment variable the OPENSSL random generator is reseeded from /dev/random. This setting is not recommended on computers without the hardware random generator because insufficient entropy causes the connection to be blocked until enough entropy is available. + Failure to restrict system access to authenticated users negatively impacts operating system security. - - - - + + - + - RHEL-08-010294 - The RHEL 8 operating system must implement DoD-approved TLS encryption in the OpenSSL package. + RHEL-08-010830 - RHEL 8 must not allow users to override SSH environment variables. Red Hat Enterprise Linux 8 - Without cryptographic integrity protections, information can be altered by unauthorized users without detection. - -Remote access (e.g., RDP) 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. - -Cryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash. - -RHEL 8 incorporates system-wide crypto policies by default. The employed algorithms can be viewed in the /etc/crypto-policies/back-ends/openssl.config file. + SSH environment options potentially allow users to bypass access restriction in some configurations. - - - - - - - - - - - + - + - RHEL-08-010310 - RHEL 8 system commands must be owned by root. + RHEL-08-020010 - RHEL 8 must automatically lock an account when three unsuccessful logon attempts occur. Red Hat Enterprise Linux 8 - If RHEL 8 were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. + 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. -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. +RHEL 8 can utilize the "pam_faillock.so" for this purpose. Note that manual changes to the listed files may be overwritten by the "authselect" program. + +From "Pam_Faillock" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be reenabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. + +Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128 - + - + - RHEL-08-010320 - RHEL 8 system commands must be group-owned by root or a system account. + RHEL-08-020011 - RHEL 8 must automatically lock an account when three unsuccessful logon attempts occur. Red Hat Enterprise Linux 8 - If RHEL 8 were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. + 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. -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. +In RHEL 8.2 the "/etc/security/faillock.conf" file was incorporated to centralize the configuration of the pam_faillock.so module. Also introduced is a "local_users_only" option that will only track failed user authentication attempts for local users in /etc/passwd and ignore centralized (AD, IdM, LDAP, etc.) users to allow the centralized platform to solely manage user lockout. + +From "faillock.conf" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be reenabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. + +Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128 - + - + - RHEL-08-010370 - RHEL 8 must prevent the installation of software, patches, service packs, device drivers, or operating system components from a repository without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. + RHEL-08-020012 - RHEL 8 must automatically lock an account when three unsuccessful logon attempts occur during a 15-minute time period. Red Hat Enterprise Linux 8 - Changes to any software components can have significant effects on the overall security of the operating system. This requirement ensures the software has not been tampered with and that it has been provided by a trusted vendor. + 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. -Accordingly, patches, service packs, device drivers, or operating system components must be signed with a certificate recognized and approved by the organization. +RHEL 8 can utilize the "pam_faillock.so" for this purpose. Note that manual changes to the listed files may be overwritten by the "authselect" program. -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. +From "Pam_Faillock" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be reenabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. + +Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128 - - + - + - RHEL-08-010372 - RHEL 8 must prevent the loading of a new kernel for later execution. + RHEL-08-020013 - RHEL 8 must automatically lock an account when three unsuccessful logon attempts occur during a 15-minute time period. Red Hat Enterprise Linux 8 - Changes to any software components can have significant effects on the overall security of the operating system. This requirement ensures the software has not been tampered with and that it has been provided by a trusted vendor. + 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. -Disabling kexec_load prevents an unsigned kernel image (that could be a windows kernel or modified vulnerable kernel) from being loaded. Kexec can be used subvert the entire secureboot process and should be avoided at all costs especially since it can load unsigned kernel images. +In RHEL 8.2 the "/etc/security/faillock.conf" file was incorporated to centralize the configuration of the pam_faillock.so module. Also introduced is a "local_users_only" option that will only track failed user authentication attempts for local users in /etc/passwd and ignore centralized (AD, IdM, LDAP, etc.) users to allow the centralized platform to solely manage user lockout. + +From "faillock.conf" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be reenabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. -The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. -/etc/sysctl.d/*.conf -/run/sysctl.d/*.conf -/usr/local/lib/sysctl.d/*.conf -/usr/lib/sysctl.d/*.conf -/lib/sysctl.d/*.conf -/etc/sysctl.conf +Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128 - - - + + - + - RHEL-08-010373 - RHEL 8 must enable kernel parameters to enforce discretionary access control on symlinks. + RHEL-08-020014 - RHEL 8 must automatically lock an account until the locked account is released by an administrator when three unsuccessful logon attempts occur during a 15-minute time period. Red Hat Enterprise Linux 8 - Discretionary Access Control (DAC) is based on the notion that individual users are "owners" of objects and therefore have discretion over who should be authorized to access the object and in which mode (e.g., read or write). Ownership is usually acquired as a consequence of creating the object or via specified ownership assignment. DAC allows the owner to determine who will have access to objects they control. An example of DAC includes user-controlled file permissions. + 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. -When discretionary access control policies are implemented, subjects are not constrained with regard to what actions they can take with information for which they have already been granted access. Thus, subjects that have been granted access to information are not prevented from passing (i.e., the subjects have the discretion to pass) the information to other subjects or objects. A subject that is constrained in its operation by Mandatory Access Control policies is still able to operate under the less rigorous constraints of this requirement. Thus, while Mandatory Access Control imposes constraints preventing a subject from passing information to another subject operating at a different sensitivity level, this requirement permits the subject to pass the information to any subject at the same sensitivity level. The policy is bounded by the information system boundary. Once the information is passed outside the control of the information system, additional means may be required to ensure the constraints remain in effect. While the older, more traditional definitions of discretionary access control require identity-based access control, that limitation is not required for this use of discretionary access control. +RHEL 8 can utilize the "pam_faillock.so" for this purpose. Note that manual changes to the listed files may be overwritten by the "authselect" program. -By enabling the fs.protected_symlinks kernel parameter, symbolic links are permitted to be followed only when outside a sticky world-writable directory, or when the UID of the link and follower match, or when the directory owner matches the symlink's owner. Disallowing such symlinks helps mitigate vulnerabilities based on insecure file system accessed by privileged programs, avoiding an exploitation vector exploiting unsafe use of open() or creat(). +From "Pam_Faillock" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be reenabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. -The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a gien filename is loaded, any file of the same name in subsequent directories is ignored. -/etc/sysctl.d/*.conf -/run/sysctl.d/*.conf -/usr/local/lib/sysctl.d/*.conf/usr/lib/sysctl.d/*.conf -/lib/sysctl.d/*.conf -/etc/sysctl.conf +Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128 - - - + + - + - RHEL-08-010374 - RHEL 8 must enable kernel parameters to enforce discretionary access control on hardlinks. + RHEL-08-020015 - RHEL 8 must automatically lock an account until the locked account is released by an administrator when three unsuccessful logon attempts occur during a 15-minute time period. Red Hat Enterprise Linux 8 - Discretionary Access Control (DAC) is based on the notion that individual users are "owners" of objects and therefore have discretion over who should be authorized to access the object and in which mode (e.g., read or write). Ownership is usually acquired as a consequence of creating the object or via specified ownership assignment. DAC allows the owner to determine who will have access to objects they control. An example of DAC includes user-controlled file permissions. + 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. -When discretionary access control policies are implemented, subjects are not constrained with regard to what actions they can take with information for which they have already been granted access. Thus, subjects that have been granted access to information are not prevented from passing (i.e., the subjects have the discretion to pass) the information to other subjects or objects. A subject that is constrained in its operation by Mandatory Access Control policies is still able to operate under the less rigorous constraints of this requirement. Thus, while Mandatory Access Control imposes constraints preventing a subject from passing information to another subject operating at a different sensitivity level, this requirement permits the subject to pass the information to any subject at the same sensitivity level. The policy is bounded by the information system boundary. Once the information is passed outside the control of the information system, additional means may be required to ensure the constraints remain in effect. While the older, more traditional definitions of discretionary access control require identity-based access control, that limitation is not required for this use of discretionary access control. +In RHEL 8.2 the "/etc/security/faillock.conf" file was incorporated to centralize the configuration of the pam_faillock.so module. Also introduced is a "local_users_only" option that will only track failed user authentication attempts for local users in /etc/passwd and ignore centralized (AD, IdM, LDAP, etc.) users to allow the centralized platform to solely manage user lockout. -By enabling the fs.protected_hardlinks kernel parameter, users can no longer create soft or hard links to files they do not own. Disallowing such hardlinks mitigate vulnerabilities based on insecure file system accessed by privileged programs, avoiding an exploitation vector exploiting unsafe use of open() or creat(). - -The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. -/etc/sysctl.d/*.conf -/run/sysctl.d/*.conf -/usr/local/lib/sysctl.d/*.conf -/usr/lib/sysctl.d/*.conf -/lib/sysctl.d/*.conf -/etc/sysctl.conf +From "faillock.conf" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be reenabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. + +Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128 - - - + + - + - RHEL-08-010375 - RHEL 8 must restrict access to the kernel message buffer. + RHEL-08-020018 - RHEL 8 must prevent system messages from being presented when three unsuccessful logon attempts occur. Red Hat Enterprise Linux 8 - Preventing unauthorized information transfers mitigates the risk of information, including encrypted representations of information, produced by the actions of prior users/roles (or the actions of processes acting on behalf of prior users/roles) from being available to any current users/roles (or current processes) that obtain access to shared system resources (e.g., registers, main memory, hard disks) after those resources have been released back to information systems. The control of information in shared resources is also commonly referred to as object reuse and residual information protection. - -This requirement generally applies to the design of an information technology product, but it can also apply to the configuration of particular information system components that are, or use, such products. This can be verified by acceptance/validation processes in DoD or other government agencies. + 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. -There may be shared resources with configurable protections (e.g., files in storage) that may be assessed on specific information system components. +RHEL 8 can utilize the "pam_faillock.so" for this purpose. Note that manual changes to the listed files may be overwritten by the "authselect" program. -Restricting access to the kernel message buffer limits access to only root. This prevents attackers from gaining additional system information as a non-privileged user. +From "Pam_Faillock" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be reenabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. -The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a gien filename is loaded, any file of the same name in subsequent directories is ignored. -/etc/sysctl.d/*.conf -/run/sysctl.d/*.conf -/usr/local/lib/sysctl.d/*.conf/usr/lib/sysctl.d/*.conf -/lib/sysctl.d/*.conf -/etc/sysctl.conf +Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128 - - - + + - + - RHEL-08-010376 - RHEL 8 must prevent kernel profiling by unprivileged users. + RHEL-08-020019 - RHEL 8 must prevent system messages from being presented when three unsuccessful logon attempts occur. Red Hat Enterprise Linux 8 - Preventing unauthorized information transfers mitigates the risk of information, including encrypted representations of information, produced by the actions of prior users/roles (or the actions of processes acting on behalf of prior users/roles) from being available to any current users/roles (or current processes) that obtain access to shared system resources (e.g., registers, main memory, hard disks) after those resources have been released back to information systems. The control of information in shared resources is also commonly referred to as object reuse and residual information protection. + 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. -This requirement generally applies to the design of an information technology product, but it can also apply to the configuration of particular information system components that are, or use, such products. This can be verified by acceptance/validation processes in DoD or other government agencies. +In RHEL 8.2 the "/etc/security/faillock.conf" file was incorporated to centralize the configuration of the pam_faillock.so module. Also introduced is a "local_users_only" option that will only track failed user authentication attempts for local users in /etc/passwd and ignore centralized (AD, IdM, LDAP, etc.) users to allow the centralized platform to solely manage user lockout. -There may be shared resources with configurable protections (e.g., files in storage) that may be assessed on specific information system components. - -Setting the kernel.perf_event_paranoid kernel parameter to "2" prevents attackers from gaining additional system information as a non-privileged user. +From "faillock.conf" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be reenabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. -The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. -/etc/sysctl.d/*.conf -/run/sysctl.d/*.conf -/usr/local/lib/sysctl.d/*.conf -/usr/lib/sysctl.d/*.conf -/lib/sysctl.d/*.conf -/etc/sysctl.conf +Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128 - - - + + - + - RHEL-08-010380 - RHEL 8 must require users to provide a password for privilege escalation. + RHEL-08-020020 - RHEL 8 must log user name information when unsuccessful logon attempts occur. Red Hat Enterprise Linux 8 - Without reauthentication, users may access resources or perform tasks for which they do not have authorization. + 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. + +RHEL 8 can utilize the "pam_faillock.so" for this purpose. Note that manual changes to the listed files may be overwritten by the "authselect" program. + +From "Pam_Faillock" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be reenabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. -When operating systems provide the capability to escalate a functional capability, it is critical the user reauthenticate. +In RHEL 8.2 the "/etc/security/faillock.conf" file was incorporated to centralize the configuration of the pam_faillock.so module. Also introduced is a "local_users_only" option that will only track failed user authentication attempts for local users in /etc/passwd and ignore centralized (AD, IdM, LDAP, etc.) users to allow the centralized platform to solely manage user lockout. + +Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128 - - + - + - RHEL-08-010381 - RHEL 8 must require users to reauthenticate for privilege escalation. + RHEL-08-020021 - RHEL 8 must log user name information when unsuccessful logon attempts occur. Red Hat Enterprise Linux 8 - Without reauthentication, users may access resources or perform tasks for which they do not have authorization. + 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. + +In RHEL 8.2 the "/etc/security/faillock.conf" file was incorporated to centralize the configuration of the pam_faillock.so module. Also introduced is a "local_users_only" option that will only track failed user authentication attempts for local users in /etc/passwd and ignore centralized (AD, IdM, LDAP, etc.) users to allow the centralized platform to solely manage user lockout. + +From "faillock.conf" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be reenabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. -When operating systems provide the capability to escalate a functional capability, it is critical the user reauthenticate. +Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128 - - + - + - RHEL-08-010390 - RHEL 8 must have the packages required for multifactor authentication installed. + RHEL-08-020022 - RHEL 8 must include root when automatically locking an account until the locked account is released by an administrator when three unsuccessful logon attempts occur during a 15-minute time period. Red Hat Enterprise Linux 8 - Using an authentication device, such as a DoD Common Access Card (CAC) or token that is separate from the information system, ensures that even if the information system is compromised, credentials stored on the authentication device will not be affected. + 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. -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 (PIV) card and the DoD CAC. +RHEL 8 can utilize the "pam_faillock.so" for this purpose. Note that manual changes to the listed files may be overwritten by the "authselect" program. -A privileged account is defined as an information system account with authorizations of a privileged user. +From "Pam_Faillock" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be reenabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. -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. +In RHEL 8.2 the "/etc/security/faillock.conf" file was incorporated to centralize the configuration of the pam_faillock.so module. Also introduced is a "local_users_only" option that will only track failed user authentication attempts for local users in /etc/passwd and ignore centralized (AD, IdM, LDAP, etc.) users to allow the centralized platform to solely manage user lockout. -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). +Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128 - + - + - RHEL-08-010430 - RHEL 8 must implement address space layout randomization (ASLR) to protect its memory from unauthorized code execution. + RHEL-08-020023 - RHEL 8 must include root when automatically locking an account until the locked account is released by an administrator when three unsuccessful logon attempts occur during a 15-minute time period. Red Hat Enterprise Linux 8 - 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. + 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. -Examples of attacks are buffer overflow attacks. +In RHEL 8.2 the "/etc/security/faillock.conf" file was incorporated to centralize the configuration of the pam_faillock.so module. Also introduced is a "local_users_only" option that will only track failed user authentication attempts for local users in /etc/passwd and ignore centralized (AD, IdM, LDAP, etc.) users to allow the centralized platform to solely manage user lockout. -The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. -/etc/sysctl.d/*.conf -/run/sysctl.d/*.conf -/usr/local/lib/sysctl.d/*.conf -/usr/lib/sysctl.d/*.conf -/lib/sysctl.d/*.conf -/etc/sysctl.conf +From "faillock.conf" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be reenabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. + +Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128 - - + - + - RHEL-08-010440 - YUM must remove all software components after updated versions have been installed on RHEL 8. + RHEL-08-020024 - RHEL 8 must limit the number of concurrent sessions to ten for all accounts and/or account types. Red Hat Enterprise Linux 8 - Previous versions of software components that are not removed from the information system after updates have been installed may be exploited by adversaries. Some information technology products may remove older versions of software automatically from the information system. + Operating system management includes the ability to control the number of users and user sessions that utilize an operating system. Limiting the number of allowed users and sessions per user is helpful in reducing the risks related to DoS attacks. + +This requirement addresses concurrent sessions for information system accounts and does not address concurrent sessions by single users via multiple system accounts. The maximum number of concurrent sessions should be defined based on mission needs and the operational environment for each system. - + - + - RHEL-08-010460 - There must be no shosts.equiv files on the RHEL 8 operating system. + RHEL-08-020030 - RHEL 8 must enable a user session lock until that user re-establishes access using established identification and authentication procedures for graphical user sessions. Red Hat Enterprise Linux 8 - 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. + 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. + +Regardless of where the session lock is determined and implemented, once invoked, the session lock must remain in place until the user reauthenticates. No other activity aside from reauthentication must unlock the system. + +Satisfies: SRG-OS-000028-GPOS-00009, SRG-OS-000030-GPOS-00011 - + - + - RHEL-08-010470 - There must be no .shosts files on the RHEL 8 operating system. + RHEL-08-020050 - RHEL 8 must be able to initiate directly a session lock for all connection types using smartcard when the smartcard is removed. Red Hat Enterprise Linux 8 - 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. + 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. + +Satisfies: SRG-OS-000028-GPOS-00009, SRG-OS-000030-GPOS-00011 - + - + - RHEL-08-010480 - The RHEL 8 SSH public host key files must have mode 0644 or less permissive. + RHEL-08-020080 - RHEL 8 must prevent a user from overriding the session lock-delay setting for the graphical user interface. Red Hat Enterprise Linux 8 - If a public host key file is modified by an unauthorized user, the SSH service may be compromised. + A session time-out 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 log out because of the temporary nature of the absence. Rather than relying on the user to manually lock their operating system session prior to vacating the vicinity, operating systems need to be able to identify when a user's session has idled and take action to initiate the session lock. + +The session lock is implemented at the point where session activity can be determined and/or controlled. + +Implementing session settings will have little value if a user is able to manipulate these settings from the defaults prescribed in the other requirements of this implementation guide. + +Locking these settings from non-privileged users is crucial to maintaining a protected baseline. + +Satisfies: SRG-OS-000029-GPOS-00010, SRG-OS-000031-GPOS-00012, SRG-OS-000480-GPOS-00227 - - - + + - + - RHEL-08-010490 - The RHEL 8 SSH private host key files must have mode 0640 or less permissive. + RHEL-08-020100 - RHEL 8 must ensure the password complexity module is enabled in the password-auth file. Red Hat Enterprise Linux 8 - If an unauthorized user obtains the private SSH host key file, the host could be impersonated. + Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. "pwquality" enforces complex password construction configuration and has the ability to limit brute-force attacks on the system. + +RHEL 8 utilizes "pwquality" as a mechanism to enforce password complexity. This is set in both: +/etc/pam.d/password-auth +/etc/pam.d/system-auth - - - + + - + - RHEL-08-010500 - The RHEL 8 SSH daemon must perform strict mode checking of home directory configuration files. + RHEL-08-020110 - RHEL 8 must enforce password complexity by requiring that at least one uppercase character be used. Red Hat Enterprise Linux 8 - If other users have access to modify user-specific SSH configuration files, they may be able to log on to the system as another user. + Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. + +Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. + +RHEL 8 utilizes pwquality as a mechanism to enforce password complexity. Note that in order to require uppercase characters, without degrading the "minlen" value, the credit value must be expressed as a negative number in "/etc/security/pwquality.conf". - - - + + - + - RHEL-08-010520 - The RHEL 8 SSH daemon must not allow authentication using known hosts authentication. + RHEL-08-020120 - RHEL 8 must enforce password complexity by requiring that at least one lower-case character be used. Red Hat Enterprise Linux 8 - Configuring this setting for the SSH daemon provides additional assurance that remote logon via SSH will require a password, even in the event of misconfiguration elsewhere. + Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. + +Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. + +RHEL 8 utilizes pwquality as a mechanism to enforce password complexity. Note that in order to require lower-case characters without degrading the "minlen" value, the credit value must be expressed as a negative number in "/etc/security/pwquality.conf". - - - + + - + - RHEL-08-010521 - The RHEL 8 SSH daemon must not allow Kerberos authentication, except to fulfill documented and validated mission requirements. + RHEL-08-020130 - RHEL 8 must enforce password complexity by requiring that at least one numeric character be used. Red Hat Enterprise Linux 8 - Configuring these settings for the SSH daemon provides additional assurance that remote logon via SSH will not use Kerberos authentication, even in the event of misconfiguration elsewhere. + Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. + +Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. + +RHEL 8 utilizes "pwquality" as a mechanism to enforce password complexity. Note that in order to require numeric characters, without degrading the minlen value, the credit value must be expressed as a negative number in "/etc/security/pwquality.conf". - - - + + - + - RHEL-08-010542 - RHEL 8 must use a separate file system for the system audit data path. + RHEL-08-020140 - RHEL 8 must require the maximum number of repeating characters of the same character class be limited to four when passwords are changed. Red Hat Enterprise Linux 8 - The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing. + Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. + +Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. + +RHEL 8 utilizes "pwquality" as a mechanism to enforce password complexity. The "maxclassrepeat" option sets the maximum number of allowed same consecutive characters in the same class in the new password. - - + - + - RHEL-08-010543 - A separate RHEL 8 filesystem must be used for the /tmp directory. + RHEL-08-020150 - RHEL 8 must require the maximum number of repeating characters be limited to three when passwords are changed. Red Hat Enterprise Linux 8 - The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing. + Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. + +Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. + +RHEL 8 utilizes "pwquality" as a mechanism to enforce password complexity. The "maxrepeat" option sets the maximum number of allowed same consecutive characters in a new password. - - + - + - RHEL-08-010550 - RHEL 8 must not permit direct logons to the root account using remote access via SSH. + RHEL-08-020160 - RHEL 8 must require the change of at least four character classes when passwords are changed. Red Hat Enterprise Linux 8 - Even though the communications channel may be encrypted, an additional layer of security is gained by extending the policy of not logging on directly as root. In addition, logging on with a user-specific account provides individual accountability of actions performed on the system. + Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. + +Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. + +RHEL 8 utilizes "pwquality" as a mechanism to enforce password complexity. The "minclass" option sets the minimum number of required classes of characters for the new password (digits, uppercase, lowercase, others). - - - + + - + - RHEL-08-010560 - The auditd service must be running in RHEL 8. + RHEL-08-020170 - RHEL 8 must require the change of at least 8 characters when passwords are changed. Red Hat Enterprise Linux 8 - Configuring RHEL 8 to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across the DoD that reflects the most restrictive security posture consistent with operational requirements. + Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. -Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections. +Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. + +RHEL 8 utilizes "pwquality" as a mechanism to enforce password complexity. The "difok" option sets the number of characters in a password that must not be present in the old password. - - + - + - RHEL-08-010561 - The rsyslog service must be running in RHEL 8. + RHEL-08-020180 - RHEL 8 passwords must have a 24 hours/1 day minimum password lifetime restriction in /etc/shadow. Red Hat Enterprise Linux 8 - Configuring RHEL 8 to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across the DoD that reflects the most restrictive security posture consistent with operational requirements. - -Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections. + 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. - - + - + - RHEL-08-010571 - RHEL 8 must prevent files with the setuid and setgid bit set from being executed on the /boot directory. + RHEL-08-020190 - RHEL 8 passwords for new users or password changes must have a 24 hours/1 day minimum password lifetime restriction in /etc/login.defs. Red Hat Enterprise Linux 8 - 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. + 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. - - - - - - + + - + - RHEL-08-010580 - RHEL 8 must prevent special devices on non-root local partitions. + RHEL-08-020200 - RHEL 8 user account passwords must have a 60-day maximum password lifetime restriction. Red Hat Enterprise Linux 8 - 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. + 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-010630 - RHEL 8 must prevent code from being executed on file systems that are imported via Network File System (NFS). + 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 - 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. + 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-010640 - RHEL 8 must prevent special devices on file systems that are imported via Network File System (NFS). + RHEL-08-020230 - RHEL 8 passwords must have a minimum of 15 characters. Red Hat Enterprise Linux 8 - 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 shorter the password, the lower the number of possible combinations that need to be tested before the password is compromised. + +Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password length is one factor of several that helps to determine strength and how long it takes to crack a password. Use of more characters in a password helps to increase exponentially the time and/or resources required to compromise the password. + +RHEL 8 utilizes "pwquality" as a mechanism to enforce password complexity. Configurations are set in the "etc/security/pwquality.conf" file. + +The "minlen", sometimes noted as minimum length, acts as a "score" of complexity based on the credit components of the "pwquality" module. By setting the credit components to a negative value, not only will those components be required, they will not count towards the total "score" of "minlen". This will enable "minlen" to require a 15-character minimum. + +The DoD minimum password requirement is 15 characters. - - + - + - RHEL-08-010650 - RHEL 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). + RHEL-08-020231 - RHEL 8 passwords for new users must have a minimum of 15 characters. Red Hat Enterprise Linux 8 - 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. + The shorter the password, the lower the number of possible combinations that need to be tested before the password is compromised. + +Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password length is one factor of several that helps to determine strength and how long it takes to crack a password. Use of more characters in a password helps to increase exponentially the time and/or resources required to compromise the password. + +The DoD minimum password requirement is 15 characters. - - - + + - + - RHEL-08-010671 - RHEL 8 must disable the kernel.core_pattern. + RHEL-08-020240 - RHEL 8 duplicate User IDs (UIDs) must not exist for interactive users. 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. + To ensure accountability and prevent unauthenticated access, interactive users must be identified and authenticated to prevent potential misuse and compromise of the system. -The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. -/etc/sysctl.d/*.conf -/run/sysctl.d/*.conf -/usr/local/lib/sysctl.d/*.conf -/usr/lib/sysctl.d/*.conf -/lib/sysctl.d/*.conf -/etc/sysctl.conf +Interactive users include organizational employees or individuals the organization deems to have equivalent status of employees (e.g., contractors). Interactive users (and processes acting on behalf of users) must be uniquely identified and authenticated to all accesses, except for the following: + +1) Accesses explicitly identified and documented by the organization. Organizations document specific user actions that can be performed on the information system without identification or authentication; and + +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 - - - + + - + - RHEL-08-010673 - RHEL 8 must disable core dumps for all users. + RHEL-08-020260 - RHEL 8 account identifiers (individuals, groups, roles, and devices) must be disabled after 35 days of inactivity. 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. + Inactive identifiers pose a risk to systems and applications because attackers may exploit an inactive identifier and potentially obtain undetected access to the system. Owners of inactive accounts will not notice if unauthorized access to their user account has been obtained. -A core dump includes a memory image taken at the time the operating system terminates an application. The memory image could contain sensitive data and is generally useful only for developers trying to debug problems. +RHEL 8 needs to track periods of inactivity and disable application identifiers after 35 days of inactivity. - - + - + - RHEL-08-010674 - RHEL 8 must disable storing core dumps. + RHEL-08-020280 - All RHEL 8 passwords must contain at least one special character. 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. + Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. -A core dump includes a memory image taken at the time the operating system terminates an application. The memory image could contain sensitive data and is generally useful only for developers trying to debug problems. +Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. + +RHEL 8 utilizes "pwquality" as a mechanism to enforce password complexity. Note that to require special characters without degrading the "minlen" value, the credit value must be expressed as a negative number in "/etc/security/pwquality.conf". - + - + - RHEL-08-010675 - RHEL 8 must disable core dump backtraces. + RHEL-08-020290 - RHEL 8 must prohibit the use of cached authentications after one day. 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. + If cached authentication information is out-of-date, the validity of the authentication information may be questionable. -A core dump includes a memory image taken at the time the operating system terminates an application. The memory image could contain sensitive data and is generally useful only for developers trying to debug problems. +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-010760 - All RHEL 8 local interactive user accounts must be assigned a home directory upon creation + RHEL-08-020300 - RHEL 8 must prevent the use of dictionary words for passwords. Red Hat Enterprise Linux 8 - 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. + 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. - + - + - RHEL-08-010830 - RHEL 8 must not allow users to override SSH environment variables. + RHEL-08-020310 - RHEL 8 must enforce a delay of at least four seconds between logon prompts following a failed logon attempt. Red Hat Enterprise Linux 8 - SSH environment options potentially allow users to bypass access restriction in some configurations. + Configuring the operating system to implement organization-wide security implementation guides and security checklists verifies compliance with federal standards and establishes a common security baseline across the DoD that reflects the most restrictive security posture consistent with operational requirements. + +Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example, registry settings; account, file, and directory permission settings; and settings for functions, ports, protocols, services, and remote connections. - - - + + - + - RHEL-08-020010 - RHEL 8 must automatically lock an account when three unsuccessful logon attempts occur. + RHEL-08-020330 - RHEL 8 must not allow accounts configured with blank or null passwords. Red Hat Enterprise Linux 8 - 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. - -RHEL 8 can utilize the "pam_faillock.so" for this purpose. Note that manual changes to the listed files may be overwritten by the "authselect" program. - -From "Pam_Faillock" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be also re-enabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. - - - - - - - - - - - + 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. + + + - + - RHEL-08-020011 - RHEL 8 must automatically lock an account when three unsuccessful logon attempts occur. + RHEL-08-020340 - RHEL 8 must display the date and time of the last successful account logon upon logon. Red Hat Enterprise Linux 8 - In RHEL 8.2 the "/etc/security/faillock.conf" file was incorporated to centralize the configuration of the pam_faillock.so module. Also introduced is a "local_users_only" option that will only track failed user authentication attempts for local users in /etc/passwd and ignore centralized (AD, IdM, LDAP, etc.) users to allow the centralized platform to solely manage user lockout. - -From "faillock.conf" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be also re-enabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. + Providing users with feedback on when account accesses last occurred facilitates user recognition and reporting of unauthorized account use. - - - + + - + - RHEL-08-020012 - RHEL 8 must automatically lock an account when three unsuccessful logon attempts occur during a 15-minute time period. + RHEL-08-020350 - RHEL 8 must display the date and time of the last successful account logon upon an SSH logon. Red Hat Enterprise Linux 8 - 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. - -RHEL 8 can utilize the "pam_faillock.so" for this purpose. Note that manual changes to the listed files may be overwritten by the "authselect" program. - -From "Pam_Faillock" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be reenabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. + Providing users with feedback on when account accesses via SSH last occurred facilitates user recognition and reporting of unauthorized account use. - - - - - - + + - + - RHEL-08-020013 - RHEL 8 must automatically lock an account when three unsuccessful logon attempts occur during a 15-minute time period. + RHEL-08-020351 - RHEL 8 must define default permissions for all authenticated users in such a way that the user can only read and modify their own files. Red Hat Enterprise Linux 8 - 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. - -In RHEL 8.2 the "/etc/security/faillock.conf" file was incorporated to centralize the configuration of the pam_faillock.so module. Also introduced is a "local_users_only" option that will only track failed user authentication attempts for local users in /etc/passwd and ignore centralized (AD, IdM, LDAP, etc.) users to allow the centralized platform to solely manage user lockout. - -From "faillock.conf" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be reenabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. + Setting the most restrictive default permissions ensures that when new accounts are created, they do not have unnecessary access. - - - + + - + - RHEL-08-020014 - RHEL 8 must automatically lock an account until the locked account is released by an administrator when three unsuccessful logon attempts occur during a 15-minute time period. + RHEL-08-030000 - The RHEL 8 audit system must be configured to audit the execution of privileged functions and prevent all software from executing at higher privilege levels than users executing the software. Red Hat Enterprise Linux 8 - 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. + Misuse of privileged functions, either intentionally or unintentionally by authorized users, or by unauthorized external entities that have compromised information system accounts, is a serious and ongoing concern and can have significant adverse impacts on organizations. Auditing the use of privileged functions is one way to detect such misuse and identify the risk from insider threats and the advanced persistent threat. -RHEL 8 can utilize the "pam_faillock.so" for this purpose. Note that manual changes to the listed files may be overwritten by the "authselect" program. - -From "Pam_Faillock" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be reenabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. +Satisfies: SRG-OS-000326-GPOS-00126, SRG-OS-000327-GPOS-00127 - - - - - - - - + + - + - RHEL-08-020015 - RHEL 8 must automatically lock an account until the locked account is released by an administrator when three unsuccessful logon attempts occur during a 15-minute time period. + RHEL-08-030020 - The RHEL 8 System Administrator (SA) and Information System Security Officer (ISSO) (at a minimum) must be alerted of an audit processing failure event. Red Hat Enterprise Linux 8 - 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. + It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without this notification, the security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected. -In RHEL 8.2 the "/etc/security/faillock.conf" file was incorporated to centralize the configuration of the pam_faillock.so module. Also introduced is a "local_users_only" option that will only track failed user authentication attempts for local users in /etc/passwd and ignore centralized (AD, IdM, LDAP, etc.) users to allow the centralized platform to solely manage user lockout. +Audit processing failures include software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded. -From "faillock.conf" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be reenabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. +This requirement applies to each audit data storage repository (i.e., distinct information system component where audit records are stored), the centralized audit storage capacity of organizations (i.e., all audit data storage repositories combined), or both. - - - + + - + - RHEL-08-020018 - RHEL 8 must prevent system messages from being presented when three unsuccessful logon attempts occur. + RHEL-08-030030 - The RHEL 8 Information System Security Officer (ISSO) and System Administrator (SA) (at a minimum) must have mail aliases to be notified of an audit processing failure. Red Hat Enterprise Linux 8 - 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. + It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without this notification, the security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected. -RHEL 8 can utilize the "pam_faillock.so" for this purpose. Note that manual changes to the listed files may be overwritten by the "authselect" program. +Audit processing failures include software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded. -From "Pam_Faillock" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be also re-enabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. +This requirement applies to each audit data storage repository (i.e., distinct information system component where audit records are stored), the centralized audit storage capacity of organizations (i.e., all audit data storage repositories combined), or both. - - - - - - + + - + - RHEL-08-020019 - RHEL 8 must prevent system messages from being presented when three unsuccessful logon attempts occur. + RHEL-08-030040 - The RHEL 8 System must take appropriate action when an audit processing failure occurs. Red Hat Enterprise Linux 8 - 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. + It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without this notification, the security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected. -In RHEL 8.2 the "/etc/security/faillock.conf" file was incorporated to centralize the configuration of the pam_faillock.so module. Also introduced is a "local_users_only" option that will only track failed user authentication attempts for local users in /etc/passwd and ignore centralized (AD, IdM, LDAP, etc.) users to allow the centralized platform to solely manage user lockout. +Audit processing failures include software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded. -From "faillock.conf" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be also re-enabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. +This requirement applies to each audit data storage repository (i.e., distinct information system component where audit records are stored), the centralized audit storage capacity of organizations (i.e., all audit data storage repositories combined), or both. - - - + + - + - RHEL-08-020020 - RHEL 8 must log user name information when unsuccessful logon attempts occur. + RHEL-08-030060 - The RHEL 8 audit system must take appropriate action when the audit storage volume is full. Red Hat Enterprise Linux 8 - 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. + It is critical that when RHEL 8 is at risk of failing to process audit logs as required, it takes action to mitigate the failure. Audit processing failures include software/hardware errors; failures in the audit capturing mechanisms; and audit storage capacity being reached or exceeded. Responses to audit failure depend upon the nature of the failure mode. -RHEL 8 can utilize the "pam_faillock.so" for this purpose. Note that manual changes to the listed files may be overwritten by the "authselect" program. +When availability is an overriding concern, other approved actions in response to an audit failure are as follows: + +1) If the failure was caused by the lack of audit record storage capacity, RHEL 8 must continue generating audit records if possible (automatically restarting the audit service if necessary) and overwriting the oldest audit records in a first-in-first-out manner. -From "Pam_Faillock" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be also re-enabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. +2) If audit records are sent to a centralized collection server and communication with this server is lost or the server fails, RHEL 8 must queue audit records locally until communication is restored or until the audit records are retrieved manually. Upon restoration of the connection to the centralized collection server, action should be taken to synchronize the local audit data with the collection server. - - - - - - + + - + - RHEL-08-020021 - RHEL 8 must prevent system messages from being presented when three unsuccessful logon attempts occur. + RHEL-08-030061 - The RHEL 8 audit system must audit local events. Red Hat Enterprise Linux 8 - 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. - -In RHEL 8.2 the "/etc/security/faillock.conf" file was incorporated to centralize the configuration of the pam_faillock.so module. Also introduced is a "local_users_only" option that will only track failed user authentication attempts for local users in /etc/passwd and ignore centralized (AD, IdM, LDAP, etc.) users to allow the centralized platform to solely manage user lockout. + Without establishing what type of events occurred, the source of events, where events occurred, and the outcome of events, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. -From "faillock.conf" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be also re-enabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. +Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. - - - + + - + - RHEL-08-020022 - RHEL 8 must include root when automatically locking an account until the locked account is released by an administrator when three unsuccessful logon attempts occur during a 15-minute time period. + RHEL-08-030062 - RHEL 8 must label all off-loaded audit logs before sending them to the central log server. Red Hat Enterprise Linux 8 - 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. + Without establishing what type of events occurred, the source of events, where events occurred, and the outcome of events, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. -RHEL 8 can utilize the "pam_faillock.so" for this purpose. Note that manual changes to the listed files may be overwritten by the "authselect" program. +Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. -From "Pam_Faillock" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be also re-enabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. +Enriched logging is needed to determine who, what, and when events occur on a system. Without this, determining root cause of an event will be much more difficult. + +When audit logs are not labeled before they are sent to a central log server, the audit data will not be able to be analyzed and tied back to the correct system. - - - - - - + + - + - RHEL-08-020023 - RHEL 8 must include root when automatically locking an account until the locked account is released by an administrator when three unsuccessful logon attempts occur during a 15-minute time period. + RHEL-08-030063 - RHEL 8 must resolve audit information before writing to disk. Red Hat Enterprise Linux 8 - 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. + Without establishing what type of events occurred, the source of events, where events occurred, and the outcome of events, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. -In RHEL 8.2 the "/etc/security/faillock.conf" file was incorporated to centralize the configuration of the pam_faillock.so module. Also introduced is a "local_users_only" option that will only track failed user authentication attempts for local users in /etc/passwd and ignore centralized (AD, IdM, LDAP, etc.) users to allow the centralized platform to solely manage user lockout. +Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. -From "faillock.conf" man pages: Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be also re-enabled after system reboot. If that is undesirable a different tally directory must be set with the "dir" option. - - - - - - - - - RHEL-08-020180 - RHEL 8 passwords must have a 24 hours/1 day minimum password lifetime restriction in /etc/shadow. - - Red Hat Enterprise Linux 8 - - 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. +Enriched logging aids in making sense of who, what, and when events occur on a system. Without this, determining root cause of an event will be much more difficult. - - + - + - RHEL-08-020190 - RHEL 8 passwords for new users or password changes must have a 24 hours/1 day minimum password lifetime restriction in /etc/logins.def. + RHEL-08-030070 - RHEL 8 audit logs must have a mode of 0600 or less permissive to prevent unauthorized read access. Red Hat Enterprise Linux 8 - 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. + Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 8 system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. + +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. + +Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029, SRG-OS-000206-GPOS-00084 - + - + - RHEL-08-020200 - RHEL 8 user account passwords must have a 60-day maximum password lifetime restriction. + RHEL-08-030080 - RHEL 8 audit logs must be owned by root to prevent unauthorized read access. 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. + Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 8 system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. + +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. + +Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029, SRG-OS-000206-GPOS-00084 - + - + - RHEL-08-020231 - RHEL 8 passwords for new users must have a minimum of 15 characters. + RHEL-08-030090 - RHEL 8 audit logs must be group-owned by root to prevent unauthorized read access. Red Hat Enterprise Linux 8 - The shorter the password, the lower the number of possible combinations that need to be tested before the password is compromised. + Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. -Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password length is one factor of several that helps to determine strength and how long it takes to crack a password. Use of more characters in a password helps to increase exponentially the time and/or resources required to compromise the password. +Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit RHEL 8 activity. -The DoD minimum password requirement is 15 characters. +Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029 - + - + - RHEL-08-020260 - RHEL 8 account identifiers (individuals, groups, roles, and devices) must be disabled after 35 days of inactivity. + RHEL-08-030100 - RHEL 8 audit log directory must be owned by root to prevent unauthorized read access. Red Hat Enterprise Linux 8 - Inactive identifiers pose a risk to systems and applications because attackers may exploit an inactive identifier and potentially obtain undetected access to the system. Owners of inactive accounts will not notice if unauthorized access to their user account has been obtained. + Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. -RHEL 8 needs to track periods of inactivity and disable application identifiers after 35 days of inactivity. +Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit RHEL 8 activity. + +Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029 - + - + - RHEL-08-021400 - RHEL 8 must prevent the use of dictionary words for passwords. + RHEL-08-030110 - RHEL 8 audit log directory must be group-owned by root to prevent unauthorized read access. Red Hat Enterprise Linux 8 - 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. + Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. + +Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit RHEL 8 activity. + +Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029 - + - + - RHEL-08-020310 - RHEL 8 must enforce a delay of at least four seconds between logon prompts following a failed logon attempt. + RHEL-08-030120 - RHEL 8 audit log directory must have a mode of 0700 or less permissive to prevent unauthorized read access. Red Hat Enterprise Linux 8 - Configuring the operating system to implement organization-wide security implementation guides and security checklists verifies compliance with federal standards and establishes a common security baseline across the DoD that reflects the most restrictive security posture consistent with operational requirements. + Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. -Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example, registry settings; account, file, and directory permission settings; and settings for functions, ports, protocols, services, and remote connections. +Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit RHEL 8 system activity. + +Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029 - + - + - RHEL-08-020330 - RHEL 8 must not have accounts configured with blank or null passwords. + RHEL-08-030121 - RHEL 8 audit system must protect auditing rules from unauthorized change. Red Hat Enterprise Linux 8 - 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. + Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. + +Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit RHEL 8 system activity. + +In immutable mode, unauthorized users cannot execute changes to the audit system to potentially hide malicious activity and then put the audit rules back. A system reboot would be noticeable and a system administrator could then investigate the unauthorized changes. + +Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029 - - + + - + - RHEL-08-020350 - RHEL 8 must display the date and time of the last successful account logon upon an SSH logon. + RHEL-08-030122 - RHEL 8 audit system must protect logon UIDs from unauthorized change. Red Hat Enterprise Linux 8 - Providing users with feedback on when account accesses via SSH last occurred facilitates user recognition and reporting of unauthorized account use. + Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. + +Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit RHEL 8 system activity. + +In immutable mode, unauthorized users cannot execute changes to the audit system to potentially hide malicious activity and then put the audit rules back. A system reboot would be noticeable and a system administrator could then investigate the unauthorized changes. + +Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029 - - - + + - + - RHEL-08-020351 - RHEL 8 must define default permissions for all authenticated users in such a way that the user can only read and modify their own files. + RHEL-08-030130 - RHEL 8 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/shadow. Red Hat Enterprise Linux 8 - Setting the most restrictive default permissions ensures that when new accounts are created, they do not have unnecessary access. + Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter). + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000004-GPOS-00004, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000304-GPOS-00121, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000470-GPOS-00214, SRG-OS-000471-GPOS-00215, SRG-OS-000239-GPOS-00089, SRG-OS-000240-GPOS-00090, SRG-OS-000241-GPOS-00091, SRG-OS-000303-GPOS-00120, SRG-OS-000304-GPOS-00121, SRG-OS-000466-GPOS-00210, SRG-OS-000476-GPOS-00221 - + - + - RHEL-08-030000 - The RHEL 8 audit system must be configured to audit the execution of privileged functions and prevent all software from executing at higher privilege levels than users executing the software. + RHEL-08-030140 - RHEL 8 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/security/opasswd. Red Hat Enterprise Linux 8 - Misuse of privileged functions, either intentionally or unintentionally by authorized users, or by unauthorized external entities that have compromised information system accounts, is a serious and ongoing concern and can have significant adverse impacts on organizations. Auditing the use of privileged functions is one way to detect such misuse and identify the risk from insider threats and the advanced persistent threat. + Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter). + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000004-GPOS-00004, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000304-GPOS-00121, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000470-GPOS-00214, SRG-OS-000471-GPOS-00215, SRG-OS-000239-GPOS-00089, SRG-OS-000240-GPOS-00090, SRG-OS-000241-GPOS-00091, SRG-OS-000303-GPOS-00120, SRG-OS-000304-GPOS-00121, SRG-OS-000476-GPOS-00221 - - - - - + - + - RHEL-08-030020 - The RHEL 8 System Administrator (SA) and Information System Security Officer (ISSO) (at a minimum) must be alerted of an audit processing failure event. + RHEL-08-030150 - RHEL 8 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/passwd. Red Hat Enterprise Linux 8 - It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without this notification, the security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected. + Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -Audit processing failures include software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded. +Audit records can be generated from various components within the information system (e.g., module or policy filter). -This requirement applies to each audit data storage repository (i.e., distinct information system component where audit records are stored), the centralized audit storage capacity of organizations (i.e., all audit data storage repositories combined), or both. +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000004-GPOS-00004, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000304-GPOS-00121, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000470-GPOS-00214, SRG-OS-000471-GPOS-00215, SRG-OS-000239-GPOS-00089, SRG-OS-000240-GPOS-00090, SRG-OS-000241-GPOS-00091, SRG-OS-000303-GPOS-00120, SRG-OS-000304-GPOS-00121, SRG-OS-000466-GPOS-00210, SRG-OS-000476-GPOS-00221 - + - + - RHEL-08-030040 - The RHEL 8 System must take appropriate action when an audit processing failure occurs. + RHEL-08-030160 - RHEL 8 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/gshadow. Red Hat Enterprise Linux 8 - It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without this notification, the security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected. + Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -Audit processing failures include software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded. +Audit records can be generated from various components within the information system (e.g., module or policy filter). -This requirement applies to each audit data storage repository (i.e., distinct information system component where audit records are stored), the centralized audit storage capacity of organizations (i.e., all audit data storage repositories combined), or both. +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000004-GPOS-00004, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000304-GPOS-00121, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000470-GPOS-00214, SRG-OS-000471-GPOS-00215, SRG-OS-000239-GPOS-00089, SRG-OS-000240-GPOS-00090, SRG-OS-000241-GPOS-00091, SRG-OS-000303-GPOS-00120, SRG-OS-000304-GPOS-00121, SRG-OS-000466-GPOS-00210, SRG-OS-000476-GPOS-00221 - + - + - RHEL-08-030060 - The RHEL 8 audit system must take appropriate action when the audit storage volume is full. + RHEL-08-030170 - RHEL 8 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/group. Red Hat Enterprise Linux 8 - It is critical that when RHEL 8 is at risk of failing to process audit logs as required, it takes action to mitigate the failure. Audit processing failures include software/hardware errors; failures in the audit capturing mechanisms; and audit storage capacity being reached or exceeded. Responses to audit failure depend upon the nature of the failure mode. - -When availability is an overriding concern, other approved actions in response to an audit failure are as follows: + Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -1) If the failure was caused by the lack of audit record storage capacity, RHEL 8 must continue generating audit records if possible (automatically restarting the audit service if necessary) and overwriting the oldest audit records in a first-in-first-out manner. +Audit records can be generated from various components within the information system (e.g., module or policy filter). -2) If audit records are sent to a centralized collection server and communication with this server is lost or the server fails, RHEL 8 must queue audit records locally until communication is restored or until the audit records are retrieved manually. Upon restoration of the connection to the centralized collection server, action should be taken to synchronize the local audit data with the collection server. +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000004-GPOS-00004, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000304-GPOS-00121, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000470-GPOS-00214, SRG-OS-000471-GPOS-00215, SRG-OS-000239-GPOS-00089, SRG-OS-000240-GPOS-00090, SRG-OS-000241-GPOS-00091, SRG-OS-000303-GPOS-00120, SRG-OS-000304-GPOS-00121, CCI-002884, SRG-OS-000466-GPOS-00210, SRG-OS-000476-GPOS-00221 - + - + - RHEL-08-030061 - The RHEL 8 audit system must audit local events. + RHEL-08-030171 - RHEL 8 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/sudoers. Red Hat Enterprise Linux 8 - Without establishing what type of events occurred, the source of events, where events occurred, and the outcome of events, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. + Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. +Audit records can be generated from various components within the information system (e.g., module or policy filter). + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000004-GPOS-00004, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000304-GPOS-00121, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000470-GPOS-00214, SRG-OS-000471-GPOS-00215, SRG-OS-000239-GPOS-00089, SRG-OS-000240-GPOS-00090, SRG-OS-000241-GPOS-00091, SRG-OS-000303-GPOS-00120, SRG-OS-000304-GPOS-00121, CCI-002884, SRG-OS-000466-GPOS-00210, SRG-OS-000476-GPOS-00221 - + - + - RHEL-08-030062 - RHEL 8 must label all off-loaded audit logs before sending them to the central log server. + RHEL-08-030172 - RHEL 8 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/sudoers.d/. Red Hat Enterprise Linux 8 - Without establishing what type of events occurred, the source of events, where events occurred, and the outcome of events, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. - -Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. + Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -Enriched logging is needed to determine who, what, and when events occur on a system. Without this, determining root cause of an event will be much more difficult. +Audit records can be generated from various components within the information system (e.g., module or policy filter). -When audit logs are not labeled before they are sent to a central log server, the audit data will not be able to be analyzed and tied back to the correct system. +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000004-GPOS-00004, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000304-GPOS-00121, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000470-GPOS-00214, SRG-OS-000471-GPOS-00215, SRG-OS-000239-GPOS-00089, SRG-OS-000240-GPOS-00090, SRG-OS-000241-GPOS-00091, SRG-OS-000303-GPOS-00120, SRG-OS-000304-GPOS-00121, CCI-002884, SRG-OS-000466-GPOS-00210, SRG-OS-000476-GPOS-00221 - + - + - RHEL-08-030063 - RHEL 8 must resolve audit information before writing to disk. + RHEL-08-030180 - The RHEL 8 audit package must be installed. Red Hat Enterprise Linux 8 @@ -11514,1199 +17729,1201 @@ When audit logs are not labeled before they are sent to a central log server, th Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. -Enriched logging aids in making sense of who, what, and when events occur on a system. Without this, determining root cause of an event will be much more difficult. +Associating event types with detected events in RHEL 8 audit logs provides a means of investigating an attack, recognizing resource utilization or capacity thresholds, or identifying an improperly configured RHEL 8 system. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000038-GPOS-00016, SRG-OS-000039-GPOS-00017, SRG-OS-000040-GPOS-00018, SRG-OS-000041-GPOS-00019, SRG-OS-000042-GPOS-00021, SRG-OS-000051-GPOS-00024, SRG-OS-000054-GPOS-00025, SRG-OS-000122-GPOS-00063, SRG-OS-000254-GPOS-00095, SRG-OS-000255-GPOS-00096, SRG-OS-000337-GPOS-00129, SRG-OS-000348-GPOS-00136, SRG-OS-000349-GPOS-00137, SRG-OS-000350-GPOS-00138, SRG-OS-000351-GPOS-00139, SRG-OS-000352-GPOS-00140, SRG-OS-000353-GPOS-00141, SRG-OS-000354-GPOS-00142, SRG-OS-000358-GPOS-00145, SRG-OS-000365-GPOS-00152, SRG-OS-000392-GPOS-00172, SRG-OS-000475-GPOS-00220 - + - + - RHEL-08-030080 - RHEL 8 audit logs must be owned by root to prevent unauthorized read access. + RHEL-08-030190 - Successful/unsuccessful uses of the su command in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 8 system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. + Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -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. +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "su" command allows a user to run commands with a substitute user and group ID. + +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000064-GPOS-0003, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215, SRG-OS-000466-GPOS-00210 - + - + - RHEL-08-030090 - RHEL 8 audit logs must be group-owned by root to prevent unauthorized read access. + RHEL-08-030200 - The RHEL 8 audit system must be configured to audit any usage of the setxattr, fsetxattr, lsetxattr, removexattr, fremovexattr, and lremovexattr system calls. Red Hat Enterprise Linux 8 - Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. + Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter). + +"Setxattr" is a system call used to set an extended attribute value. +"Fsetxattr" is a system call used to set an extended attribute value. This is used to set extended attributes on a file. +"Lsetxattr" is a system call used to set an extended attribute value. This is used to set extended attributes on a symbolic link. +"Removexattr" is a system call that removes extended attributes. +"Fremovexattr" is a system call that removes extended attributes. This is used for removal of extended attributes from a file. +"Lremovexattr" is a system call that removes extended attributes. This is used for removal of extended attributes from symbolic links. + +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. -Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit RHEL 8 activity. +The system call rules are loaded into a matching engine that intercepts each syscall made by all programs on the system. Therefore, it is very important to use syscall rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining syscalls into one rule whenever possible. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000392-GPOS-00172, SRG-OS-000458-GPOS-00203, SRG-OS-000462-GPOS-00206, SRG-OS-000463-GPOS-00207, SRG-OS-000468-GPOS-00212, SRG-OS-000471-GPOS-00215, SRG-OS-000474-GPOS-00219, SRG-OS-000466-GPOS-00210 - + - + - RHEL-08-030100 - RHEL 8 audit log directory must be owned by root to prevent unauthorized read access. + RHEL-08-030250 - Successful/unsuccessful uses of the chage command in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. + Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "chage" command is used to change or view user password expiry information. + +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. -Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit RHEL 8 activity. +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000468-GPOS-00212, SRG-OS-000471-GPOS-00215 - + - + - RHEL-08-030110 - RHEL 8 audit log directory must be group-owned by root to prevent unauthorized read access. + RHEL-08-030260 - Successful/unsuccessful uses of the chcon command in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. + Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "chcon" command is used to change file SELinux security context. + +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. -Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit RHEL 8 activity. +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000468-GPOS-00212, SRG-OS-000471-GPOS-00215 - + - + - RHEL-08-030120 - RHEL 8 audit log directory must have a mode of 0700 or less permissive to prevent unauthorized read access. + RHEL-08-030280 - Successful/unsuccessful uses of the ssh-agent in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. + Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "ssh-agent" is a program to hold private keys used for public key authentication. -Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit RHEL 8 system activity. +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - + - + - RHEL-08-030121 - RHEL 8 audit system must protect auditing rules from unauthorized change. + RHEL-08-030290 - Successful/unsuccessful uses of the passwd command in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. + Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit RHEL 8 system activity. +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "passwd" command is used to change passwords for user accounts. -In immutable mode, unauthorized users cannot execute changes to the audit system to potentially hide malicious activity and then put the audit rules back. A system reboot would be noticeable and a system administrator could then investigate the unauthorized changes. +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - + - + - RHEL-08-030122 - RHEL 8 audit system must protect logon UIDs from unauthorized change. + RHEL-08-030300 - Successful/unsuccessful uses of the mount command in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. + Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit RHEL 8 system activity. +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "mount" command is used to mount a filesystem. -In immutable mode, unauthorized users cannot execute changes to the audit system to potentially hide malicious activity and then put the audit rules back. A system reboot would be noticeable and a system administrator could then investigate the unauthorized changes. +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - + - + - RHEL-08-030130 - RHEL 8 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/shadow. + RHEL-08-030301 - Successful/unsuccessful uses of the umount command in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -Audit records can be generated from various components within the information system (e.g., module or policy filter). +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "umount" command is used to unmount a filesystem. + +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - - + - + - RHEL-08-030140 - RHEL 8 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/security/opasswd. + RHEL-08-030302 - Successful/unsuccessful uses of the mount syscall in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -Audit records can be generated from various components within the information system (e.g., module or policy filter). +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "mount" syscall is used to mount a filesystem. + +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - - + - + - RHEL-08-030150 - RHEL 8 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/passwd. + RHEL-08-030310 - Successful/unsuccessful uses of the unix_update in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + +At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise. "Unix_update" is a helper program for the "pam_unix" module that updates the password for a given user. It is not intended to be run directly from the command line and logs a security violation if done so. -Audit records can be generated from various components within the information system (e.g., module or policy filter). +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - - + - + - RHEL-08-030160 - RHEL 8 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/gshadow. + RHEL-08-030311 - Successful/unsuccessful uses of postdrop in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + +At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise. The "postdrop" command creates a file in the maildrop directory and copies its standard input to the file. -Audit records can be generated from various components within the information system (e.g., module or policy filter). +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - - + - + - RHEL-08-030170 - RHEL 8 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/group. + RHEL-08-030312 - Successful/unsuccessful uses of postqueue in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + +At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise. The "postqueue" command implements the Postfix user interface for queue management. -Audit records can be generated from various components within the information system (e.g., module or policy filter). +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - - + - + - RHEL-08-030171 - RHEL 8 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/sudoers. + RHEL-08-030313 - Successful/unsuccessful uses of semanage in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + +At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise. The "semanage" command is used to configure certain elements of SELinux policy without requiring modification to or recompilation from policy sources. -Audit records can be generated from various components within the information system (e.g., module or policy filter). +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - - + - + - RHEL-08-030172 - RHEL 8 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/sudoers.d/. + RHEL-08-030314 - Successful/unsuccessful uses of setfiles in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + +At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise. The "setfiles" command is primarily used to initialize the security context fields (extended attributes) on one or more filesystems (or parts of them). Usually it is initially run as part of the SELinux installation process (a step commonly known as labeling). -Audit records can be generated from various components within the information system (e.g., module or policy filter). +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - - + - + - RHEL-08-030180 - The RHEL 8 audit package must be installed. + RHEL-08-030315 - Successful/unsuccessful uses of userhelper in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Without establishing what type of events occurred, the source of events, where events occurred, and the outcome of events, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. + Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. -Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. +At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise. The "userhelper" command is not intended to be run interactively. "Userhelper" provides a basic interface to change a user's password, gecos information, and shell. The main difference between this program and its traditional equivalents (passwd, chfn, chsh) is that prompts are written to standard out to make it easy for a graphical user interface wrapper to interface to it as a child process. -Associating event types with detected events in RHEL 8 audit logs provides a means of investigating an attack, recognizing resource utilization or capacity thresholds, or identifying an improperly configured RHEL 8 system. +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - + - + - RHEL-08-030190 - Successful/unsuccessful uses of the su command in RHEL 8 must generate an audit record. + RHEL-08-030316 - Successful/unsuccessful uses of setsebool in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "su" command allows a user to run commands with a substitute user and group ID. +At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise. The "setsebool" command sets the current state of a particular SELinux boolean or a list of booleans to a given value. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - - + - + - RHEL-08-030200 - The RHEL 8 audit system must be configured to audit any usage of the setxattr, fsetxattr, lsetxattr, removexattr, fremovexattr and lremovexattr system calls. + RHEL-08-030317 - Successful/unsuccessful uses of unix_chkpwd in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. -Audit records can be generated from various components within the information system (e.g., module or policy filter). "Setxattr" is a system call used to set an extended attribute value. -"Fsetxattr" is a system call used to set an extended attribute value. This is used to set extended attributes on a file. -"Lsetxattr" is a system call used to set an extended attribute value. This is used to set extended attributes on a symbolic link. -"Removexattr" is a system call that removes extended attributes. -"Fremovexattr" is a system call that removes extended attributes. This is used for removal of extended attributes from a file. -"Lremovexattr" is a system call that removes extended attributes. This is used for removal of extended attributes from symbolic links. +At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise. The "unix_chkpwd" command is a helper program for the pam_unix module that verifies the password of the current user. It also checks password and account expiration dates in shadow. It is not intended to be run directly from the command line and logs a security violation if done so. When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. -The system call rules are loaded into a matching engine that intercepts each syscall that all programs on the system makes. Therefore, it is very important to only use syscall rules when you have to since these affect performance. The more rules, the bigger the performance hit. You can help the performance, though, by combining syscalls into one rule whenever possible. +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - - - - - - - - - - - - - - - - - - - - - - - - - + - + - RHEL-08-030250 - Successful/unsuccessful uses of the chage command in RHEL 8 must generate an audit record + RHEL-08-030320 - Successful/unsuccessful uses of the ssh-keysign in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "chage" command is used to change or view user password expiry information. +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "ssh-keysign" program is an SSH helper program for host-based authentication. When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. -Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000468-GPOS-00212, SRG-OS-000471-GPOS-00215 +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - - + - + - RHEL-08-030260 - Successful/unsuccessful uses of the chcon command in RHEL 8 must generate an audit record + RHEL-08-030330 - Successful/unsuccessful uses of the setfacl command in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "chcon" command is used to change file SELinux security context. +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "setfacl" command is used to set file access control lists. When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. -Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000468-GPOS-00212, SRG-OS-000471-GPOS-00215 +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - - + - + - RHEL-08-030280 - Successful/unsuccessful uses of the ssh-agent in RHEL 8 must generate an audit record. + RHEL-08-030340 - Successful/unsuccessful uses of the pam_timestamp_check command in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "ssh-agent" is a program to hold private keys used for public key authentication. +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "pam_timestamp_check" command is used to check if the default timestamp is valid. + +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - - + - + - RHEL-08-030290 - Successful/unsuccessful uses of the passwd command in RHEL 8 must generate an audit record. + RHEL-08-030350 - Successful/unsuccessful uses of the newgrp command in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "passwd" command is used to change passwords for user accounts. +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "newgrp" command is used to change the current group ID during a login session. + +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - - + - + - RHEL-08-030300 - Successful/unsuccessful uses of the mount command in RHEL 8 must generate an audit record. + RHEL-08-030360 - Successful/unsuccessful uses of the init_module and finit_module system calls in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "mount" command is used to mount a filesystem. +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "init_module" and "finit_module" system calls are used to load a kernel module. + +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +The system call rules are loaded into a matching engine that intercepts each syscall made by all programs on the system. Therefore, it is very important to use syscall rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining syscalls into one rule whenever possible. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - - + - + - RHEL-08-030301 - Successful/unsuccessful uses of the umount command in RHEL 8 must generate an audit record. + RHEL-08-030361 - Successful/unsuccessful uses of the rename, unlink, rmdir, renameat, and unlinkat system calls in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "umount" command is used to unmount a filesystem. +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "rename" system call will rename the specified files by replacing the first occurrence of expression in their name by replacement. + +The "unlink" system call deletes a name from the filesystem. If that name was the last link to a file and no processes have the file open, the file is deleted and the space it was using is made available for reuse. +The "rmdir" system call removes empty directories. +The "renameat" system call renames a file, moving it between directories if required. +The "unlinkat" system call operates in exactly the same way as either "unlink" or "rmdir" except for the differences described in the manual page. + +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +The system call rules are loaded into a matching engine that intercepts each syscall made by all programs on the system. Therefore, it is very important to use syscall rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. Performance can be helped, however, by combining syscalls into one rule whenever possible. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - - + - + - RHEL-08-030302 - Successful/unsuccessful uses of the mount syscall in RHEL 8 must generate an audit record. + RHEL-08-030370 - Successful/unsuccessful uses of the gpasswd command in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "mount" syscall is used to mount a filesystem. +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "gpasswd" command is used to administer /etc/group and /etc/gshadow. Every group can have administrators, members and a password. + +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - - - + - + - RHEL-08-030310 - Successful/unsuccessful uses of the unix_update in RHEL 8 must generate an audit record. + RHEL-08-030390 - Successful/unsuccessful uses of the delete_module command in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise. "Unix_update" is a helper program for the "pam_unix" module that updates the password for a given user. It is not intended to be run directly from the command line and logs a security violation if done so. +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "delete_module" command is used to unload a kernel module. + +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - - + - + - RHEL-08-030311 - Successful/unsuccessful uses of postdrop in RHEL 8 must generate an audit record. + RHEL-08-030400 - Successful/unsuccessful uses of the crontab command in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise. The "postdrop" command creates a file in the maildrop directory and copies its standard input to the file. +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "crontab" command is used to maintain crontab files for individual users. Crontab is the program used to install, remove, or list the tables used to drive the cron daemon. This is similar to the task scheduler used in other operating systems. + +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - - + - + - RHEL-08-030312 - Successful/unsuccessful uses of postqueue in RHEL 8 must generate an audit record. + RHEL-08-030410 - Successful/unsuccessful uses of the chsh command in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise. The "postqueue" command implements the Postfix user interface for queue management. +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "chsh" command is used to change the login shell. + +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215 - - + - + - RHEL-08-030313 - Successful/unsuccessful uses of semanage in RHEL 8 must generate an audit record. + RHEL-08-030420 - Successful/unsuccessful uses of the truncate, ftruncate, creat, open, openat, and open_by_handle_at system calls in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "truncate" and "ftruncate" functions are used to truncate a file to a specified length. + +The "creat" system call is used to open and possibly create a file or device. +The "open" system call opens a file specified by a pathname. If the specified file does not exist, it may optionally be created by "open". +The "openat" system call opens a file specified by a relative pathname. +The "name_to_handle_at" and "open_by_handle_at" system calls split the functionality of "openat" into two parts: "name_to_handle_at" returns an opaque handle that corresponds to a specified file; "open_by_handle_at" opens the file corresponding to a handle returned by a previous call to "name_to_handle_at" and returns an open file descriptor. + +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. -At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise. The "semanage" command is used to configure certain elements of SELinux policy without requiring modification to or recompilation from policy sources. +The system call rules are loaded into a matching engine that intercepts each syscall made by all programs on the system. Therefore, it is very important to use syscall rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining syscalls into one rule whenever possible. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215, SRG-OS-000064-GPOS-00033 - - + - + - RHEL-08-030314 - Successful/unsuccessful uses of setfiles in RHEL 8 must generate an audit record. + RHEL-08-030480 - Successful/unsuccessful uses of the chown, fchown, fchownat, and lchown system calls in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise. The "setfiles" command is primarily used to initialize the security context fields (extended attributes) on one or more filesystems (or parts of them). Usually it is initially run as part of the SELinux installation process (a step commonly known as labeling). +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "chown" command is used to change file owner and group. + +The "fchown" system call is used to change the ownership of a file referred to by the open file descriptor. +The "fchownat" system call is used to change ownership of a file relative to a directory file descriptor. +The "lchown" system call is used to change the ownership of the file specified by a path, which does not dereference symbolic links. + +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. + +The system call rules are loaded into a matching engine that intercepts each syscall made by all programs on the system. Therefore, it is very important to use syscall rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining syscalls into one rule whenever possible. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215, SRG-OS-000064-GPOS-00033, SRG-OS-000466-GPOS-00210 - - + - + - RHEL-08-030315 - Successful/unsuccessful uses of userhelper in RHEL 8 must generate an audit record. + RHEL-08-030490 - Successful/unsuccessful uses of the chmod, fchmod, and fchmodat system calls in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise. The "userhelper" command is not intended to be run interactively. "Userhelper" provides a basic interface to change a user's password, gecos information, and shell. The main difference between this program and its traditional equivalents (passwd, chfn, chsh) is that prompts are written to standard out to make it easy for a graphical user interface wrapper to interface to it as a child process. +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "chmod" system call changes the file mode bits of each given file according to mode, which can be either a symbolic representation of changes to make, or an octal number representing the bit pattern for the new mode bits. + +The "fchmod" system call is used to change permissions of a file. +The "fchmodat" system call is used to change permissions of a file relative to a directory file descriptor. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. + +The system call rules are loaded into a matching engine that intercepts each syscall made by all programs on the system. Therefore, it is very important to use syscall rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. Performance can be helped, however, by combining syscalls into one rule whenever possible. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215, SRG-OS-000064-GPOS-00033, SRG-OS-000466-GPOS-00210 - - + - + - RHEL-08-030316 - Successful/unsuccessful uses of setsebool in RHEL 8 must generate an audit record. + RHEL-08-030550 - Successful/unsuccessful uses of the sudo command in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise. The "setsebool" command sets the current state of a particular SELinux boolean or a list of booleans to a given value. +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "sudo" command allows a permitted user to execute a command as the superuser or another user, as specified by the security policy. + +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215, SRG-OS-000466-GPOS-00210 - - + - + - RHEL-08-030317 - Successful/unsuccessful uses of unix_chkpwd in RHEL 8 must generate an audit record. + RHEL-08-030560 - Successful/unsuccessful uses of the usermod command in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise. The "unix_chkpwd" command is a helper program for the pam_unix module that verifies the password of the current user. It also checks password and account expiration dates in shadow. It is not intended to be run directly from the command line and logs a security violation if done so. +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "usermod" command modifies the system account files to reflect the changes that are specified on the command line. + +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215, SRG-OS-000466-GPOS-00210 - - + - + - RHEL-08-030320 - Successful/unsuccessful uses of the ssh-keysign in RHEL 8 must generate an audit record. + RHEL-08-030570 - Successful/unsuccessful uses of the chacl command in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "ssh-keysign" program is an SSH helper program for host-based authentication. +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "chacl" command is used to change the access control list of a file or directory. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215, SRG-OS-000466-GPOS-00210 - - + - + - RHEL-08-030330 - Successful/unsuccessful uses of the setfacl command in RHEL 8 must generate an audit record. + RHEL-08-030580 - Successful/unsuccessful uses of the kmod command in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "setfacl" command is used to set file access control lists. +Audit records can be generated from various components within the information system (e.g., module or policy filter). The "kmod" command is used to control Linux Kernel modules. + +The list of audited events is the set of events for which audits are to be generated. This set of events is typically a subset of the list of all events for which the system is capable of generating audit records. + +DoD has defined the list of events for which RHEL 8 will provide an audit record generation capability as the following: + +1) Successful and unsuccessful attempts to access, modify, or delete privileges, security objects, security levels, or categories of information (e.g., classification levels); + +2) Access actions, such as successful and unsuccessful logon attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logons from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system; -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +3) All account creations, modifications, disabling, and terminations; and + +4) All kernel module load, unload, and restart actions. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215, SRG-OS-000471-GPOS-00216, SRG-OS-000477-GPOS-00222 - - + - + - RHEL-08-030340 - Successful/unsuccessful uses of the pam_timestamp_check command in RHEL 8 must generate an audit record. + RHEL-08-030600 - Successful/unsuccessful modifications to the lastlog file in RHEL 8 must generate an audit record. Red Hat Enterprise Linux 8 - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "pam_timestamp_check" command is used to check if the default timestamp is valid. +Audit records can be generated from various components within the information system (e.g., module or policy filter). + +The list of audited events is the set of events for which audits are to be generated. This set of events is typically a subset of the list of all events for which the system is capable of generating audit records. + +DoD has defined the list of events for which RHEL 8 will provide an audit record generation capability as the following: + +1) Successful and unsuccessful attempts to access, modify, or delete privileges, security objects, security levels, or categories of information (e.g., classification levels); -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +2) Access actions, such as successful and unsuccessful logon attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logons from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system; + +3) All account creations, modifications, disabling, and terminations; and + +4) All kernel module load, unload, and restart actions. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215, SRG-OS-000473-GPOS-00218 - - + - + - RHEL-08-030350 - Successful/unsuccessful uses of the newgrp command in RHEL 8 must generate an audit record. + RHEL-08-030601 - RHEL 8 must enable auditing of processes that start prior to the audit daemon. Red Hat Enterprise Linux 8 - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "newgrp" command is used to change the current group ID during a login session. +If auditing is enabled late in the startup process, the actions of some startup processes may not be audited. Some audit systems also maintain state information only available if auditing is enabled before a given process is created. + +Audit records can be generated from various components within the information system (e.g., module or policy filter). + +The list of audited events is the set of events for which audits are to be generated. This set of events is typically a subset of the list of all events for which the system is capable of generating audit records. + +DoD has defined the list of events for which RHEL 8 will provide an audit record generation capability as the following: -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +1) Successful and unsuccessful attempts to access, modify, or delete privileges, security objects, security levels, or categories of information (e.g., classification levels); + +2) Access actions, such as successful and unsuccessful logon attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logons from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system; + +3) All account creations, modifications, disabling, and terminations; and + +4) All kernel module load, unload, and restart actions. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215, SRG-OS-000473-GPOS-00218 - - + - + - RHEL-08-030360 - Successful/unsuccessful uses of the init_module and finit_module command system calls in RHEL 8 must generate an audit record. + RHEL-08-030602 - RHEL 8 must allocate an audit_backlog_limit of sufficient size to capture processes that start prior to the audit daemon. Red Hat Enterprise Linux 8 - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "init_module" and "finit_module" command system calls is are used to load a kernel module. +If auditing is enabled late in the startup process, the actions of some startup processes may not be audited. Some audit systems also maintain state information only available if auditing is enabled before a given process is created. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +Audit records can be generated from various components within the information system (e.g., module or policy filter). -The system call rules are loaded into a matching engine that intercepts each syscall that all programs on the system makes. Therefore, it is very important to only use syscall rules when you have to since these affect performance. The more rules, the bigger the performance hit. You can help the performance, though, by combining syscalls into one rule whenever possible. +Allocating an audit_backlog_limit of sufficient size is critical in maintaining a stable boot process. With an insufficient limit allocated, the system is susceptible to boot failures and crashes. - - - - - + - + - RHEL-08-030361 - Successful/unsuccessful uses of the rename, unlink, rmdir, renameat and unlinkat commandsystem calls in RHEL 8 must generate an audit record. + RHEL-08-030610 - RHEL 8 must allow only the Information System Security Manager (ISSM) (or individuals or roles appointed by the ISSM) to select which auditable events are to be audited. Red Hat Enterprise Linux 8 - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "rename" command system call will rename the specified files by replacing the first occurrence of expression in their name by replacement. -The "unlink" system call deletes a name from the filesystem. If that name was the last link to a file and no processes have the file open, the file is deleted and the space it was using is made available for reuse. -The "rmdir" system call removes empty directories. -The "renameat" system call renames a file, moving it between directories if required. -The "unlinkat" system call operates in exactly the same way as either "unlink" or "rmdir" except for the differences described in the manual page. - -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. -The system call rules are loaded into a matching engine that intercepts each syscall that all programs on the system makes. Therefore, it is very important to only use syscall rules when you have to since these affect performance. The more rules, the bigger the performance hit. You can help the performance, though, by combining syscalls into one rule whenever possible. + Without the capability to restrict the roles and individuals that can select which events are audited, unauthorized personnel may be able to prevent the auditing of critical events. Misconfigured audits may degrade the system's performance by overwhelming the audit log. Misconfigured audits may also make it more difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - - - - - - - - - - - + - + - RHEL-08-030370 - Successful/unsuccessful uses of the gpasswd command in RHEL 8 must generate an audit record. + RHEL-08-030620 - RHEL 8 audit tools must have a mode of 0755 or less permissive. Red Hat Enterprise Linux 8 - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information. -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "gpasswd" command is used to administer /etc/group and /etc/gshadow. Every group can have administrators, members and a password. +RHEL 8 systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools, and the corresponding rights the user enjoys, to make access decisions regarding the access to audit tools. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +Audit tools include, but are not limited to, vendor-provided and open source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators. - - + - + - RHEL-08-030390 - Successful/unsuccessful uses of the delete_module command in RHEL 8 must generate an audit record. + RHEL-08-030630 - RHEL 8 audit tools must be owned by root. Red Hat Enterprise Linux 8 - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information. -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "delete_module" command is used to unload a kernel module. +RHEL 8 systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools, and the corresponding rights the user enjoys, to make access decisions regarding the access to audit tools. + +Audit tools include, but are not limited to, vendor-provided and open source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +Satisfies: SRG-OS-000256-GPOS-00097, SRG-OS-000257-GPOS-00098, SRG-OS-000258-GPOS-00099 - - - + - + - RHEL-08-030400 - Successful/unsuccessful uses of the crontab command in RHEL 8 must generate an audit record. + RHEL-08-030640 - RHEL 8 audit tools must be group-owned by root. Red Hat Enterprise Linux 8 - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information. -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "crontab" command is used to maintain crontab files for individual users. Crontab is the program used to install, remove, or list the tables used to drive the cron daemon. This is similar to the task scheduler used in other operating systems. +RHEL 8 systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools, and the corresponding rights the user enjoys, to make access decisions regarding the access to audit tools. + +Audit tools include, but are not limited to, vendor-provided and open source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +Satisfies: SRG-OS-000256-GPOS-00097, SRG-OS-000257-GPOS-00098, SRG-OS-000258-GPOS-00099 - - + - + - RHEL-08-030410 - Successful/unsuccessful uses of the chsh command in RHEL 8 must generate an audit record. + RHEL-08-030670 - RHEL 8 must have the packages required for offloading audit logs installed. Red Hat Enterprise Linux 8 - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + Information stored in one location is vulnerable to accidental or incidental deletion or alteration. -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "chsh" command is used to change the login shell. +Off-loading is a common process in information systems with limited audit storage capacity. + +RHEL 8 installation media provides "rsyslogd". "rsyslogd" is a system utility providing support for message logging. Support for both internet and UNIX domain sockets enables this utility to support both local and remote logging. Couple this utility with "gnutls" (which is a secure communications library implementing the SSL, TLS and DTLS protocols), and you have a method to securely encrypt and off-load auditing. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +Rsyslog provides three ways to forward message: the traditional UDP transport, which is extremely lossy but standard; the plain TCP based transport, which loses messages only during certain situations but is widely available; and the RELP transport, which does not lose messages but is currently available only as part of the rsyslogd 3.15.0 and above. +Examples of each configuration: +UDP *.* @remotesystemname +TCP *.* @@remotesystemname +RELP *.* :omrelp:remotesystemname:2514 +Note that a port number was given as there is no standard port for RELP. - - + - + - RHEL-08-030420 - Successful/unsuccessful uses of the truncate, ftruncate, creat, open, openat, and open_by_handle_at system calls in RHEL 8 must generate an audit record. + RHEL-08-030680 - RHEL 8 must have the packages required for encrypting offloaded audit logs installed. Red Hat Enterprise Linux 8 - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "truncate" and "ftruncate" functions are used to truncate a file to a specified length. -The "creat" system call is used to open and possibly create a file or device. -The "open" system call opens a file specified by a pathname. If the specified file does not exist, it may optionally be created by "open". -The "openat" system call opens a file specified by a relative pathname. -The "name_to_handle_at" and "open_by_handle_at" system calls split the functionality of openat into two parts: "name_to_handle_at" returns an opaque handle that corresponds to a specified file; "open_by_handle_at" opens the file corresponding to a handle returned by a previous call to "name_to_handle_at" and returns an open file descriptor. + Information stored in one location is vulnerable to accidental or incidental deletion or alteration. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. -The system call rules are loaded into a matching engine that intercepts each syscall that all programs on the system makes. Therefore, it is very important to only use syscall rules when you have to since these affect performance. The more rules, the bigger the performance hit. You can help the performance, though, by combining syscalls into one rule whenever possible. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - RHEL-08-030480 - Successful/unsuccessful uses of the chown, fchown, fchownat and lchown system calls in RHEL 8 must generate an audit record. - - Red Hat Enterprise Linux 8 - - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. +Off-loading is a common process in information systems with limited audit storage capacity. -Audit records can be generated from various components within the information system (e.g., module or policy filter). -The "chown" command is used to change file owner and group. -The "fchown" system call is used to change the ownership of a file referred to by the open file descriptor. -The "fchownat" system call is used to change ownership of a file relative to a directory file descriptor. -The "lchown" system call is used to change the ownership of the file specified by a path, which does not dereference symbolic links. +RHEL 8 installation media provides "rsyslogd". "rsyslogd" is a system utility providing support for message logging. Support for both internet and UNIX domain sockets enables this utility to support both local and remote logging. Couple this utility with "rsyslog-gnutls" (which is a secure communications library implementing the SSL, TLS and DTLS protocols), and you have a method to securely encrypt and off-load auditing. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. -The system call rules are loaded into a matching engine that intercepts each syscall that all programs on the system makes. Therefore, it is very important to only use syscall rules when you have to since these affect performance. The more rules, the bigger the performance hit. You can help the performance, though, by combining syscalls into one rule whenever possible. +Rsyslog provides three ways to forward message: the traditional UDP transport, which is extremely lossy but standard; the plain TCP based transport, which loses messages only during certain situations but is widely available; and the RELP transport, which does not lose messages but is currently available only as part of the rsyslogd 3.15.0 and above. +Examples of each configuration: +UDP *.* @remotesystemname +TCP *.* @@remotesystemname +RELP *.* :omrelp:remotesystemname:2514 +Note that a port number was given as there is no standard port for RELP. - - - - - - - - - + - + - RHEL-08-030490 - Successful/unsuccessful uses of the chmod, fchmod and fchmodat system calls in RHEL 8 must generate an audit record. + RHEL-08-030700 - RHEL 8 must take appropriate action when the internal event queue is full. Red Hat Enterprise Linux 8 - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + Information stored in one location is vulnerable to accidental or incidental deletion or alteration. -Audit records can be generated from various components within the information system (e.g., module or policy filter). -The "chmod" command system call changes the file mode bits of each given file according to mode, which can be either a symbolic representation of changes to make, or an octal number representing the bit pattern for the new mode bits. -The "fchmod" system call is used to change permissions of a file. -The "fchmodat" system call is used to change permissions of a file relative to a directory file descriptor. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. -The system call rules are loaded into a matching engine that intercepts each syscall that all programs on the system makes. Therefore, it is very important to only use syscall rules when you have to since these affect performance. The more rules, the bigger the performance hit. You can help the performance, though, by combining syscalls into one rule whenever possible. +Off-loading is a common process in information systems with limited audit storage capacity. + +RHEL 8 installation media provides "rsyslogd". "rsyslogd" is a system utility providing support for message logging. Support for both internet and UNIX domain sockets enables this utility to support both local and remote logging. Couple this utility with "gnutls" (which is a secure communications library implementing the SSL, TLS and DTLS protocols), and you have a method to securely encrypt and off-load auditing. + +Satisfies: SRG-OS-000342-GPOS-00133, SRG-OS-000479-GPOS-00224 - - - - - - - + - + - RHEL-08-030550 - Successful/unsuccessful uses of the sudo command in RHEL 8 must generate an audit record. + RHEL-08-030720 - RHEL 8 must authenticate the remote logging server for off-loading audit logs. Red Hat Enterprise Linux 8 - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + Information stored in one location is vulnerable to accidental or incidental deletion or alteration. -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "sudo" command allows a permitted user to execute a command as the superuser or another user, as specified by the security policy. +Off-loading is a common process in information systems with limited audit storage capacity. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +RHEL 8 installation media provides "rsyslogd". "rsyslogd" is a system utility providing support for message logging. Support for both internet and UNIX domain sockets enables this utility to support both local and remote logging. Couple this utility with "gnutls" (which is a secure communications library implementing the SSL, TLS and DTLS protocols), and you have a method to securely encrypt and off-load auditing. + +"Rsyslog" supported authentication modes include: +anon - anonymous authentication +x509/fingerprint - certificate fingerprint authentication +x509/certvalid - certificate validation only +x509/name - certificate validation and subject name authentication. + +Satisfies: SRG-OS-000342-GPOS-00133, SRG-OS-000479-GPOS-00224 - - + - + - RHEL-08-030560 - Successful/unsuccessful uses of the usermod command in RHEL 8 must generate an audit record. + RHEL-08-030730 - RHEL 8 must take action when allocated audit record storage volume reaches 75 percent of the repository maximum audit record storage capacity. Red Hat Enterprise Linux 8 - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "usermod" command modifies the system account files to reflect the changes that are specified on the command line. - -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. + If security personnel are not notified immediately when storage volume reaches 75 percent utilization, they are unable to plan for audit record storage capacity expansion. - - + - + - RHEL-08-030570 - Successful/unsuccessful uses of the chacl command in RHEL 8 must generate an audit record. + RHEL-08-030741 - RHEL 8 must disable the chrony daemon from acting as a server. Red Hat Enterprise Linux 8 - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + Inaccurate time stamps make it more difficult to correlate events and can lead to an inaccurate analysis. Determining the correct time a particular event occurred on a system is critical when conducting forensic analysis and investigating system events. Sources outside the configured acceptable allowance (drift) may be inaccurate. -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "chacl" command is used to change the access control list of a file or directory. +Minimizing the exposure of the server functionality of the chrony daemon diminishes the attack surface. -When a user logs on, the AUID is set to the UID of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to "-1". The AUID representation is an unsigned 32-bit integer, which equals "4294967295". The audit system interprets "-1", "4294967295", and "unset" in the same way. +RHEL 8 utilizes the "timedatectl" command to view the status of the "systemd-timesyncd.service". The "timedatectl" status will display the local time, UTC, and the offset from UTC. + +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. - - + - + - RHEL-08-030580 - Successful/unsuccessful uses of the kmod command in RHEL 8 must generate an audit record. + RHEL-08-030742 - RHEL 8 must disable network management of the chrony daemon. Red Hat Enterprise Linux 8 - Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter). The "kmod" command is used to control Linux Kernel modules. - -The list of audited events is the set of events for which audits are to be generated. This set of events is typically a subset of the list of all events for which the system is capable of generating audit records. - -DoD has defined the list of events for which RHEL 8 will provide an audit record generation capability as the following: - -1) Successful and unsuccessful attempts to access, modify, or delete privileges, security objects, security levels, or categories of information (e.g., classification levels); + Inaccurate time stamps make it more difficult to correlate events and can lead to an inaccurate analysis. Determining the correct time a particular event occurred on a system is critical when conducting forensic analysis and investigating system events. Sources outside the configured acceptable allowance (drift) may be inaccurate. -2) Access actions, such as successful and unsuccessful logon attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logons from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system; +Not exposing the management interface of the chrony daemon on the network diminishes the attack space. -3) All account creations, modifications, disabling, and terminations; and +RHEL 8 utilizes the "timedatectl" command to view the status of the "systemd-timesyncd.service". The "timedatectl" status will display the local time, UTC, and the offset from UTC. -4) All kernel module load, unload, and restart actions. +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. - - + - + - RHEL-08-030600 - Successful/unsuccessful modifications to the lastlog file in RHEL 8 must generate an audit record. + RHEL-08-040000 - RHEL 8 must not have the telnet-server package installed. Red Hat Enterprise Linux 8 - Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter). - -The list of audited events is the set of events for which audits are to be generated. This set of events is typically a subset of the list of all events for which the system is capable of generating audit records. + 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. -DoD has defined the list of events for which RHEL 8 will provide an audit record generation capability as the following: +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 (e.g., key missions, functions). -1) Successful and unsuccessful attempts to access, modify, or delete privileges, security objects, security levels, or categories of information (e.g., classification levels); +Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled. -2) Access actions, such as successful and unsuccessful logon attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logons from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system; +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. -3) All account creations, modifications, disabling, and terminations; and +The telnet service provides an unencrypted remote access service that does not provide for the confidentiality and integrity of user passwords or the remote session. -4) All kernel module load, unload, and restart actions. +If a privileged user were to log on using this service, the privileged user password could be compromised. - - + - + - RHEL-08-030610 - RHEL 8 must allow only the Information System Security Manager (ISSM) (or individuals or roles appointed by the ISSM) to select which auditable events are to be audited. + RHEL-08-040001 - RHEL 8 must not have any automated bug reporting tools installed. Red Hat Enterprise Linux 8 - Without the capability to restrict the roles and individuals that can select which events are audited, unauthorized personnel may be able to prevent the auditing of critical events. Misconfigured audits may degrade the system's performance by overwhelming the audit log. Misconfigured audits may also make it more difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + 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. + +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 (e.g., key missions, functions). + +Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled. + +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. - - + - + - RHEL-08-030620 - RHEL 8 audit tools must have a mode of 0755 or less permissive. + RHEL-08-040002 - RHEL 8 must not have the sendmail package installed. Red Hat Enterprise Linux 8 - Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information. + 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. -RHEL 8 systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools, and the corresponding rights the user enjoys, to make access decisions regarding the access to audit tools. +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 (e.g., key missions, functions). -Audit tools include, but are not limited to, vendor-provided and open source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators. +Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled. + +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. - + - + - RHEL-08-030630 - RHEL 8 audit tools must be owned by root. + RHEL-08-040004 - RHEL 8 must enable mitigations against processor-based vulnerabilities. Red Hat Enterprise Linux 8 - Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information. + 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. -RHEL 8 systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools, and the corresponding rights the user enjoys, to make access decisions regarding the access to audit tools. +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 (e.g., key missions, functions). -Audit tools include, but are not limited to, vendor-provided and open source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators. +Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled. + +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. + +Kernel page-table isolation is a kernel feature that mitigates the Meltdown security vulnerability and hardens the kernel against attempts to bypass kernel address space layout randomization (KASLR). - + - + - RHEL-08-030640 - RHEL 8 audit tools must be group-owned by root. + RHEL-08-040010 - RHEL 8 must not have the rsh-server package installed. Red Hat Enterprise Linux 8 - Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information. + 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. -RHEL 8 systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools, and the corresponding rights the user enjoys, to make access decisions regarding the access to audit tools. +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 (e.g., key missions, functions). -Audit tools include, but are not limited to, vendor-provided and open source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators. +The rsh-server service provides an unencrypted remote access service that does not provide for the confidentiality and integrity of user passwords or the remote session and has very weak authentication. + +If a privileged user were to log on using this service, the privileged user password could be compromised. + +Satisfies: SRG-OS-000095-GPOS-00049, SRG-OS-000074-GPOS-00042 - + - + - RHEL-08-030680 - RHEL 8 must have the packages required for encrypting offloaded audit logs installed. + RHEL-08-040021 - RHEL 8 must disable the asynchronous transfer mode (ATM) protocol. Red Hat Enterprise Linux 8 - Information stored in one location is vulnerable to accidental or incidental deletion or alteration. - -Off-loading is a common process in information systems with limited audit storage capacity. + 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. -RHEL 8 installation media provides "rsyslogd". "rsyslogd" is a system utility providing support for message logging. Support for both internet and UNIX domain sockets enables this utility to support both local and remote logging. Couple this utility with "rsyslog-gnutls" (which is a secure communications library implementing the SSL, TLS and DTLS protocols), and you have a method to securely encrypt and off-load auditing. +Failing to disconnect unused protocols can result in a system compromise. -Rsyslog provides three ways to forward message: the traditional UDP transport, which is extremely lossy but standard; the plain TCP based transport, which loses messages only during certain situations but is widely available; and the RELP transport, which does not lose messages but is currently available only as part of the rsyslogd 3.15.0 and above. -Examples of each configuration: -UDP *.* @remotesystemname -TCP *.* @@remotesystemname -RELP *.* :omrelp:remotesystemname:2514 -Note that a port number was given as there is no standard port for RELP. +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-030700 - RHEL 8 must take appropriate action when the internal event queue is full. + RHEL-08-040022 - RHEL 8 must disable the controller area network (CAN) protocol. Red Hat Enterprise Linux 8 - Information stored in one location is vulnerable to accidental or incidental deletion or alteration. + 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. -Off-loading is a common process in information systems with limited audit storage capacity. +Failing to disconnect unused protocols can result in a system compromise. -RHEL 8 installation media provides "rsyslogd". "rsyslogd" is a system utility providing support for message logging. Support for both internet and UNIX domain sockets enables this utility to support both local and remote logging. Couple this utility with "gnutls" (which is a secure communications library implementing the SSL, TLS and DTLS protocols), and you have a method to securely encrypt and off-load auditing. +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-030730 - RHEL 8 must take action when allocated audit record storage volume reaches 75 percent of the repository maximum audit record storage capacity. + RHEL-08-040023 - RHEL 8 must disable the stream control transmission protocol (SCTP). Red Hat Enterprise Linux 8 - If security personnel are not notified immediately when storage volume reaches 75 percent utilization, they are unable to plan for audit record storage capacity expansion. + 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-030741 - RHEL 8 must disable the chrony daemon from acting as a server. + RHEL-08-040024 - RHEL 8 must disable the transparent inter-process communication (TIPC) protocol. Red Hat Enterprise Linux 8 - Inaccurate time stamps make it more difficult to correlate events and can lead to an inaccurate analysis. Determining the correct time a particular event occurred on a system is critical when conducting forensic analysis and investigating system events. Sources outside the configured acceptable allowance (drift) may be inaccurate. - -Minimizing the exposure of the server functionality of the chrony daemon diminishes the attack surface. + 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. -RHEL 8 utilizes the "timedatectl" command to view the status of the "systemd-timesyncd.service". The "timedatectl" status will display the local time, UTC, and the offset from UTC. +Failing to disconnect unused protocols can result in a system compromise. -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. +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-030742 - RHEL 8 must disable network management of the chrony daemon. + RHEL-08-040025 - RHEL 8 must disable mounting of cramfs. Red Hat Enterprise Linux 8 - Inaccurate time stamps make it more difficult to correlate events and can lead to an inaccurate analysis. Determining the correct time a particular event occurred on a system is critical when conducting forensic analysis and investigating system events. Sources outside the configured acceptable allowance (drift) may be inaccurate. - -Not exposing the management interface of the chrony daemon on the network diminishes the attack space. + 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. -RHEL 8 utilizes the "timedatectl" command to view the status of the "systemd-timesyncd.service". The "timedatectl" status will display the local time, UTC, and the offset from UTC. +Removing support for unneeded filesystem types reduces the local attack surface of the server. -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. +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-040000 - RHEL 8 must not have the telnet-server package installed. + 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. -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 (e.g., key missions, functions). - -Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled. - -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. - -The telnet service provides an unencrypted remote access service 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. +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-040001 - RHEL 8 must not have any automated bug reporting tools installed. + RHEL-08-040070 - The RHEL 8 file system automounter must be disabled unless required. 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. - -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 (e.g., key missions, functions). - -Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled. - -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. + Automatically mounting file systems permits easy introduction of unknown devices, thereby facilitating malicious activity. - + - + - RHEL-08-040002 - RHEL 8 must not have the sendmail package installed. + RHEL-08-040080 - RHEL 8 must be configured to disable USB mass storage. 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. - -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 (e.g., key missions, functions). - -Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled. + USB mass storage permits easy introduction of unknown devices, thereby facilitating malicious activity. -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. +Satisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163 - + - + - RHEL-08-040010 - RHEL 8 must not have the rsh-server package installed. + RHEL-08-040100 - A firewall must be installed on RHEL 8. 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. + "Firewalld" provides an easy and effective way to block/limit remote access to the system via ports, services, and protocols. -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 (e.g., key missions, functions). +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. -The rsh-server service provides an unencrypted remote access service that does not provide for the confidentiality and integrity of user passwords or the remote session and has very weak authentication. +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. -If a privileged user were to log on using this service, the privileged user password could be compromised. +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). - + - + - RHEL-08-040060 - RHEL 8 must enforce SSHv2 for network access to all accounts. + RHEL-08-040111 - RHEL 8 Bluetooth must be disabled. 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. + 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. -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. +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. -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. +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. @@ -12721,11 +18938,10 @@ 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. - - + - + RHEL-08-040121 - RHEL 8 must mount /dev/shm with the nosuid option. @@ -12738,11 +18954,10 @@ 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. - - + - + RHEL-08-040122 - RHEL 8 must mount /dev/shm with the noexec option. @@ -12757,11 +18972,10 @@ 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. - - + - + RHEL-08-040123 - RHEL 8 must mount /tmp with the nodev option. @@ -12776,12 +18990,10 @@ 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. - - - + - + RHEL-08-040124 - RHEL 8 must mount /tmp with the nosuid option. @@ -12794,12 +19006,10 @@ 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. - - - + - + RHEL-08-040125 - RHEL 8 must mount /tmp with the noexec option. @@ -12814,12 +19024,10 @@ 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. - - - + - + RHEL-08-040126 - RHEL 8 must mount /var/log with the nodev option. @@ -12834,12 +19042,10 @@ 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. - - - + - + RHEL-08-040127 - RHEL 8 must mount /var/log with the nosuid option. @@ -12854,12 +19060,10 @@ 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. - - - + - + RHEL-08-040128 - RHEL 8 must mount /var/log with the noexec option. @@ -12874,12 +19078,10 @@ 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. - - - + - + RHEL-08-040129 - RHEL 8 must mount /var/log/audit with the nodev option. @@ -12894,12 +19096,10 @@ 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. - - - + - + RHEL-08-040130 - RHEL 8 must mount /var/log/audit with the nosuid option. @@ -12914,12 +19114,10 @@ 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. - - - + - + RHEL-08-040131 - RHEL 8 must mount /var/log/audit with the noexec option. @@ -12934,12 +19132,10 @@ 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. - - - + - + RHEL-08-040132 - RHEL 8 must mount /var/tmp with the nodev option. @@ -12954,11 +19150,10 @@ 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. - - + - + RHEL-08-040133 - RHEL 8 must mount /var/tmp with the nosuid option. @@ -12973,11 +19168,10 @@ 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. - - + - + RHEL-08-040134 - RHEL 8 must mount /var/tmp with the noexec option. @@ -12992,11 +19186,48 @@ 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. - - + + + + + + RHEL-08-040135 - The RHEL 8 fapolicy module must be installed. + + 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. + +Utilizing a whitelist provides a configuration management method for allowing the execution of only authorized software. Using only authorized software decreases risk by limiting the number of potential vulnerabilities. Verification of whitelisted software occurs prior to execution or at system startup. + +User home directories/folders may contain information of a sensitive nature. Non-privileged users should coordinate any sharing of information with an SA through shared resources. + +RHEL 8 ships with many optional packages. One such package is a file access policy daemon called "fapolicyd". "fapolicyd" is a userspace daemon that determines access rights to files based on attributes of the process and file. It can be used to either blacklist or whitelist processes or file access. + +Proceed with caution with enforcing the use of this daemon. Improper configuration may render the system non-functional. The "fapolicyd" API is not namespace aware and can cause issues when launching or running containers. + +Satisfies: SRG-OS-000368-GPOS-00154, SRG-OS-000370-GPOS-00155, SRG-OS-000480-GPOS-00232 + + + + + + + + RHEL-08-040150 - A firewall must be able to protect against or limit the effects of Denial of Service (DoS) attacks by ensuring RHEL 8 can implement rate-limiting measures on impacted network interfaces. + + Red Hat Enterprise Linux 8 + + DoS is a condition when a resource is not available for legitimate users. When this occurs, the organization either cannot accomplish its mission or must operate at degraded capacity. + +This requirement addresses the configuration of RHEL 8 to mitigate the impact of DoS attacks that have occurred or are ongoing on system availability. For each system, known and potential DoS attacks must be identified and solutions for each type implemented. A variety of technologies exists to limit or, in some cases, eliminate the effects of DoS attacks (e.g., limiting processes or establishing memory partitions). Employing increased capacity and bandwidth, combined with service redundancy, may reduce the susceptibility to some DoS attacks. + +Since version 0.6.0, "firewalld" has incorporated "nftables" as its backend support. Utilizing the limit statement in "nftables" can help to mitigate DoS attacks. + + + - + RHEL-08-040160 - All RHEL 8 networked systems must have and implement SSH to protect the confidentiality and integrity of transmitted and received information, as well as information during preparation for transmission. @@ -13006,16 +19237,17 @@ The "nosuid" mount option causes the system to not execute "setuid" and "setgid" This requirement applies to both internal and external networks and all types of information system components from which information can be transmitted (e.g., servers, mobile devices, notebook computers, printers, copiers, scanners, and facsimile machines). 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 organizational information can be accomplished by physical means (e.g., employing physical distribution systems) 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. +Protecting the confidentiality and integrity of organizational information can be accomplished by physical means (e.g., employing physical distribution systems) 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. + +Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000424-GPOS-00188, SRG-OS-000425-GPOS-00189, SRG-OS-000426-GPOS-00190 - - + - + - RHEL 8 must force a frequent session key renegotiation for SSH connections to the server. + RHEL-08-040161 - RHEL 8 must force a frequent session key renegotiation for SSH connections to the server. Red Hat Enterprise Linux 8 @@ -13025,14 +19257,39 @@ This requirement applies to both internal and external networks and all types of Protecting the confidentiality and integrity of organizational information can be accomplished by physical means (e.g., employing physical distribution systems) 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. -Session key regeneration limits the chances of a session key becoming compromised. +Session key regeneration limits the chances of a session key becoming compromised. + +Satisfies: SRG-OS-000033-GPOS-00014, SRG-OS-000420-GPOS-00186, SRG-OS-000424-GPOS-00188 + + + + + + + + RHEL-08-040170 - The x86 Ctrl-Alt-Delete key sequence must be disabled on RHEL 8. + + Red Hat Enterprise Linux 8 + + A locally logged-on user, who presses Ctrl-Alt-Delete when at the console, can reboot the system. If accidentally pressed, as could happen in the case of a mixed OS environment, this can create the risk of short-term loss of availability of systems due to unintentional reboot. In a graphical user environment, risk of unintentional reboot from the Ctrl-Alt-Delete sequence is reduced because the user will be prompted before any action is taken. + + + + + + + + RHEL-08-040171 - The x86 Ctrl-Alt-Delete key sequence in RHEL 8 must be disabled if a graphical user interface is installed. + + Red Hat Enterprise Linux 8 + + A locally logged-on user, who presses Ctrl-Alt-Delete, when at the console, can reboot the system. If accidentally pressed, as could happen in the case of a mixed OS environment, this can create the risk of short-term loss of availability of systems due to unintentional reboot. In a graphical user environment, risk of unintentional reboot from the Ctrl-Alt-Delete sequence is reduced because the user will be prompted before any action is taken. - - - + + - + RHEL-08-040172 - The systemd Ctrl-Alt-Delete burst key sequence in RHEL 8 must be disabled. @@ -13041,10 +19298,22 @@ Session key regeneration limits the chances of a session key becoming compromise A locally logged-on user who presses Ctrl-Alt-Delete when at the console can reboot the system. If accidentally pressed, as could happen in the case of a mixed OS environment, this can create the risk of short-term loss of availability of systems due to unintentional reboot. In a graphical user environment, risk of unintentional reboot from the Ctrl-Alt-Delete sequence is reduced because the user will be prompted before any action is taken. - + + + + + + RHEL-08-040180 - The debug-shell systemd service must be disabled on RHEL 8. + + Red Hat Enterprise Linux 8 + + The debug-shell requires no authentication and provides root privileges to anyone who has physical access to the machine. While this feature is disabled by default, masking it adds an additional layer of assurance that it will not be enabled via a dependency in systemd. This also prevents attackers with physical access from trivially bypassing security on the machine through valid troubleshooting configurations and gaining root access when the system is rebooted. + + + - + RHEL-08-040190 - The Trivial File Transfer Protocol (TFTP) server package must not be installed if not required for RHEL 8 operational support. @@ -13053,10 +19322,10 @@ Session key regeneration limits the chances of a session key becoming compromise 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. - + - + RHEL-08-040200 - The root account must be the only account having unrestricted access to the RHEL 8 system. @@ -13065,12 +19334,12 @@ Session key regeneration limits the chances of a session key becoming compromise 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. - + - + - RHEL-08-040210 - RHEL 8 must prevent Internet Control Message Protocol (ICMP) redirect messages from being accepted. + RHEL-08-040210 - RHEL 8 must prevent IPv6 Internet Control Message Protocol (ICMP) redirect messages from being accepted. Red Hat Enterprise Linux 8 @@ -13084,15 +19353,11 @@ The sysctl --system command will load settings from all system configuration fil /lib/sysctl.d/*.conf /etc/sysctl.conf - - - - - - + + - + RHEL-08-040220 - RHEL 8 must not send Internet Control Message Protocol (ICMP) redirects. @@ -13100,7 +19365,7 @@ The sysctl --system command will load settings from all system configuration fil ICMP redirect messages are used by routers to inform hosts that a more direct route exists for a particular destination. These messages contain information from the system's route table, possibly revealing portions of the network topology. - There are notable differences between Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6). There is only a directive to disable sending of IPv4 redirected packets. Refer to RFC4294 for an explanation of "IPv6 Node Requirements", which resulted in this difference between IPv4 and IPv6. +There are notable differences between Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6). There is only a directive to disable sending of IPv4 redirected packets. Refer to RFC4294 for an explanation of "IPv6 Node Requirements", which resulted in this difference between IPv4 and IPv6. The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. /etc/sysctl.d/*.conf @@ -13110,12 +19375,11 @@ The sysctl --system command will load settings from all system configuration fil /lib/sysctl.d/*.conf /etc/sysctl.conf - - - + + - + RHEL-08-040230 - RHEL 8 must not respond to Internet Control Message Protocol (ICMP) echoes sent to a broadcast address. @@ -13123,8 +19387,7 @@ The sysctl --system command will load settings from all system configuration fil Responding to broadcast ICMP echoes facilitates network mapping and provides a vector for amplification attacks. - There are notable differences between Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6). IPv6 does not implement the same method of broadcast as IPv4. Instead, IPv6 uses multicast addressing to the all-hosts multicast group. Refer to RFC4294 for an explanation of "IPv6 Node Requirements", which resulted in this difference between IPv4 and IPv6. - +There are notable differences between Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6). IPv6 does not implement the same method of broadcast as IPv4. Instead, IPv6 uses multicast addressing to the all-hosts multicast group. Refer to RFC4294 for an explanation of "IPv6 Node Requirements", which resulted in this difference between IPv4 and IPv6. The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. /etc/sysctl.d/*.conf /run/sysctl.d/*.conf @@ -13133,14 +19396,13 @@ The sysctl --system command will load settings from all system configuration fil /lib/sysctl.d/*.conf /etc/sysctl.conf - - - + + - + - RHEL-08-040240 - RHEL 8 must not forward source-routed packets. + RHEL-08-040240 - RHEL 8 must not forward IPv6 source-routed packets. Red Hat Enterprise Linux 8 @@ -13154,17 +19416,13 @@ The sysctl --system command will load settings from all system configuration fil /lib/sysctl.d/*.conf /etc/sysctl.conf - - - - - - + + - + - RHEL-08-040250 - RHEL 8 must not forward source-routed packets by default. + RHEL-08-040250 - RHEL 8 must not forward IPv6 source-routed packets by default. Red Hat Enterprise Linux 8 @@ -13178,17 +19436,13 @@ The sysctl --system command will load settings from all system configuration fil /lib/sysctl.d/*.conf /etc/sysctl.conf - - - - - - + + - + - RHEL-08-040260 - RHEL 8 must not be performing packet forwarding unless the system is a router. + RHEL-08-040260 - RHEL 8 must not enable IPv6 packet forwarding unless the system is a router. Red Hat Enterprise Linux 8 @@ -13202,15 +19456,11 @@ The sysctl --system command will load settings from all system configuration fil /lib/sysctl.d/*.conf /etc/sysctl.conf - - - - - - + + - + RHEL-08-040261 - RHEL 8 must not accept router advertisements on all IPv6 interfaces. @@ -13228,15 +19478,11 @@ The sysctl --system command will load settings from all system configuration fil /lib/sysctl.d/*.conf /etc/sysctl.conf - - - - - - + + - + RHEL-08-040262 - RHEL 8 must not accept router advertisements on all IPv6 interfaces by default. @@ -13254,15 +19500,11 @@ The sysctl --system command will load settings from all system configuration fil /lib/sysctl.d/*.conf /etc/sysctl.conf - - - - - - + + - + RHEL-08-040270 - RHEL 8 must not allow interfaces to perform Internet Control Message Protocol (ICMP) redirects by default. @@ -13281,11 +19523,10 @@ The sysctl --system command will load settings from all system configuration fil /etc/sysctl.conf - - + - + RHEL-08-040280 - RHEL 8 must ignore IPv6 Internet Control Message Protocol (ICMP) redirect messages. @@ -13301,15 +19542,11 @@ The sysctl --system command will load settings from all system configuration fil /lib/sysctl.d/*.conf /etc/sysctl.conf - - - - - - + + - + RHEL-08-040281 - RHEL 8 must disable access to network bpf syscall from unprivileged processes. @@ -13325,14 +19562,13 @@ The sysctl --system command will load settings from all system configuration fil /lib/sysctl.d/*.conf /etc/sysctl.conf - - - + + - + - RHEL-08-040282 - RHEL 8 must restrict usage of ptrace to descendant processes. + RHEL-08-040282 - RHEL 8 must restrict usage of ptrace to descendant processes. Red Hat Enterprise Linux 8 @@ -13346,12 +19582,11 @@ The sysctl --system command will load settings from all system configuration fil /lib/sysctl.d/*.conf /etc/sysctl.conf - - - + + - + RHEL-08-040283 - RHEL 8 must restrict exposed kernel pointer addresses access. @@ -13368,11 +19603,10 @@ The sysctl --system command will load settings from all system configuration fil /etc/sysctl.conf - - + - + RHEL-08-040284 - RHEL 8 must disable the use of user namespaces. @@ -13389,11 +19623,10 @@ The sysctl --system command will load settings from all system configuration fil /etc/sysctl.conf - - + - + RHEL-08-040285 - RHEL 8 must use reverse path filtering on all IPv4 interfaces. @@ -13410,11 +19643,10 @@ The sysctl --system command will load settings from all system configuration fil /etc/sysctl.conf - - + - + RHEL-08-040290 - RHEL 8 must be configured to prevent unrestricted mail relaying. @@ -13422,40 +19654,65 @@ The sysctl --system command will load settings from all system configuration fil 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. - - - + + + + + + + RHEL-08-040320 - The graphical display manager must not be installed on RHEL 8 unless approved. + + Red Hat Enterprise Linux 8 + + Internet services that are not required for system or application processes must not be active to decrease the attack surface of the system. Graphical display managers have a long history of security vulnerabilities and must not be used, unless approved and documented. + + + + + + + + RHEL-08-040330 - RHEL 8 network interfaces must not be in promiscuous mode. + + Red Hat Enterprise Linux 8 + + Network interfaces in promiscuous mode allow for the capture of all network traffic visible to the system. If unauthorized individuals can access these applications, it may allow them to collect information such as logon IDs, passwords, and key exchanges between systems. + +If the system is being used to perform a network troubleshooting function, the use of these tools must be documented with the Information System Security Officer (ISSO) and restricted to only authorized personnel. + + + - + RHEL-08-040340 - RHEL 8 remote X connections for interactive users must be disabled unless to fulfill documented and validated mission requirements. Red Hat Enterprise Linux 8 - The security risk of using X11 forwarding is that the client's X11 display server may be exposed to attack when the SSH client requests forwarding. A system administrator may have a stance in which they want to protect clients that may expose themselves to attack by unwittingly requesting X11 forwarding, which can warrant a ''no'' setting. + The security risk of using X11 forwarding is that the client's X11 display server may be exposed to attack when the SSH client requests forwarding. A system administrator may have a stance in which they want to protect clients that may expose themselves to attack by unwittingly requesting X11 forwarding, which can warrant a "no" setting. + X11 forwarding should be enabled with caution. Users with the ability to bypass file permissions on the remote host (for the user's X11 authorization database) can access the local X11 display through the forwarded connection. An attacker may then be able to perform activities such as keystroke monitoring if the ForwardX11Trusted option is also enabled. -If X11 services are not required for the system's intended function, they should be disabled or restricted as appropriate to the system's needs. + +If X11 services are not required for the system's intended function, they should be disabled or restricted as appropriate to the system’s needs. - - - + + - + RHEL-08-040341 - The RHEL 8 SSH daemon must prevent remote hosts from connecting to the proxy display. Red Hat Enterprise Linux 8 - When X11 forwarding is enabled, there may be additional exposure to the server and client displays if the sshd proxy display is configured to listen on the wildcard address. By default, sshd binds the forwarding server to the loopback address and sets the hostname part of the DIPSLAY environment variable to localhost. This prevents remote hosts from connecting to the proxy display. + When X11 forwarding is enabled, there may be additional exposure to the server and client displays if the sshd proxy display is configured to listen on the wildcard address. By default, sshd binds the forwarding server to the loopback address and sets the hostname part of the DIPSLAY environment variable to localhost. This prevents remote hosts from connecting to the proxy display. - - - + + - + RHEL-08-040350 - If the Trivial File Transfer Protocol (TFTP) server is required, the RHEL 8 TFTP daemon must be configured to operate in secure mode. @@ -13463,12 +19720,11 @@ If X11 services are not required for the system's intended function, they should Restricting TFTP to a specific directory prevents remote users from copying, transferring, or overwriting system files. - - - + + - + RHEL-08-040360 - A File Transfer Protocol (FTP) server package must not be installed unless mission essential on RHEL 8. @@ -13477,12 +19733,12 @@ If X11 services are not required for the system's intended function, they should 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. - + - + - RHEL-08-040380 - The iprutils package must not be installed unless mission essential on RHEL 8. + RHEL-08-040370 - The gssproxy package must not be installed unless mission essential on RHEL 8. Red Hat Enterprise Linux 8 @@ -13490,15 +19746,15 @@ If X11 services are not required for the system's intended function, they should 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 (e.g., key missions, functions). -The iprutils package provides a suite of utilities to manage and configure SCSI devices supported by the ipr SCSI storage device driver. +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. - + - + - RHEL-08-040390 - The tuned package must not be installed unless mission essential on RHEL 8. + RHEL-08-040380 - The iprutils package must not be installed unless mission essential on RHEL 8. Red Hat Enterprise Linux 8 @@ -13506,36 +19762,29 @@ The iprutils package provides a suite of utilities to manage and configure SCSI 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 (e.g., key missions, functions). -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. +The iprutils package provides a suite of utilities to manage and configure SCSI devices supported by the ipr SCSI storage device driver. - + - + - RHEL-08-030670 - RHEL 8 must have the packages required for offloading audit logs installed. + RHEL-08-040390 - The tuned package must not be installed unless mission essential on RHEL 8. Red Hat Enterprise Linux 8 - Information stored in one location is vulnerable to accidental or incidental deletion or alteration. - -Off-loading is a common process in information systems with limited audit storage capacity. + 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. -RHEL 8 installation media provides "rsyslogd". "rsyslogd" is a system utility providing support for message logging. Support for both internet and UNIX domain sockets enables this utility to support both local and remote logging. Couple this utility with "gnutls" (which is a secure communications library implementing the SSL, TLS and DTLS protocols), and you have a method to securely encrypt and off-load auditing. +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 (e.g., key missions, functions). -Rsyslog provides three ways to forward message: the traditional UDP transport, which is extremely lossy but standard; the plain TCP based transport, which loses messages only during certain situations but is widely available; and the RELP transport, which does not lose messages but is currently available only as part of the rsyslogd 3.15.0 and above. -Examples of each configuration: -UDP *.* @remotesystemname -TCP *.* @@remotesystemname -RELP *.* :omrelp:remotesystemname:2514 -Note that a port number was given as there is no standard port for RELP. +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. - + - + RHEL-08-010163 - The krb5-server package must not be installed on RHEL 8. @@ -13549,12 +19798,11 @@ 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. - - - + + - + RHEL-08-010382 - RHEL 8 must restrict privilege elevation to authorized personnel. @@ -13562,12 +19810,11 @@ FIPS 140-2 is the current standard for validating that mechanisms used to access 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. - - - + + - + RHEL-08-010383 - RHEL 8 must use the invoking user's password for privilege escalation when using "sudo". @@ -13576,22 +19823,11 @@ FIPS 140-2 is the current standard for validating that mechanisms used to access The sudoers security policy requires that users authenticate themselves before they can use sudo. When sudoers requires authentication, it validates the invoking user's credentials. If the rootpw, targetpw, or runaspw flags are defined and not disabled, by default the operating system will prompt the invoking user for the "root" user password. For more information on each of the listed configurations, reference the sudoers(5) manual page. - - - - - - - - - - - - - + + - + RHEL-08-010384 - RHEL 8 must require re-authentication when using the "sudo" command. @@ -13604,92 +19840,40 @@ When operating systems provide the capability to escalate a functional capabilit If the value is set to an integer less than 0, the user's time stamp will not expire and the user will not have to re-authenticate for privileged actions until the user's session is terminated. - - - - - - RHEL-08-020332 - RHEL 8 must not allow blank or null passwords in the password-auth file. - - Red Hat Enterprise Linux 8 - - 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. - - - + - + - RHEL-08-040286 - RHEL 8 must enable hardening for the Berkeley Packet Filter Just-in-time compiler. + RHEL-08-010049 - RHEL 8 must display a banner before granting local or remote access to the system via a graphical user logon. 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. + Display of a standardized and approved use notification before granting access to the operating system ensures privacy and security notification verbiage used is consistent with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance. -Enabling hardening for the Berkeley Packet Filter (BPF) Just-in-time (JIT) compiler aids in mitigating JIT spraying attacks. Setting the value to "2" enables JIT hardening for all users. - -The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. -/etc/sysctl.d/*.conf -/run/sysctl.d/*.conf -/usr/local/lib/sysctl.d/*.conf -/usr/lib/sysctl.d/*.conf -/lib/sysctl.d/*.conf -/etc/sysctl.conf - - - - - - - - - RHEL-08-010121 - The RHEL 8 operating system must not have accounts configured with blank or null passwords. - - Red Hat Enterprise Linux 8 - - 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. - - - - - - - - RHEL-08-010000 - RHEL 8 must be a vendor-supported release. - - Red Hat Enterprise Linux 8 - - 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. +System use notifications are required only for access via logon interfaces with human users and are not required when such human interfaces do not exist. -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. +Satisfies: SRG-OS-000023-GPOS-00006, SRG-OS-000228-GPOS-00088 - + - + - 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. + RHEL-08-010152 - RHEL 8 operating systems must require authentication upon booting into emergency mode. 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 + 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. - + - + - 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. + 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 @@ -13700,12 +19884,12 @@ RHEL 8 systems utilizing encryption are required to use FIPS-compliant mechanism 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. + RHEL-08-010201 - The RHEL 8 SSH daemon must be configured with a timeout interval. Red Hat Enterprise Linux 8 @@ -13718,468 +19902,433 @@ RHEL 8 utilizes /etc/ssh/sshd_config for configurations of OpenSSH. Within the s Satisfies: SRG-OS-000163-GPOS-00072, SRG-OS-000126-GPOS-00066, SRG-OS-000279-GPOS-00109 - - - - - - RHEL-08-010300 - RHEL 8 system commands must have mode 755 or less permissive. - - Red Hat Enterprise Linux 8 - - If RHEL 8 were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. - -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. - - - + - + - RHEL-08-010371 - RHEL 8 must prevent the installation of software, patches, service packs, device drivers, or operating system components of local packages without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. + RHEL-08-010472 - RHEL 8 must have the packages required to use the hardware random number generator entropy gatherer service. Red Hat Enterprise Linux 8 - Changes to any software components can have significant effects on the overall security of the operating system. This requirement ensures the software has not been tampered with and that it has been provided by a trusted vendor. - -Accordingly, patches, service packs, device drivers, or operating system components must be signed with a certificate recognized and approved by the organization. + The most important characteristic of a random number generator is its randomness, namely its ability to deliver random numbers that are impossible to predict. Entropy in computer security is associated with the unpredictability of a source of randomness. The random source with high entropy tends to achieve a uniform distribution of random values. Random number generators are one of the most important building blocks of cryptosystems. -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. +The rngd service feeds random data from hardware device to kernel random device. Quality (non-predictable) random number generation is important for several security functions (i.e., ciphers). - + - + - RHEL-08-010450 - RHEL 8 must enable the SELinux targeted policy. + RHEL-08-010522 - The RHEL 8 SSH daemon must not allow GSSAPI authentication, except to fulfill documented and validated mission requirements. 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. + Configuring this setting for the SSH daemon provides additional assurance that remote logon via SSH will require a password, even in the event of misconfiguration elsewhere. - + - + - RHEL-08-010540 - RHEL 8 must use a separate file system for /var. + RHEL-08-010544 - RHEL 8 must use a separate file system for /var/tmp. Red Hat Enterprise Linux 8 The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing. - + - + - RHEL-08-010541 - RHEL 8 must use a separate file system for /var/log. + RHEL-08-010572 - RHEL 8 must prevent files with the setuid and setgid bit set from being executed on the /boot/efi directory. Red Hat Enterprise Linux 8 - The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing. + 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. - + - + - RHEL-08-020024 - RHEL 8 must limit the number of concurrent sessions to ten for all accounts and/or account types. + RHEL-08-020032 - RHEL 8 must disable the user list at logon for graphical user interfaces. Red Hat Enterprise Linux 8 - Operating system management includes the ability to control the number of users and user sessions that utilize an operating system. Limiting the number of allowed users and sessions per user is helpful in reducing the risks related to DoS attacks. - -This requirement addresses concurrent sessions for information system accounts and does not address concurrent sessions by single users via multiple system accounts. The maximum number of concurrent sessions should be defined based on mission needs and the operational environment for each system. + Leaving the user list enabled is a security risk since it allows anyone with physical access to the system to enumerate known user accounts without authenticated access to the system. - + - + - RHEL-08-020100 - RHEL 8 must ensure the password complexity module is enabled in the password-auth file. + RHEL-08-020082 - RHEL 8 must prevent a user from overriding the screensaver lock-enabled setting for the graphical user interface. Red Hat Enterprise Linux 8 - Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. "pwquality" enforces complex password construction configuration and has the ability to limit brute-force attacks on the system. + A session time-out 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 log out because of the temporary nature of the absence. Rather than relying on the user to manually lock their operating system session prior to vacating the vicinity, operating systems need to be able to identify when a user's session has idled and take action to initiate the session lock. -RHEL 8 utilizes "pwquality" as a mechanism to enforce password complexity. This is set in both: -/etc/pam.d/password-auth -/etc/pam.d/system-auth - - - - - - - - RHEL-08-020110 - RHEL 8 must enforce password complexity by requiring that at least one uppercase character be used. - - Red Hat Enterprise Linux 8 - - Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. +The session lock is implemented at the point where session activity can be determined and/or controlled. -Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. +Implementing session settings will have little value if a user is able to manipulate these settings from the defaults prescribed in the other requirements of this implementation guide. -RHEL 8 utilizes pwquality as a mechanism to enforce password complexity. Note that in order to require uppercase characters, without degrading the "minlen" value, the credit value must be expressed as a negative number in "/etc/security/pwquality.conf". +Locking these settings from non-privileged users is crucial to maintaining a protected baseline. + +Satisfies: SRG-OS-000029-GPOS-00010, SRG-OS-000031-GPOS-00012, SRG-OS-000480-GPOS-00227 - + - + - RHEL-08-020120 - RHEL 8 must enforce password complexity by requiring that at least one lower-case character be used. + RHEL-08-020332 - RHEL 8 must not allow blank or null passwords in the password-auth file. Red Hat Enterprise Linux 8 - Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. - -Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. - -RHEL 8 utilizes pwquality as a mechanism to enforce password complexity. Note that in order to require lower-case characters without degrading the "minlen" value, the credit value must be expressed as a negative number in "/etc/security/pwquality.conf". + 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. - + - + - RHEL-08-020130 - RHEL 8 must enforce password complexity by requiring that at least one numeric character be used. + RHEL-08-030181 - RHEL 8 audit records must contain information to establish what type of events occurred, the source of events, where events occurred, and the outcome of events. Red Hat Enterprise Linux 8 - Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. + Without establishing what type of events occurred, the source of events, where events occurred, and the outcome of events, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. -Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. +Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. -RHEL 8 utilizes "pwquality" as a mechanism to enforce password complexity. Note that in order to require numeric characters, without degrading the minlen value, the credit value must be expressed as a negative number in "/etc/security/pwquality.conf". +Associating event types with detected events in RHEL 8 audit logs provides a means of investigating an attack, recognizing resource utilization or capacity thresholds, or identifying an improperly configured RHEL 8 system. + +Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000038-GPOS-00016, SRG-OS-000039-GPOS-00017, SRG-OS-000040-GPOS-00018, SRG-OS-000041-GPOS-00019, SRG-OS-000042-GPOS-00021, SRG-OS-000051-GPOS-00024, SRG-OS-000054-GPOS-00025, SRG-OS-000122-GPOS-00063, SRG-OS-000254-GPOS-00095, SRG-OS-000255-GPOS-00096, SRG-OS-000337-GPOS-00129, SRG-OS-000348-GPOS-00136, SRG-OS-000349-GPOS-00137, SRG-OS-000350-GPOS-00138, SRG-OS-000351-GPOS-00139, SRG-OS-000352-GPOS-00140, SRG-OS-000353-GPOS-00141, SRG-OS-000354-GPOS-00142, SRG-OS-000358-GPOS-00145, SRG-OS-000365-GPOS-00152, SRG-OS-000392-GPOS-00172, SRG-OS-000475-GPOS-00220 - + - + - RHEL-08-020140 - RHEL 8 must require the maximum number of repeating characters of the same character class be limited to four when passwords are changed. + RHEL-08-030731 - RHEL 8 must notify the System Administrator (SA) and Information System Security Officer (ISSO) (at a minimum) when allocated audit record storage volume 75 percent utilization. Red Hat Enterprise Linux 8 - Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. - -Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. - -RHEL 8 utilizes "pwquality" as a mechanism to enforce password complexity. The "maxclassrepeat" option sets the maximum number of allowed same consecutive characters in the same class in the new password. + If security personnel are not notified immediately when storage volume reaches 75 percent utilization, they are unable to plan for audit record storage capacity expansion. - + - + - RHEL-08-020150 - RHEL 8 must require the maximum number of repeating characters be limited to three when passwords are changed. + RHEL-08-040101 - A firewall must be active on RHEL 8. Red Hat Enterprise Linux 8 - Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. + "Firewalld" provides an easy and effective way to block/limit remote access to the system via ports, services, and protocols. -Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. +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. -RHEL 8 utilizes "pwquality" as a mechanism to enforce password complexity. The "maxrepeat" option sets the maximum number of allowed same consecutive characters in a new password. +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). - + - + - RHEL-08-020160 - RHEL 8 must require the change of at least four character classes when passwords are changed. + RHEL-08-040136 - The RHEL 8 fapolicy module must be enabled. Red Hat Enterprise Linux 8 - Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. + 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. -Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. +Utilizing a whitelist provides a configuration management method for allowing the execution of only authorized software. Using only authorized software decreases risk by limiting the number of potential vulnerabilities. Verification of whitelisted software occurs prior to execution or at system startup. -RHEL 8 utilizes "pwquality" as a mechanism to enforce password complexity. The "minclass" option sets the minimum number of required classes of characters for the new password (digits, uppercase, lowercase, others). - - - - - - - - RHEL-08-020170 - RHEL 8 must require the change of at least 8 characters when passwords are changed. - - Red Hat Enterprise Linux 8 - - Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. +User home directories/folders may contain information of a sensitive nature. Non-privileged users should coordinate any sharing of information with an SA through shared resources. -Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. +RHEL 8 ships with many optional packages. One such package is a file access policy daemon called "fapolicyd". "fapolicyd" is a userspace daemon that determines access rights to files based on attributes of the process and file. It can be used to either blacklist or whitelist processes or file access. -RHEL 8 utilizes "pwquality" as a mechanism to enforce password complexity. The "difok" option sets the number of characters in a password that must not be present in the old password. +Proceed with caution with enforcing the use of this daemon. Improper configuration may render the system non-functional. The "fapolicyd" API is not namespace aware and can cause issues when launching or running containers. + +Satisfies: SRG-OS-000368-GPOS-00154, SRG-OS-000370-GPOS-00155, SRG-OS-000480-GPOS-00232 - + - + - RHEL-08-020210 - RHEL 8 user account passwords must be configured so that existing passwords are restricted to a 60-day maximum lifetime. + RHEL-08-040139 - RHEL 8 must have the USBGuard installed. 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. + Without authenticating devices, unidentified or unknown devices may be introduced, thereby facilitating malicious activity. +Peripherals include, but are not limited to, such devices as flash drives, external storage, and printers. +A new feature that RHEL 8 provides is the USBGuard software framework. The USBguard-daemon is the main component of the USBGuard software framework. It runs as a service in the background and enforces the USB device authorization policy for all USB devices. The policy is defined by a set of rules using a rule language described in the usbguard-rules.conf file. The policy and the authorization state of USB devices can be modified during runtime using the usbguard tool. + +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. - + - + - RHEL-08-020230 - RHEL 8 passwords must have a minimum of 15 characters. + RHEL-08-040141 - RHEL 8 must enable the USBGuard. Red Hat Enterprise Linux 8 - The shorter the password, the lower the number of possible combinations that need to be tested before the password is compromised. - -Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password length is one factor of several that helps to determine strength and how long it takes to crack a password. Use of more characters in a password helps to increase exponentially the time and/or resources required to compromise the password. + Without authenticating devices, unidentified or unknown devices may be introduced, thereby facilitating malicious activity. -RHEL 8 utilizes "pwquality" as a mechanism to enforce password complexity. Configurations are set in the "etc/security/pwquality.conf" file. +Peripherals include, but are not limited to, such devices as flash drives, external storage, and printers. -The "minlen", sometimes noted as minimum length, acts as a "score" of complexity based on the credit components of the "pwquality" module. By setting the credit components to a negative value, not only will those components be required, they will not count towards the total "score" of "minlen". This will enable "minlen" to require a 15-character minimum. +A new feature that RHEL 8 provides is the USBGuard software framework. The USBguard-daemon is the main component of the USBGuard software framework. It runs as a service in the background and enforces the USB device authorization policy for all USB devices. The policy is defined by a set of rules using a rule language described in the usbguard-rules.conf file. The policy and the authorization state of USB devices can be modified during runtime using the usbguard tool. -The DoD minimum password requirement is 15 characters. +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. - + - + - RHEL-08-020280 - All RHEL 8 passwords must contain at least one special character. + RHEL-08-040159 - All RHEL 8 networked systems must have SSH installed. Red Hat Enterprise Linux 8 - Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. - -Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. + Without protection of the transmitted information, confidentiality and integrity may be compromised because unprotected communications can be intercepted and either read or altered. -RHEL 8 utilizes "pwquality" as a mechanism to enforce password complexity. Note that to require special characters without degrading the "minlen" value, the credit value must be expressed as a negative number in "/etc/security/pwquality.conf". - - - - - - - - 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. +This requirement applies to both internal and external networks and all types of information system components from which information can be transmitted (e.g., servers, mobile devices, notebook computers, printers, copiers, scanners, and facsimile machines). Communication paths outside the physical protection of a controlled boundary are exposed to the possibility of interception and modification. -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. +Protecting the confidentiality and integrity of organizational information can be accomplished by physical means (e.g., employing physical distribution systems) 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. + +Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000424-GPOS-00188, SRG-OS-000425-GPOS-00189, SRG-OS-000426-GPOS-00190 - + - + - RHEL-08-020340 - RHEL 8 must display the date and time of the last successful account logon upon logon. + RHEL-08-040209 - RHEL 8 must prevent IPv4 Internet Control Message Protocol (ICMP) redirect messages from being accepted. Red Hat Enterprise Linux 8 - Providing users with feedback on when account accesses last occurred facilitates user recognition and reporting of unauthorized account use. + ICMP redirect messages are used by routers to inform hosts that a more direct route exists for a particular destination. These messages modify the host's route table and are unauthenticated. An illicit ICMP redirect message could result in a man-in-the-middle attack. + +The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. +/etc/sysctl.d/*.conf +/run/sysctl.d/*.conf +/usr/local/lib/sysctl.d/*.conf +/usr/lib/sysctl.d/*.conf +/lib/sysctl.d/*.conf +/etc/sysctl.conf - + - + - RHEL-08-030070 - RHEL 8 audit logs must have a mode of 0600 or less permissive to prevent unauthorized read access. + RHEL-08-040239 - RHEL 8 must not forward IPv4 source-routed packets. Red Hat Enterprise Linux 8 - Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 8 system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. - -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. + Source-routed packets allow the source of the packet to suggest that routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures. This requirement applies only to the forwarding of source-routed traffic, such as when forwarding is enabled and the system is functioning as a router. -Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029, SRG-OS-000206-GPOS-00084 +The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. +/etc/sysctl.d/*.conf +/run/sysctl.d/*.conf +/usr/local/lib/sysctl.d/*.conf +/usr/lib/sysctl.d/*.conf +/lib/sysctl.d/*.conf +/etc/sysctl.conf - + - + - RHEL-08-040021 - RHEL 8 must disable the asynchronous transfer mode (ATM) protocol. + RHEL-08-040249 - RHEL 8 must not forward IPv4 source-routed packets by default. 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. + Source-routed packets allow the source of the packet to suggest that routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures. This requirement applies only to the forwarding of source-routed traffic, such as when forwarding is enabled and the system is functioning as a router. -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. +The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. +/etc/sysctl.d/*.conf +/run/sysctl.d/*.conf +/usr/local/lib/sysctl.d/*.conf +/usr/lib/sysctl.d/*.conf +/lib/sysctl.d/*.conf +/etc/sysctl.conf - + - + - RHEL-08-040022 - RHEL 8 must disable the controller area network (CAN) protocol. + RHEL-08-040279 - RHEL 8 must ignore IPv4 Internet Control Message Protocol (ICMP) redirect messages. 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. + ICMP redirect messages are used by routers to inform hosts that a more direct route exists for a particular destination. These messages modify the host's route table and are unauthenticated. An illicit ICMP redirect message could result in a man-in-the-middle attack. -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 sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. +/etc/sysctl.d/*.conf +/run/sysctl.d/*.conf +/usr/local/lib/sysctl.d/*.conf +/usr/lib/sysctl.d/*.conf +/lib/sysctl.d/*.conf +/etc/sysctl.conf - + - + - RHEL-08-040023 - RHEL 8 must disable the stream control transmission protocol (SCTP). + RHEL-08-040286 - RHEL 8 must enable hardening for the Berkeley Packet Filter Just-in-time compiler. 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. +Enabling hardening for the Berkeley Packet Filter (BPF) Just-in-time (JIT) compiler aids in mitigating JIT spraying attacks. Setting the value to "2" enables JIT hardening for all users. -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. +The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. Files are read from directories in the following list from top to bottom. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored. +/etc/sysctl.d/*.conf +/run/sysctl.d/*.conf +/usr/local/lib/sysctl.d/*.conf +/usr/lib/sysctl.d/*.conf +/lib/sysctl.d/*.conf +/etc/sysctl.conf - + - + - RHEL-08-040024 - RHEL 8 must disable the transparent inter-process communication (TIPC) protocol. + RHEL-08-010121 - The RHEL 8 operating system must not have accounts configured with blank or null passwords. 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. + 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. - + - + - RHEL-08-040025 - RHEL 8 must disable mounting of cramfs. + RHEL-08-010331 - RHEL 8 library directories must have mode 755 or less permissive. 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. + If RHEL 8 were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. -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. +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. - + - + - RHEL-08-040026 - RHEL 8 must disable IEEE 1394 (FireWire) Support. + RHEL-08-010341 - RHEL 8 library directories must be owned by root. 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. + If RHEL 8 were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. -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. +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. - + - + - RHEL-08-040080 - RHEL 8 must be configured to disable USB mass storage. + RHEL-08-010351 - RHEL 8 library directories must be group-owned by root or a system account. Red Hat Enterprise Linux 8 - USB mass storage permits easy introduction of unknown devices, thereby facilitating malicious activity. + If RHEL 8 were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. -Satisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163 +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. - + - + - RHEL-08-040111 - RHEL 8 Bluetooth must be disabled. + RHEL-08-010385 - The RHEL 8 operating system must not be configured to bypass password requirements for privilege escalation. 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. + Without re-authentication, users may access resources or perform tasks for which they do not have authorization. -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. +When operating systems provide the capability to escalate a functional capability, it is critical the user re-authenticate. -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. +Satisfies: SRG-OS-000373-GPOS-00156, SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPOS-00158 - + - + - RHEL-08-040370 - The gssproxy package must not be installed unless mission essential on RHEL 8. + RHEL-08-020101 - RHEL 8 must ensure the password complexity module is enabled in the system-auth file. 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. - -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 (e.g., key missions, functions). + Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. "pwquality" enforces complex password construction configuration and has the ability to limit brute-force attacks on the system. -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. +RHEL 8 uses "pwquality" as a mechanism to enforce password complexity. This is set in both: +/etc/pam.d/password-auth +/etc/pam.d/system-auth - + - + - 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. + 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. 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. + Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. "pwquality" enforces complex password construction configuration and has the ability to limit brute-force attacks on the system. -RHEL 8 systems utilizing encryption are required to use FIPS-compliant mechanisms for authenticating to cryptographic modules. +RHEL 8 uses "pwquality" as a mechanism to enforce password complexity. This is set in both: +/etc/pam.d/password-auth +/etc/pam.d/system-auth -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. +By limiting the number of attempts to meet the pwquality module complexity requirements before returning with an error, the system will audit abnormal attempts at password changes. - + - + - 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. + RHEL-08-020103 - RHEL 8 systems below version 8.4 must ensure the password complexity module in the password-auth file is configured for three retries or less. Red Hat Enterprise Linux 8 @@ -14192,7 +20341,19 @@ RHEL 8 uses "pwquality" as a mechanism to enforce password complexity. This is s By limiting the number of attempts to meet the pwquality module complexity requirements before returning with an error, the system will audit abnormal attempts at password changes. - + + + + + + RHEL-08-040321 - The graphical display manager must not be the default target on RHEL 8 unless approved. + + Red Hat Enterprise Linux 8 + + Internet services that are not required for system or application processes must not be active to decrease the attack surface of the system. Graphical display managers have a long history of security vulnerabilities and must not be used, unless approved and documented. + + + @@ -14209,39 +20370,360 @@ By limiting the number of attempts to meet the pwquality module complexity requi + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + - - + + + + - - - + + + - - - + + + - - - + + + - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -14251,6 +20733,10 @@ By limiting the number of attempts to meet the pwquality module complexity requi + + + + @@ -14284,10 +20770,31 @@ By limiting the number of attempts to meet the pwquality module complexity requi + + + + + + + + + + + + + + + + + + + + + @@ -14299,1425 +20806,1250 @@ By limiting the number of attempts to meet the pwquality module complexity requi + + + + + + + + + + + + - - + + + - - + + + - - + + - - + + - - + + - - + + - - + + + - - + + - - + + + + + - - + + + + + - - + + + - - + + + + + - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + - - - + + - - + + - - - - - - - - - - - - - - - - - - - - + + - - - + + - - - + + - - - - - - - + + - - + + - - - - - - + + - - - + + - - - + + - - + + - - - + + - - - + + - - - + + - - - + + - - - - - - + + - - - + + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - + + - - - - - - - + + - - - - - - - + + - - - - - - - + + - - - - - - - + + - - - - - - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - + + - - + + - - - - - - - - - - - - - - - - - + + - - - + + - - - + + - - - - - + + - - - - - + + - - - + + - - - - - - - - - - - - - + + - - - - - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - - - - - - - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - + + - - + + - - - - + + - - - - + + - - + + - - + + - - - + + - - - + + - - - - + + - - - - + + - - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - + + - - + + - - - + + - - + + - - + + - - + + - - - + + - - + + - - + + + - - + + + - - - + + + - - + + + - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - + + + - - + + - - + + + - - + + + - - + + + + + - - + + - - + + - - + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + - - + + + + + + + + + + - - + + + + + + - - + + + + + + - - + + + + + + - - + + + + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + + - - + + + - - + + + - - + + - - + + + - - + + - - + + + - - + + + - - + + - - + + - - + + - - + + - - + + + - - + + - - + + - - + + - - + + - - + + - - + + + - - + + + - - + + + - - + + - - + + + - - + + + - - + + + - - + + - - + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + - - + + + - - + + + - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + - - + + + - - + + + - - + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - - - - - + + - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - + + + - - - - - - - + + + - - - - - - - - - - + + + - - - - - - - + + + - - - - - - - + + + - - - - - - - - - - + + + - - - - - - - + + + - - - - - - - + + + - - - - - - - - - - + + + - - - - - - - + + + - - - - - - - + + + - - - - - - - + + + - - - - - - - + + + - - - - - - + + - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15732,58 +22064,789 @@ By limiting the number of attempts to meet the pwquality module complexity requi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /etc/security/faillock.conf + ^\s*even_deny_root\s*$ + 1 + + + /etc/sysctl.conf + (?:^|\.*\n)\s*net\.ipv6\.conf\.all\.disable_ipv6\s*=\s*(\d+)\s*$ + 1 + + + + \.conf$ + (?:^|\.*\n)\s*net\.ipv6\.conf\.all\.disable_ipv6\s*=\s*(\d+)\s*$ + 1 + + + + oval:mil.disa.stig.ind:obj:10001201 + oval:mil.disa.stig.ind:obj:10001202 + + + + /proc/cmdline + \bipv6\.disable=1\b + 1 + /etc/audit/auditd.conf - ^\s*log_file\s*=\s*(\S+)\s*(?:#.*)?$ + ^\s*log_file\s*=\s*(\S+)\s*(?:#.*)?$ + 1 + + + + oval:mil.disa.stig.ind:obj:20000003 + oval:mil.disa.stig.ind:obj:20000004 + + + + + /etc/rsyslog.conf + ^\*\.\*\s+action\((\s*(?:[^#\)]*(?:#.*$)?\n)*[^#\)]*)\) + 1 + + + + /etc/rsyslog.d + ^.*\.conf$ + ^\*\.\*\s+action\((\s*(?:[^#\)]*(?:#.*$)?\n)*[^#\)]*)\) + 1 + + + + oval:mil.disa.stig.ind:obj:20000006 + oval:mil.disa.stig.ind:obj:20000007 + + + + + /etc/rsyslog.conf + ^\s*module\((\s*(?:[^#\)]*(?:#.*$)?\n)*[^#\)]*)\) + 1 + + + + /etc/rsyslog.d + ^.*\.conf$ + ^\s*module\((\s*(?:[^#\)]*(?:#.*$)?\n)*[^#\)]*)\) + 1 + + + /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/rsyslog.conf + ^[ \t]*(?:\S+;auth\.\*|auth\.\*;\S+|auth\.\*|\S+;auth\.\*;\S+)[ \t]+\S+\s*$ + 1 + + + /etc/rsyslog.conf + ^[ \t]*(?:\S+;authpriv\.\*|authpriv\.\*;\S+|authpriv\.\*|\S+;authpriv\.\*;\S+)[ \t]+\S+\s*$ + 1 + + + /etc/rsyslog.conf + ^[ \t]*(?:\S+;daemon\.\*|daemon\.\*;\S+|daemon\.\*|\S+;daemon\.\*;\S+)[ \t]+\S+\s*$ + 1 + + + /etc/login.defs + ^\s*ENCRYPT_METHOD\s+([^#\r\n]*) + 1 + + + /etc/shadow + ^[^:]+:([^:]*): + 1 + + + + oval:mil.disa.stig.ind:obj:23023200 + oval:mil.disa.stig.ind:ste:23023200 + oval:mil.disa.stig.ind:ste:23023201 + + + + /etc/login.defs + ^\s*SHA_CRYPT_MIN_ROUNDS\s+(\d+)\b + 1 + + + /etc/login.defs + ^\s*SHA_CRYPT_MAX_ROUNDS\s+(\d+)\b + 1 + + + /boot/efi/EFI/redhat/grub.cfg + ^\s*set\s+superusers\s*=\s*"(\w+)"\s*$ + 1 + + + /boot/efi/EFI/redhat/user.cfg + ^\s*GRUB2_PASSWORD=(\S+)\b + 1 + + + /boot/grub2/grub.cfg + ^\s*set\s+superusers\s*=\s*"(\w+)"\s*$ + 1 + + + /boot/grub2/user.cfg + ^\s*GRUB2_PASSWORD=(\S+)\b + 1 + + + /usr/lib/systemd/system + rescue.service + ^\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 + + + /sys/fs/selinux/enforce + ^(\d+)$ + 1 + + + /etc/selinux/config + ^SELINUX=(.*)\s*$ + 1 + + + /etc/ssh/sshd_config + ^\s*(?i)ClientAliveCountMax(?-i)\s+"?(\d+)"?\s*(?:|(?:#.*))?$ + 1 + + + /etc/sysconfig/sshd + ^[ \t]*SSH_USE_STRONG_RNG[ \t]*=[ \t]*32[ \t]*$ + 1 + + + /etc/crypto-policies/back-ends/opensslcnf.config + ^\s*MinProtocol\s*=\s*([\.\w]+)\s*(?:#.*)?$ + 1 + + + /etc/crypto-policies/back-ends/opensslcnf.config + ^\s*TLS\.MinProtocol\s*=\s*([\.\w]+)\s*(?:#.*)?$ + 1 + + + /etc/crypto-policies/back-ends/opensslcnf.config + ^\s*DTLS\.MinProtocol\s*=\s*([\.\w]+)\s*(?:#.*)?$ + 1 + + + /etc/yum.repos.d + \.repo$ + ^\s*\[[^]]+\]\s*\n(?:[^[]*\n)* + 1 + + + /etc/dnf/dnf.conf + ^\s*localpkg_gpgcheck\s*=\s*(\w+)\b$ + 1 + + + /etc + sysctl.conf + (?:^|\.*\n)\s*kernel\.kexec_load_disabled\s*=\s*(\d+)\s*$ + 1 + + + + \.conf$ + (?:^|\.*\n)\s*kernel\.kexec_load_disabled\s*=\s*(\d+)\s*$ + 1 + + + + oval:mil.disa.stig.ind:obj:23026601 + oval:mil.disa.stig.ind:obj:23026602 + + + + + \.conf$ + (?:^|\.*\n)\s*fs\.protected_symlinks\s*=\s*(\d+)\s*$ + 1 + + + /etc/sysctl.conf + (?:^|\.*\n)\s*fs\.protected_symlinks\s*=\s*(\d+)\s*$ + 1 + + + + oval:mil.disa.stig.ind:obj:23026701 + oval:mil.disa.stig.ind:obj:23026702 + + + + + \.conf$ + (?:^|\.*\n)\s*fs\.protected_hardlinks\s*=\s*(\d+)\s*$ + 1 + + + /etc/sysctl.conf + (?:^|\.*\n)\s*fs\.protected_hardlinks\s*=\s*(\d+)\s*$ + 1 + + + + oval:mil.disa.stig.ind:obj:23026801 + oval:mil.disa.stig.ind:obj:23026802 + + + + /etc/sysctl.d + ^.*\.conf$ + ^\s*kernel\.dmesg_restrict\s*=\s*(\d+)\s*$ + 1 + + + + ^.*\.conf$ + ^\s*kernel\.dmesg_restrict\s*=\s*(\d+)\s*$ + 1 + + + + \.conf$ + (?:^|\.*\n)\s*kernel\.perf_event_paranoid\s*=\s*(\d+)\s*$ + 1 + + + /etc/sysctl.conf + (?:^|\.*\n)\s*kernel\.perf_event_paranoid\s*=\s*(\d+)\s*$ + 1 + + + + oval:mil.disa.stig.ind:obj:23027001 + oval:mil.disa.stig.ind:obj:23027002 + + + + + /etc/sudoers + ^(?!#).*\s+NOPASSWD.*$ + 1 + + + + /etc/sudoers.d + ^.*$ + ^(?!#).*\s+NOPASSWD.*$ + 1 + + + /etc/sudoers + ^(?!#).*\s+!\s*authenticate.*$ + 1 + + + /etc/sudoers.d + ^.*$ + ^(?!#).*\s+!\s*authenticate.*$ + 1 + + + /etc/sysctl.d + ^.*\.conf$ + ^\s*kernel\.randomize_va_space\s*=\s*(\d+)\s*$ + 1 + + + + ^.*\.conf$ + ^\s*kernel\.randomize_va_space\s*=\s*(\d+)\s*$ + 1 + + + /etc/dnf/dnf.conf + ^[ \t]*clean_requirements_on_remove[ \t]*=[ \t]*(?:True|1|yes)[ \t]*$ + 1 + + + /etc/selinux/config + ^\s*SELINUXTYPE\s*=\s*(\w+)\s*$ + 1 + + + /etc/ssh/sshd_config + ^\s*(?i)StrictModes(?-i)[ \t]+([\w\"]+)[\s]*(?:|(?:#.*))?$ + 1 + + + /etc/ssh/sshd_config.d + .+ + ^\s*(?i)StrictModes(?-i)[ \t]+([\w\"]+)[\s]*(?:|(?:#.*))?$ + 1 + + + + oval:mil.disa.stig.ind:obj:23028800 + oval:mil.disa.stig.ind:obj:23028801 + + + + /etc/ssh/sshd_config + ^\s*(?i)IgnoreUserKnownHosts(?-i)[ \t]+([\w\"]+)[\s]*(?:|(?:#.*))?$ + 1 + + + /etc/ssh/sshd_config + ^\s*(?i)KerberosAuthentication(?-i)\s+(\w+)\s*(?:|(?:#.*))?$ + 1 + + + /etc/fstab + ^[^# \t]+\s+/var\s+ + 1 + + + /etc/fstab + ^[^# \t]+\s+/var/log\s+ + 1 + + + /etc/fstab + + 1 + + + + /etc/audit/auditd.conf + ^\s*log_file\s*=\s*(\S+)/\S+\s*$ + 1 + + + /etc/fstab + ^[^# \t]+\s+/tmp\s+ + 1 + + + /etc/ssh/sshd_config + ^\s*(?i)PermitRootLogin(?-i)[ \t]+([\w\"]+)[\s]*(?:|(?:#.*))?$ + 1 + + + /etc/ssh/sshd_config.d + .+ + ^\s*(?i)PermitRootLogin(?-i)[ \t]+([\w\"]+)[\s]*(?:|(?:#.*))?$ + 1 + + + + oval:mil.disa.stig.ind:obj:23029600 + oval:mil.disa.stig.ind:obj:23029601 + + + + /etc/fstab + ^\s*[^#\s]+\s+/boot\s+\S+\s+(\S+)\s+\S+\s+\S+\s*$ + 1 + + + /etc/fstab + ^\s*/dev\S*\s+/\S+\s+\S+\s+(\S+)\s+\S+\s+\S+\s*$ + 1 + + + /etc/fstab + ^\s*\[?[\.\w:-]+\]?:[/\w-]+\s+[/\w-]+\s+nfs[4]?\s+(.*)$ + 0 + + + /etc/mtab + ^\s*\[?[\.\w:-]+\]?:[/\w-]+\s+[/\w-]+\s+nfs[4]?\s+(.*)$ + 0 + + + /etc/sysctl.d + ^.*\.conf$ + ^\s*kernel\.core_pattern\s*=\s*(.+)\s*$ + 1 + + + + ^.*\.conf$ + ^\s*kernel\.core_pattern\s*=\s*(.+)\s*$ + 1 + + + + oval:mil.disa.stig.ind:obj:23031302 + oval:mil.disa.stig.ind:obj:23031303 + + + + + oval:mil.disa.stig.ind:obj:23031304 + oval:mil.disa.stig.ind:obj:23031305 + + + + /etc/security/limits.conf + ^[ \t]*\*[ \t]+(?:hard|soft|-)[ \t]+core[ \t]+(\d+)[ \t]*(?:#.*)?$ + 1 + + + /etc/security/limits.d + \.conf$ + ^[ \t]*\*[ \t]+(?:hard|soft|-)[ \t]+core[ \t]+(\d+)[ \t]*(?:#.*)?$ + 1 + + + /etc/security/limits.conf + ^[ \t]*[^#*\s]+[ \t]+(?:hard|soft|-)[ \t]+core[ \t]+(\d+)[ \t]*(?:#.*)?$ + 1 + + + /etc/security/limits.d + \.conf$ + ^[ \t]*[^#*\s]+[ \t]+(?:hard|soft|-)[ \t]+core[ \t]+(\d+)[ \t]*(?:#.*)?$ + 1 + + + /etc/systemd/coredump.conf + ^\s*Storage\s*=\s*(\w*)\s*(?:#.*)?$ + 1 + + + /etc/systemd/coredump.conf + ^\s*ProcessSizeMax\s*=\s*(\w*)\s*(?:#.*)?$ + 1 + + + /etc/nsswitch.conf + ^\s*hosts:\s*(.*)$ + 1 + + + oval:mil.disa.stig.ind:var:23031600 + + + /etc/resolv.conf + ^nameserver\s+(.*)$ 1 - - /etc - os-release - ^\s*PRETTY_NAME="Red Hat Enterprise Linux 8\.(\d+)\b + + /etc/login.defs + ^\s*CREATE_HOME\s+([^#\s]+) 1 - - /proc/sys/crypto/fips_enabled - ^(\d+)$ + + /etc/gdm/custom.conf + ^\s*\[daemon\]\s+[#\s\w=]*^\s*AutomaticLoginEnable=(\w+)\s*$ 1 - - /boot/grub2/grubenv - ^\s*kernelopts=[^#]*fips=(\d+)\b + + + oval:mil.disa.stig.ind:obj:23033001 + oval:mil.disa.stig.ind:obj:23033002 + + + + /etc/ssh/sshd_config + ^(?i)\s*PermitUserEnvironment\s+(\w+)$ + 1 + + + + /etc/ssh/sshd_config.d + ^.+\.conf$ + ^(?i)\s*PermitUserEnvironment\s+(\w+)$ + 1 + + + /etc/pam.d/system-auth + ^\s*deny\s*=\s*([\d]+)\s*$ 1 - - /etc/pam.d - password-auth - ^[ \t]*password[ \t]+sufficient[ \t]+pam_unix\.so(?:[ \t]+|(?:[ \t][^#\r\f\n]+[ \t]))sha512(?:[ \t]|$) + + /etc/pam.d/password-auth + ^\s*deny\s*=\s*([\d]+)\s*$ 1 - - /etc/ssh/sshd_config - ^\s*(?i)ClientAliveCountMax(?-i)\s+"?(\d+)"?\s*(?:|(?:#.*))?$ + + /etc/security/faillock.conf + ^\s*deny\s*=\s*([\d]+)\s*$ 1 - - /etc/dnf/dnf.conf - ^\s*localpkg_gpgcheck\s*=\s*(\w+)\b$ + + /etc/pam.d/system-auth + ^\s*auth\s+required\s+pam_faillock\.so\s+preauth.*[ \t]+fail_interval=([0-9]+)(?:[ \t]+.*)?$ 1 - - /etc/selinux/config - ^\s*SELINUXTYPE\s*=\s*(\w+)\s*$ + + /etc/pam.d/password-auth + ^\s*auth\s+required\s+pam_faillock\.so\s+preauth.*[ \t]+fail_interval=([0-9]+)(?:[ \t]+.*)?$ 1 - - /etc/fstab - ^[^# \t]+\s+/var\s+ + + /etc/security/faillock.conf + ^\s*fail_interval\s*=\s*([\d]+)\s*$ 1 - - /etc/fstab - ^[^# \t]+\s+/var/log\s+ + + /etc/pam.d/system-auth + ^\s*auth\s+required\s+pam_faillock\.so\s+preauth.*[ \t]+unlock_time=([0-9]+)(?:[ \t]+.*)?$ + 1 + + + /etc/pam.d/password-auth + ^\s*auth\s+required\s+pam_faillock\.so\s+preauth.*[ \t]+unlock_time=([0-9]+)(?:[ \t]+.*)?$ + 1 + + + /etc/pam.d/system-auth + ^\s*auth\s+required\s+pam_faillock\.so\s+authfail.*[ \t]+unlock_time=([0-9]+)(?:[ \t]+.*)?$ + 1 + + + /etc/pam.d/password-auth + ^\s*auth\s+required\s+pam_faillock\.so\s+authfail.*[ \t]+unlock_time=([0-9]+)(?:[ \t]+.*)?$ + 1 + + + /etc/security/faillock.conf + ^\s*unlock_time\s*=\s*([\d]+)\s*$ + 1 + + + /etc/pam.d/system-auth + ^\s*auth\s+required\s+pam_faillock\.so\s+preauth.*[ \t]+silent(?:[ \t]+.*)?$ + 1 + + + /etc/pam.d/password-auth + ^\s*auth\s+required\s+pam_faillock\.so\s+preauth.*[ \t]+silent(?:[ \t]+.*)?$ + 1 + + + /etc/security/faillock.conf + ^\s*silent\s*$ + 1 + + + /etc/pam.d/system-auth + ^\s*auth\s+required\s+pam_faillock\.so\s+preauth.*[ \t]+audit(?:[ \t]+.*)?$ + 1 + + + /etc/pam.d/password-auth + ^\s*auth\s+required\s+pam_faillock\.so\s+preauth.*[ \t]+audit(?:[ \t]+.*)?$ + 1 + + + /etc/security/faillock.conf + ^\s*audit\s*$ + 1 + + + /etc/pam.d/system-auth + ^\s*auth\s+required\s+pam_faillock\.so\s+preauth.*[ \t]+even_deny_root(?:[ \t]+.*)?$ + 1 + + + /etc/pam.d/password-auth + ^\s*auth\s+required\s+pam_faillock\.so\s+preauth.*[ \t]+even_deny_root(?:[ \t]+.*)?$ 1 @@ -15820,6 +22883,12 @@ By limiting the number of attempts to meet the pwquality module complexity requi ^\s*[^#*\s]+\s+(?:(?:hard)|(?:-))\s+maxlogins\s+(\d+)\s*$ 1 + + + .* + ^\[org/gnome/settings-daemon/peripherals/smartcard](?:\r?\n(?:[^[\r\n].*)?)* + 1 + /etc/pam.d/password-auth ^\s*password\s+(?:required|requisite)\s+pam_pwquality\.so\b @@ -15951,6 +23020,31 @@ By limiting the number of attempts to meet the pwquality module complexity requi ^\s*difok\s*=\s*(-?\d*)\s*(?:#.*)?$ 1 + + /etc/shadow + ^root:[^:]*:[^:]*:0*: + 1 + + + /etc/shadow + ^([^:]*):[^:]*:[^:]*:0*: + 1 + + + /etc/passwd + ^nobody:[^:]*:([0-9]+): + 1 + + + /etc/login.defs + ^\s*PASS_MIN_DAYS\s+(\d*) + 1 + + + /etc/login.defs + ^\s*PASS_MAX_DAYS\s+(\d*) + 1 + oval:mil.disa.stig.ind:obj:23036901 @@ -15969,6 +23063,16 @@ By limiting the number of attempts to meet the pwquality module complexity requi ^\s*minlen\s*=\s*(-?\d*)\s*(?:#.*)?$ 1 + + /etc/login.defs + ^\s*PASS_MIN_LEN\s+(\d+)\s*$ + 1 + + + /etc/default/useradd + (?i)^\s*INACTIVE\s*=\s*(-?\d+)\s*$ + 1 + oval:mil.disa.stig.ind:obj:23037501 @@ -16024,6 +23128,33 @@ By limiting the number of attempts to meet the pwquality module complexity requi oval:mil.disa.stig.ind:obj:23037605 + + + oval:mil.disa.stig.ind:obj:23037701 + oval:mil.disa.stig.ind:obj:23037702 + + + + /etc/security/pwquality.conf + ^\s*dictcheck\s*=\s*([-\d]+)\s*(?:#.*)?$ + 1 + + + /etc/security/pwquality.conf.d + \.conf$ + ^\s*dictcheck\s*=\s*([-\d]+)\s*(?:#.*)?$ + 1 + + + /etc/login.defs + ^\s*FAIL_DELAY\s+(\d+)\s*$ + 1 + + + /etc/ssh/sshd_config + ^(?i)\s*PermitEmptyPasswords\s+(\w+)$ + 1 + /etc/pam.d/postlogin ^\s*session\s+.+\s+pam_lastlog\.so\s+(?:\w+\s+)*showfailed\b\s*(?:\w+\b\s*)*\s*(?:#.*)?$ @@ -16034,2571 +23165,2377 @@ 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]*$ + + /etc/ssh/sshd_config + ^\s*(?i)PrintLastLog(?-i)[ \t]+([\w\"]+)[\s]*(?:|(?:#.*))?$ 1 - - /etc/modprobe.d - .* - ^[ \t]*blacklist[ \t]+atm[ \t]*$ + + /etc/login.defs + ^\s*UMASK\s+([^#\s]+) 1 - - /etc/modprobe.d - .* - ^[ \t]*install[ \t]+can[ \t]+/bin/false[ \t]*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+-S\s+execve\s+-C\s+uid!=euid\s+-F\s+euid=0\s*((\s+-k\s+|-F\s+key=)\S+\s*)?$ 1 - - /etc/modprobe.d - .* - ^[ \t]*blacklist[ \t]+can[ \t]*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+-S\s+execve\s+-C\s+uid!=euid\s+-F\s+euid=0\s*((\s+-k\s+|-F\s+key=)\S+\s*)?$ 1 - - /etc/modprobe.d - .* - ^[ \t]*install[ \t]+sctp[ \t]+/bin/false[ \t]*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+-S\s+execve\s+-C\s+gid!=egid\s+-F\s+egid=0\s*((\s+-k\s+|-F\s+key=)\S+\s*)?$ 1 - - /etc/modprobe.d - .* - ^[ \t]*blacklist[ \t]+sctp[ \t]*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+-S\s+execve\s+-C\s+gid!=egid\s+-F\s+egid=0\s*((\s+-k\s+|-F\s+key=)\S+\s*)?$ 1 - - /etc/modprobe.d - .* - ^[ \t]*install[ \t]+tipc[ \t]+/bin/false[ \t]*$ + + /etc/audit/auditd.conf + (?i)^\s*action_mail_acct\s*=\s*(\w+)\s*(?:#.*)?$ 1 - - /etc/modprobe.d - .* - ^[ \t]*blacklist[ \t]+tipc[ \t]*$ + + /etc/ + aliases + ^\s*postmaster:\s*root\s*$ 1 - - /etc/modprobe.d - .* - ^[ \t]*install[ \t]+cramfs[ \t]+/bin/false[ \t]*$ + + /etc/audit/auditd.conf + (?i)^\s*disk_error_action\s*=\s*(\w+)\s*(?:#.*)?$ 1 - - /etc/modprobe.d - .* - ^[ \t]*blacklist[ \t]+cramfs[ \t]*$ + + /etc/audit/auditd.conf + (?i)^\s*disk_full_action\s*=\s*(\w+)\s*(?:#.*)?$ 1 - - /etc/modprobe.conf - ^[ \t]*install[ \t]+cramfs[ \t]+/bin/false[ \t]*$ - 1 + + /etc/audit/auditd.conf + (?i)^\s*local_events\s*=\s*(\w+)\s*(?:#.*)?$ + 1 - - /etc/modprobe.conf - ^[ \t]*blacklist[ \t]+cramfs[ \t]*$ - 1 + + /etc/audit/auditd.conf + (?i)^\s*name_format\s*=\s*(\w+)\s*(?:#.*)?$ + 1 - - /etc/modprobe.d - .* - ^[ \t]*install[ \t]+firewire-core[ \t]+/bin/false[ \t]*$ + + /etc/audit/auditd.conf + (?i)^\s*log_format\s*=\s*(\w+)\s*(?:#.*)?$ 1 - - /etc/modprobe.d - .* - ^[ \t]*blacklist[ \t]+firewire-core[ \t]*$ + + /etc/audit/auditd.conf + ^\s*log_file\s*=\s*(\S+)\s*(?:#.*)?$ 1 - - /etc/modprobe.d - .* - ^[ \t]*install[ \t]+usb-storage[ \t]+/bin/false[ \t]*$ + + + /etc/audit/audit.rules + \n[ \t]*-e[ \t]+2\s*$ 1 - - /etc/modprobe.d - .* - ^[ \t]*blacklist[ \t]+usb-storage[ \t]*$ + + /etc/audit/audit.rules + ^--loginuid-immutable$ + 1 + + + /etc/audit/audit.rules + ^\s*-w\s+/etc/shadow(\s+-p\s*([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*))?(\s+(-k\s+|-F\s+key=)\w+)?\s*$ + 1 + + + /etc/audit/audit.rules + ^\s*-w\s+/etc/security/opasswd(\s+-p\s*([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*))?(\s+(-k\s+|-F\s+key=)\w+)?\s*$ 1 - - /etc/modprobe.d - .* - ^[ \t]*install[ \t]+bluetooth[ \t]+/bin/false[ \t]*$ + + /etc/audit/audit.rules + ^\s*-w\s+/etc/passwd(\s+-p\s*([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*))?(\s+(-k\s+|-F\s+key=)[\w-]+)?\s*$ 1 - - /etc/modprobe.d - .* - ^[ \t]*blacklist[ \t]+bluetooth[ \t]*$ + + /etc/audit/audit.rules + ^\s*-w\s+/etc/gshadow(\s+-p\s*([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*))?(\s+(-k\s+|-F\s+key=)\w+)?\s*$ 1 - - /etc/pam.d - system-auth - ^[ \t]*password[ \t]+sufficient[ \t]+pam_unix\.so(?:[ \t]+|(?:[ \t][^#\r\f\n]+[ \t]))sha512(?:[ \t]|$) + + /etc/audit/audit.rules + ^\s*-w\s+/etc/group(\s+-p\s*([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*))?(\s+(-k\s+|-F\s+key=)\w+)?\s*$ 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*(?:#.*)?$ + + /etc/audit/audit.rules + ^\s*-w\s+/etc/sudoers(\s+-p\s*([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*))?(\s+(-k\s+|-F\s+key=)\w+)?\s*$ 1 - - /etc/fstab - ^\s*[^#\s][^\s]*\s+[^\s]+\s+nfs[^\s]*\s+([^\s]+) + + /etc/audit/audit.rules + ^\s*-w\s+/etc/sudoers.d/?(\s+-p\s*([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*))?(\s+(-k\s+|-F\s+key=)[\w-]+)?\s*$ 1 - - redhat-release - - - /sys/fs/selinux - - - /var - - - /var/log - - - gssproxy - - - /etc - os-release - ^\s*CPE_NAME="cpe:/o:redhat:enterprise_linux:(\d+)\b - 1 + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/su\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + 1 - - net.ipv6.conf.all.disable_ipv6 - - - /etc/sysctl.conf - (?:^|\.*\n)\s*net\.ipv6\.conf\.all\.disable_ipv6\s*=\s*(\d+)\s*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+setxattr\s+|(\s+|,)setxattr(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - - \.conf$ - (?:^|\.*\n)\s*net\.ipv6\.conf\.all\.disable_ipv6\s*=\s*(\d+)\s*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+setxattr\s+|(\s+|,)setxattr(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - - oval:mil.disa.stig.rhel8:obj:9801 - oval:mil.disa.stig.rhel8:obj:9802 - + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+setxattr\s+|(\s+|,)setxattr(\s+|,))).*-F\s+auid=0(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 - - /proc/cmdline - \bipv6\.disable=1\b + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+setxattr\s+|(\s+|,)setxattr(\s+|,))).*-F\s+auid=0(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - openssh - - - /etc - os-release - ^\s*CPE_NAME="cpe:/o:redhat:enterprise_linux:8\.(\d+)\b + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/chage\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - /etc - os-release - ^\s*PRETTY_NAME="Red Hat Enterprise Linux 8\.(\d+)\b + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=\/usr\/bin\/chcon\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - /proc/sys/crypto/fips_enabled - ^(\d+)$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/ssh-agent\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - /boot/grub2/grubenv - ^\s*kernelopts=[^#]*fips=(\d+)\b + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/passwd\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - /etc/login.defs - ^\s*ENCRYPT_METHOD\s+([^#\r\n]*) + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/mount\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - /etc/shadow - ^[^:]+:([^:]*): + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/umount\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - - oval:mil.disa.stig.rhel8:obj:10400 - oval:mil.disa.stig.rhel8:ste:10400 - oval:mil.disa.stig.rhel8:ste:10401 - + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+mount\s+|(\s+|,)mount(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + 1 - - /etc/login.defs - ^\s*SHA_CRYPT_MIN_ROUNDS\s+(\d+)\b + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+mount\s+|(\s+|,)mount(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - /etc/login.defs - ^\s*SHA_CRYPT_MAX_ROUNDS\s+(\d+)\b + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/unix_update\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - /boot/efi/EFI/redhat/grub.cfg - ^\s*set\s+superusers\s*=\s*"(\w+)"\s*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/postdrop\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - /boot/efi/EFI/redhat/user.cfg - ^\s*GRUB2_PASSWORD=(\S+)\b + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/postqueue\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - /boot/efi/EFI/redhat/grub.cfg - - - /boot/grub2/grub.cfg - ^\s*set\s+superusers\s*=\s*"(\w+)"\s*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/semanage\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - /boot/grub2/user.cfg - ^\s*GRUB2_PASSWORD=(\S+)\b + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/setfiles\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - /boot/grub2/grub.cfg - - - /usr/lib/systemd/system - rescue.service - ^\s*ExecStart=-\/usr\/lib\/systemd\/systemd-sulogin-shell\srescue$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/userhelper\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - /etc - \.keytab$ - - - krb5-server - - - krb5-workstation - - - policycoreutils - - - /var/log/messages - - - /var/log - - - - /etc/sysconfig/sshd - ^[ \t]*SSH_USE_STRONG_RNG[ \t]*=[ \t]*32[ \t]*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/setsebool\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - crypto-policies - - - /etc/crypto-policies/back-ends/opensslcnf.config - ^\s*MinProtocol\s*=\s*([\.\w]+)\s*(?:#.*)?$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/unix_chkpwd\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - /etc/crypto-policies/back-ends/opensslcnf.config - ^\s*TLS\.MinProtocol\s*=\s*([\.\w]+)\s*(?:#.*)?$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/libexec/openssh/ssh-keysign\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - /etc/crypto-policies/back-ends/opensslcnf.config - ^\s*DTLS\.MinProtocol\s*=\s*([\.\w]+)\s*(?:#.*)?$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/setfacl\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - - .* - - - - oval:mil.disa.stig.rhel8:obj:12400 - oval:mil.disa.stig.rhel8:ste:12400 - - - - /etc/yum.repos.d - \.repo$ - ^\s*\[[^]]+\]\s*\n(?:[^[]*\n)* + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/pam_timestamp_check\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - kernel.kexec_load_disabled - - - /etc/sysctl.d - \.conf$ - (?:^|\.*\n)\s*kernel\.kexec_load_disabled\s*=\s*(\d+)\s*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/newgrp\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - - \.conf$ - (?:^|\.*\n)\s*kernel\.kexec_load_disabled\s*=\s*(\d+)\s*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+init_module\s+|(\s+|,)init_module(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - - oval:mil.disa.stig.rhel8:obj:13201 - oval:mil.disa.stig.rhel8:obj:13202 - + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+init_module\s+|(\s+|,)init_module(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 - - fs.protected_symlinks - - - - \.conf$ - (?:^|\.*\n)\s*fs\.protected_symlinks\s*=\s*(\d+)\s*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+finit_module\s+|(\s+|,)finit_module(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - /etc/sysctl.conf - (?:^|\.*\n)\s*fs\.protected_symlinks\s*=\s*(\d+)\s*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+finit_module\s+|(\s+|,)finit_module(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - - oval:mil.disa.stig.rhel8:obj:13301 - oval:mil.disa.stig.rhel8:obj:13302 - + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/gpasswd\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + 1 - - fs.protected_hardlinks - - - - \.conf$ - (?:^|\.*\n)\s*fs\.protected_hardlinks\s*=\s*(\d+)\s*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+delete_module\s+|(\s+|,)delete_module(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - /etc/sysctl.conf - (?:^|\.*\n)\s*fs\.protected_hardlinks\s*=\s*(\d+)\s*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+delete_module\s+|(\s+|,)delete_module(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - - oval:mil.disa.stig.rhel8:obj:13401 - oval:mil.disa.stig.rhel8:obj:13402 - + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/crontab\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + 1 - - kernel.dmesg_restrict - - - - \.conf$ - (?:^|\.*\n)\s*kernel\.dmesg_restrict\s*=\s*(\d+)\s*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/chsh\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - /etc/sysctl.conf - (?:^|\.*\n)\s*kernel\.dmesg_restrict\s*=\s*(\d+)\s*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+truncate\s+|(\s+|,)truncate(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - - oval:mil.disa.stig.rhel8:obj:13501 - oval:mil.disa.stig.rhel8:obj:13502 - + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+truncate\s+|(\s+|,)truncate(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 - - kernel.perf_event_paranoid - - - - \.conf$ - (?:^|\.*\n)\s*kernel\.perf_event_paranoid\s*=\s*(\d+)\s*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+truncate\s+|(\s+|,)truncate(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - /etc/sysctl.conf - (?:^|\.*\n)\s*kernel\.perf_event_paranoid\s*=\s*(\d+)\s*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+truncate\s+|(\s+|,)truncate(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - - oval:mil.disa.stig.rhel8:obj:13601 - oval:mil.disa.stig.rhel8:obj:13602 - + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+ftruncate\s+|(\s+|,)ftruncate(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 - - - /etc/sudoers - ^(?!#).*\s+NOPASSWD.*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+ftruncate\s+|(\s+|,)ftruncate(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - - /etc/sudoers.d - ^.*$ - ^(?!#).*\s+NOPASSWD.*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+ftruncate\s+|(\s+|,)ftruncate(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - /etc/sudoers - ^(?!#).*\s+!\s*authenticate.*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+ftruncate\s+|(\s+|,)ftruncate(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - /etc/sudoers.d - ^.*$ - ^(?!#).*\s+!\s*authenticate.*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+creat\s+|(\s+|,)creat(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - openssl-pkcs11 - - - kernel.randomize_va_space - - - - \.conf$ - ^\s*kernel\.randomize_va_space\s*=\s*(\d+)\s*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+creat\s+|(\s+|,)creat(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - /etc/sysctl.conf - ^\s*kernel\.randomize_va_space\s*=\s*(\d+)\s*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+creat\s+|(\s+|,)creat(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - - oval:mil.disa.stig.rhel8:obj:14401 - oval:mil.disa.stig.rhel8:obj:14402 - + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+creat\s+|(\s+|,)creat(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 - - /etc/dnf/dnf.conf - ^[ \t]*clean_requirements_on_remove[ \t]*=[ \t]*(?:True|1|yes)[ \t]*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+open\s+|(\s+|,)open(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - - / - shosts.equiv - - - - / - .shosts - - - - /etc/ssh - ^.*\.pub$ - - - /etc/ssh - ^ssh_host.*key$ - - - /etc/ssh/sshd_config - ^\s*(?i)StrictModes(?-i)[ \t]+([\w\"]+)[\s]*(?:|(?:#.*))?$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+open\s+|(\s+|,)open(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - /etc/ssh/sshd_config - ^\s*(?i)IgnoreUserKnownHosts(?-i)[ \t]+([\w\"]+)[\s]*(?:|(?:#.*))?$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+open\s+|(\s+|,)open(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - /etc/ssh/sshd_config - ^\s*(?i)KerberosAuthentication(?-i)\s+(\w+)\s*(?:|(?:#.*))?$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+open\s+|(\s+|,)open(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - /var/log - - - - - - /etc/fstab - + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+openat\s+|(\s+|,)openat(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - /etc/audit/auditd.conf - ^\s*log_file\s*=\s*(\S+)/\S+\s*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+openat\s+|(\s+|,)openat(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - /tmp - - - /etc/fstab - ^[^# \t]+\s+/tmp\s+ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+openat\s+|(\s+|,)openat(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - /etc/ssh/sshd_config - ^\s*(?i)PermitRootLogin(?-i)[ \t]+([\w\"]+)[\s]*(?:|(?:#.*))?$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+openat\s+|(\s+|,)openat(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - ^/sbin/auditd\b - 1 - - - ^/usr/sbin/rsyslogd\b - 1 - - - /boot - - - /etc/fstab - ^\s*[^#\s]+\s+/boot\s+\S+\s+(\S+)\s+\S+\s+\S+\s*$ - 1 + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+open_by_handle_at\s+|(\s+|,)open_by_handle_at(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 - - ^/\S+$ - oval:mil.disa.stig.rhel8:ste:16302 - - - /etc/fstab - ^\s*/dev\S*\s+/\S+\s+\S+\s+(\S+)\s+\S+\s+\S+\s*$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+open_by_handle_at\s+|(\s+|,)open_by_handle_at(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - /etc/fstab - ^\s*\[?[\.\w:-]+\]?:[/\w-]+\s+[/\w-]+\s+nfs[4]?\s+(.*)$ - 0 + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+open_by_handle_at\s+|(\s+|,)open_by_handle_at(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 - - /etc/mtab - ^\s*\[?[\.\w:-]+\]?:[/\w-]+\s+[/\w-]+\s+nfs[4]?\s+(.*)$ - 0 + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+open_by_handle_at\s+|(\s+|,)open_by_handle_at(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 - - /etc/fstab - ^\s*\[?[\.\w:-]+\]?:[/\w-]+\s+[/\w-]+\s+nfs[4]?\s+(.*)$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+chown\s+|(\s+|,)chown(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - /etc/mtab - ^\s*\[?[\.\w:-]+\]?:[/\w-]+\s+[/\w-]+\s+nfs[4]?\s+(.*)$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+chown\s+|(\s+|,)chown(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - kernel.core_pattern - - - /etc/sysctl.conf - (?:^|\.*\n)\s*kernel\.core_pattern\s*=\s*(.+) + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+lchown\s+|(\s+|,)lchown(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - - \.conf$ - (?:^|\.*\n)\s*kernel\.core_pattern\s*=\s*(.+) + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+lchown\s+|(\s+|,)lchown(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - - oval:mil.disa.stig.rhel8:obj:16801 - oval:mil.disa.stig.rhel8:obj:16802 - + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+fchownat\s+|(\s+|,)fchownat(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 - - /etc/security/limits.conf - ^[ \t]*\*[ \t]+(?:hard|soft|-)[ \t]+core[ \t]+(\d+)[ \t]*(?:#.*)?$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+fchownat\s+|(\s+|,)fchownat(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - /etc/security/limits.d - \.conf$ - ^[ \t]*\*[ \t]+(?:hard|soft|-)[ \t]+core[ \t]+(\d+)[ \t]*(?:#.*)?$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+fchown\s+|(\s+|,)fchown(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - - oval:mil.disa.stig.rhel8:obj:16900 - oval:mil.disa.stig.rhel8:obj:16901 - + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+fchown\s+|(\s+|,)fchown(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 - - /etc/security/limits.conf - ^[ \t]*[^#*\s]+[ \t]+(?:hard|soft|-)[ \t]+core[ \t]+(\d+)[ \t]*(?:#.*)?$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+chmod\s+|(\s+|,)chmod(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - /etc/security/limits.d - \.conf$ - ^[ \t]*[^#*\s]+[ \t]+(?:hard|soft|-)[ \t]+core[ \t]+(\d+)[ \t]*(?:#.*)?$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+chmod\s+|(\s+|,)chmod(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - - oval:mil.disa.stig.rhel8:obj:16903 - oval:mil.disa.stig.rhel8:obj:16904 - + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+fchmod\s+|(\s+|,)fchmod(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 - - /etc/systemd/coredump.conf - ^\s*Storage\s*=\s*(\w*)\s*(?:#.*)?$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+fchmod\s+|(\s+|,)fchmod(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - /etc/systemd/coredump.conf - ^\s*ProcessSizeMax\s*=\s*(\w*)\s*(?:#.*)?$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+fchmodat\s+|(\s+|,)fchmodat(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - /etc/login.defs - ^\s*CREATE_HOME\s+([^#\s]+) + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+fchmodat\s+|(\s+|,)fchmodat(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - - /etc/ssh/sshd_config - ^\s*(?i)PermitUserEnvironment(?-i)\s+(\w+)\s*(?:|(?:#.*))?$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/sudo\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - /etc/pam.d/system-auth - ^\s*auth\s+required\s+pam_faillock\.so\s+authfail(?:[ \t]+.*)?$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/usermod\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - /etc/pam.d/password-auth - ^\s*auth\s+required\s+pam_faillock\.so\s+authfail(?:[ \t]+.*)?$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/chacl\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - /etc/pam.d/system-auth - ^\s*auth\s+required\s+pam_faillock\.so\s+preauth.*[ \t]+deny=([0-9]+)(?:[ \t]+.*)?$ + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/kmod\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - - /etc/pam.d/password-auth - ^\s*auth\s+required\s+pam_faillock\.so\s+preauth.*[ \t]+deny=([0-9]+)(?:[ \t]+.*)?$ + + /etc/audit/audit.rules + ^\s*-w\s+/var/log/lastlog(\s+-p\s*([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*))?(\s+(-k\s+|-F\s+key=)\w+)?\s*$ 1 - - /etc/pam.d/system-auth - ^\s*account\s+required\s+pam_faillock\.so\s*$ + + /boot/loader/entries + ^.*\.conf$ + ^options\s+.*\baudit_backlog_limit=(\d+)\b 1 - - /etc/pam.d/password-auth - ^\s*account\s+required\s+pam_faillock\.so\s*$ + + /etc/default/grub + ^GRUB_CMDLINE_LINUX=".*\baudit_backlog_limit=(\d+)\b.*" 1 - - /etc/security/faillock.conf - ^\s*deny\s*=\s*([\d]+)\s*$ + + /etc/audit/auditd.conf + (?i)^\s*overflow_action\s*=\s*(\w+)\s*(?:#.*)?$ 1 - - /etc/pam.d/system-auth - ^\s*auth\s+required\s+pam_faillock\.so\s+preauth.*[ \t]+fail_interval=([0-9]+)(?:[ \t]+.*)?$ + + /etc/audit/auditd.conf + (?i)^\s*space_left\s*=\s*([%\d]+)\s*(?:#.*)?$ 1 - - /etc/pam.d/password-auth - ^\s*auth\s+required\s+pam_faillock\.so\s+preauth.*[ \t]+fail_interval=([0-9]+)(?:[ \t]+.*)?$ + + /etc/chrony.conf + ^[ \t]*port[ \t]+(\d+)[ \t]*$ 1 - - /etc/security/faillock.conf - ^\s*fail_interval\s*=\s*([\d]+)\s*$ + + /etc/chrony.conf + ^[ \t]*cmdport[ \t]+0[ \t]*$ 1 - - /etc/pam.d/system-auth - ^\s*auth\s+required\s+pam_faillock\.so\s+preauth.*[ \t]+unlock_time=([0-9]+)(?:[ \t]+.*)?$ + + /etc/modprobe.d + .* + ^[ \t]*install[ \t]+atm[ \t]+/bin/false[ \t]*$ 1 - - /etc/pam.d/password-auth - ^\s*auth\s+required\s+pam_faillock\.so\s+preauth.*[ \t]+unlock_time=([0-9]+)(?:[ \t]+.*)?$ + + /etc/modprobe.d + .* + ^[ \t]*blacklist[ \t]+atm[ \t]*$ 1 - - /etc/pam.d/system-auth - ^\s*auth\s+required\s+pam_faillock\.so\s+authfail.*[ \t]+unlock_time=([0-9]+)(?:[ \t]+.*)?$ + + /etc/modprobe.d + .* + ^[ \t]*install[ \t]+can[ \t]+/bin/false[ \t]*$ 1 - - /etc/pam.d/password-auth - ^\s*auth\s+required\s+pam_faillock\.so\s+authfail.*[ \t]+unlock_time=([0-9]+)(?:[ \t]+.*)?$ + + /etc/modprobe.d + .* + ^[ \t]*blacklist[ \t]+can[ \t]*$ 1 - - /etc/security/faillock.conf - ^\s*unlock_time\s*=\s*([\d]+)\s*$ + + /etc/modprobe.d + .* + ^[ \t]*install[ \t]+sctp[ \t]+/bin/false[ \t]*$ 1 - - /etc/pam.d/system-auth - ^\s*auth\s+required\s+pam_faillock\.so\s+preauth.*[ \t]+silent(?:[ \t]+.*)?$ + + /etc/modprobe.d + .* + ^[ \t]*blacklist[ \t]+sctp[ \t]*$ 1 - - /etc/pam.d/password-auth - ^\s*auth\s+required\s+pam_faillock\.so\s+preauth.*[ \t]+silent(?:[ \t]+.*)?$ + + /etc/modprobe.d + .* + ^[ \t]*install[ \t]+tipc[ \t]+/bin/false[ \t]*$ 1 - - /etc/security/faillock.conf - ^\s*silent\s*$ + + /etc/modprobe.d + .* + ^[ \t]*blacklist[ \t]+tipc[ \t]*$ 1 - - /etc/pam.d/system-auth - ^\s*auth\s+required\s+pam_faillock\.so\s+preauth.*[ \t]+audit(?:[ \t]+.*)?$ + + /etc/modprobe.d + .* + ^[ \t]*install[ \t]+cramfs[ \t]+/bin/false[ \t]*$ 1 - - /etc/pam.d/password-auth - ^\s*auth\s+required\s+pam_faillock\.so\s+preauth.*[ \t]+audit(?:[ \t]+.*)?$ + + /etc/modprobe.d + .* + ^[ \t]*blacklist[ \t]+cramfs[ \t]*$ + 1 + + + /etc/modprobe.conf + ^[ \t]*install[ \t]+cramfs[ \t]+/bin/false[ \t]*$ + 1 + + + /etc/modprobe.conf + ^[ \t]*blacklist[ \t]+cramfs[ \t]*$ + 1 + + + /etc/modprobe.d + .* + ^[ \t]*install[ \t]+firewire-core[ \t]+/bin/false[ \t]*$ 1 - - /etc/security/faillock.conf - ^\s*audit\s*$ + + /etc/modprobe.d + .* + ^[ \t]*blacklist[ \t]+firewire-core[ \t]*$ 1 - - /etc/pam.d/system-auth - ^\s*auth\s+required\s+pam_faillock\.so\s+preauth.*[ \t]+even_deny_root(?:[ \t]+.*)?$ + + /etc/modprobe.d + .* + ^[ \t]*install[ \t]+usb-storage[ \t]+/bin/false[ \t]*$ 1 - - /etc/pam.d/password-auth - ^\s*auth\s+required\s+pam_faillock\.so\s+preauth.*[ \t]+even_deny_root(?:[ \t]+.*)?$ + + /etc/modprobe.d + .* + ^[ \t]*blacklist[ \t]+usb-storage[ \t]*$ 1 - - /etc/security/faillock.conf - ^\s*even_deny_root\s*$ + + /etc/modprobe.d + .* + ^[ \t]*install[ \t]+bluetooth[ \t]+/bin/false[ \t]*$ 1 - - /etc/shadow - ^root:[^:]*:[^:]*:0*: + + /etc/modprobe.d + .* + ^[ \t]*blacklist[ \t]+bluetooth[ \t]*$ 1 - - - oval:mil.disa.stig.rhel8:ste:20400 - oval:mil.disa.stig.rhel8:ste:20401 - - - /etc/shadow - ^([^:]*):[^:]*:[^:]*:0*: - 1 + + /etc/fstab + ^\s*[^#\s]+\s+/dev/shm\s+\S+\s+(\S+)\s+\S+\s+\S+\s*$ + 1 - - /etc/passwd - ^nobody:[^:]*:([0-9]+): + + /etc/fstab + ^\s*[^#\s]+\s+/dev/shm\s+\S+\s+(\S+)\s+\S+\s+\S+\s*$ 1 - - /etc/login.defs - ^\s*PASS_MIN_DAYS\s+(\d*) - 1 + + oval:mil.disa.stig.linux:var:23051100 + + + /etc/fstab + ^\s*[^#\s]+\s+/tmp\s+\S+\s+(\S+)\s+\S+\s+\S+\s*$ + 1 - - /etc/login.defs - ^\s*PASS_MAX_DAYS\s+(\d*) - 1 + + /etc/fstab + ^\s*[^#\s]+\s+/tmp\s+\S+\s+(\S+)\s+\S+\s+\S+\s*$ + 1 - - /etc/login.defs - ^\s*PASS_MIN_LEN\s+(\d+)\s*$ - 1 + + oval:mil.disa.stig.ind:var:23051400 + + + /etc/fstab + ^\s*[^#\s]+\s+/var/log\s+\S+\s+(\S+)\s+\S+\s+\S+\s*$ + 1 - - /etc/default/useradd - (?i)^\s*INACTIVE\s*=\s*(-?\d+)\s*$ - 1 + + oval:mil.disa.stig.ind:var:23051500 + + + /etc/fstab + ^\s*[^#\s]+\s+/var/log\s+\S+\s+(\S+)\s+\S+\s+\S+\s*$ + 1 - - - /etc/security - ^pwquality\.conf.* - ^\s*dictcheck\s*=\s*(\d*)\s*(?:#.*)?$ - 1 + + oval:mil.disa.stig.defs:var:23051600 + + + /etc/fstab + ^\s*[^#\s]+\s+/var/log\s+\S+\s+(\S+)\s+\S+\s+\S+\s*$ + 1 - - ^/etc/security/pwquality\.conf.* - ^.*$ - ^\s*dictcheck\s*=\s*(\d*)\s*(?:#.*)?$ - 1 + + oval:mil.disa.stig.linux:var:23051700 + + + /etc/fstab + ^\s*[^#\s]+\s+/var/log/audit\s+\S+\s+(\S+)\s+\S+\s+\S+\s*$ + 1 - - - oval:mil.disa.stig.rhel8:obj:21400 - oval:mil.disa.stig.rhel8:obj:21401 - + + /etc/fstab + ^\s*[^#\s]+\s+/var/log/audit\s+\S+\s+(\S+)\s+\S+\s+\S+\s*$ + 1 - - /etc/login.defs - ^\s*FAIL_DELAY\s+(\d+)\s*$ - 1 + + /etc/fstab + ^\s*[^#\s]+\s+/var/tmp\s+\S+\s+(\S+)\s+\S+\s+\S+\s*$ + 1 - - /etc/ssh/sshd_config - ^\s*(?i)PermitEmptyPasswords(?-i)\s+yes\s*$ + + /etc/fstab + ^\s*[^#\s]+\s+/var/tmp\s+\S+\s+(\S+)\s+\S+\s+\S+\s*$ 1 - - /etc/ssh/sshd_config - ^\s*(?i)PrintLastLog(?-i)[ \t]+([\w\"]+)[\s]*(?:|(?:#.*))?$ + + /etc/firewalld/firewalld.conf + ^\s*FirewallBackend\s*=\s*(\w+)\s*(?:#.*)?$ 1 - - /etc/login.defs - ^\s*UMASK\s+([^#\s]+) + + + /etc/ssh/sshd_config + ^\s*RekeyLimit\s+\d+[kmg]?\s+\d+[smdhw]?\s* 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+-S\s+execve\s+-C\s+uid!=euid\s+-F\s+euid=0\s*((\s+-k\s+|-F\s+key=)\S+\s*)?$ + + + /etc/ssh/sshd_config.d + ^.+\.conf$ + ^\s*RekeyLimit\s+\d+[kmg]?\s+\d+[smdhw]?\s* 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+-S\s+execve\s+-C\s+uid!=euid\s+-F\s+euid=0\s*((\s+-k\s+|-F\s+key=)\S+\s*)?$ + + /etc/dconf/db/local.d + .* + ^\s*\[org/gnome/settings-daemon/plugins/media-keys\]\s+[^\[\]]*^\s*logout=(\S+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+-S\s+execve\s+-C\s+gid!=egid\s+-F\s+egid=0\s*((\s+-k\s+|-F\s+key=)\S+\s*)?$ + + /etc/systemd/system.conf + ^\s*CtrlAltDelBurstAction\s*=\s*(\S+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+-S\s+execve\s+-C\s+gid!=egid\s+-F\s+egid=0\s*((\s+-k\s+|-F\s+key=)\S+\s*)?$ + + + \.conf$ + ^\s*net.ipv6.conf.default.accept_redirects\s*=\s*(\d+)\s*$ 1 - - /etc/audit/auditd.conf - (?i)^\s*action_mail_acct\s*=\s*(\w+)\s*(?:#.*)?$ + + /etc/sysctl.conf + ^\s*net.ipv6.conf.default.accept_redirects\s*=\s*(\d+)\s*$ 1 - - /etc/audit/auditd.conf - (?i)^\s*disk_error_action\s*=\s*(\w+)\s*(?:#.*)?$ - 1 + + + oval:mil.disa.stig.ind:obj:23053500 + oval:mil.disa.stig.ind:obj:23053501 + - - /etc/audit/auditd.conf - (?i)^\s*disk_full_action\s*=\s*(\w+)\s*(?:#.*)?$ + + /etc/sysctl.d + ^.*\.conf$ + ^\s*net\.ipv4\.conf\.all\.send_redirects\s*=\s*(\d+)\s*$ 1 - - /etc/audit/auditd.conf - (?i)^\s*local_events\s*=\s*(\w+)\s*(?:#.*)?$ + + + ^.*\.conf$ + ^\s*net\.ipv4\.conf\.all\.send_redirects\s*=\s*(\d+)\s*$ 1 - - /etc/audit/auditd.conf - (?i)^\s*name_format\s*=\s*(\w+)\s*(?:#.*)?$ + + + \.conf$ + ^\s*net\.ipv4\.icmp_echo_ignore_broadcasts\s*=\s*(\d+)\s*$ 1 - - /etc/audit/auditd.conf - (?i)^\s*log_format\s*=\s*(\w+)\s*(?:#.*)?$ + + /etc/sysctl.conf + ^\s*net\.ipv4\.icmp_echo_ignore_broadcasts\s*=\s*(\d+)\s*$ 1 - - - - - /etc/audit/auditd.conf - ^\s*log_file\s*=\s*(\S+)\s*(?:#.*)?$ - 1 + + + oval:mil.disa.stig.ind:obj:23053700 + oval:mil.disa.stig.ind:obj:23053701 + - - - - - - - /etc/audit/audit.rules - \n[ \t]*-e[ \t]+2\s*$ - 1 + + + oval:mil.disa.stig.ind:obj:23053802 + oval:mil.disa.stig.ind:obj:23053803 + - - /etc/audit/audit.rules - ^--loginuid-immutable$ + + + \.conf$ + (?:^|.*\n)\s*net.ipv6.conf.all.accept_source_route\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-w\s+/etc/shadow(\s+-p\s*([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*))?(\s+(-k\s+|-F\s+key=)\w+)?\s*$ + + /etc/sysctl.conf + (?:^|.*\n)\s*net.ipv6.conf.all.accept_source_route\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-w\s+/etc/security/opasswd(\s+-p\s*([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*))?(\s+(-k\s+|-F\s+key=)\w+)?\s*$ + + /etc/sysctl.conf + (?:^|.*\n)\s*net\.ipv6\.conf\.default\.accept_source_route\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-w\s+/etc/passwd(\s+-p\s*([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*))?(\s+(-k\s+|-F\s+key=)\w+)?\s*$ - 1 + + + oval:mil.disa.stig.ind:obj:23053902 + oval:mil.disa.stig.ind:obj:23053905 + - - /etc/audit/audit.rules - ^\s*-w\s+/etc/gshadow(\s+-p\s*([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*))?(\s+(-k\s+|-F\s+key=)\w+)?\s*$ + + + \.conf$ + (?:^|.*\n)\s*net\.ipv6\.conf\.default\.accept_source_route\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-w\s+/etc/group(\s+-p\s*([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*))?(\s+(-k\s+|-F\s+key=)\w+)?\s*$ + + /etc/sysctl.d + ^.*\.conf$ + ^\s*net\.ipv6\.conf\.all\.forwarding\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-w\s+/etc/sudoers(\s+-p\s*([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*))?(\s+(-k\s+|-F\s+key=)\w+)?\s*$ + + + ^.*\.conf$ + ^\s*net\.ipv6\.conf\.all\.forwarding\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-w\s+/etc/sudoers.d/(\s+-p\s*([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*))?(\s+(-k\s+|-F\s+key=)\w+)?\s*$ + + + \.conf$ + ^\s*net\.ipv6\.conf\.all\.accept_ra\s*=\s*(\d+)\s*$ 1 - - audit - - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/su\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + /etc/sysctl.conf + ^\s*net\.ipv6\.conf\.all\.accept_ra\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+lremovexattr\s+|(\s+|,)lremovexattr(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ - 1 + + + oval:mil.disa.stig.ind:obj:23054100 + oval:mil.disa.stig.ind:obj:23054101 + - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+lremovexattr\s+|(\s+|,)lremovexattr(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + + \.conf$ + ^\s*net\.ipv4\.conf\.default\.send_redirects\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+lremovexattr\s+|(\s+|,)lremovexattr(\s+|,))).*-F\s+auid=0(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + /etc/sysctl.conf + ^\s*net\.ipv4\.conf\.default\.send_redirects\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+lremovexattr\s+|(\s+|,)lremovexattr(\s+|,))).*-F\s+auid=0(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ - 1 + + + oval:mil.disa.stig.ind:obj:23054301 + oval:mil.disa.stig.ind:obj:23054302 + - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+removexattr\s+|(\s+|,)removexattr(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + + \.conf + (?:^|.*\n)\s*net\.ipv6\.conf\.all\.accept_redirects\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+removexattr\s+|(\s+|,)removexattr(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + /etc/sysctl.conf + (?:^|.*\n)\s*net\.ipv6\.conf\.all\.accept_redirects\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+removexattr\s+|(\s+|,)removexattr(\s+|,))).*-F\s+auid=0(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ - 1 + + + oval:mil.disa.stig.ind:obj:23054401 + oval:mil.disa.stig.ind:obj:23054402 + - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+removexattr\s+|(\s+|,)removexattr(\s+|,))).*-F\s+auid=0(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ - 1 + + + oval:mil.disa.stig.ind:obj:23054502 + oval:mil.disa.stig.ind:obj:23054503 + - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+lsetxattr\s+|(\s+|,)lsetxattr(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + /etc/sysctl.conf + ^\s*kernel\.unprivileged_bpf_disabled\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+lsetxattr\s+|(\s+|,)lsetxattr(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + + \.conf$ + (?:^|\.*\n)\s*kernel\.unprivileged_bpf_disabled\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+lsetxattr\s+|(\s+|,)lsetxattr(\s+|,))).*-F\s+auid=0(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + /etc/sysctl.conf + ^\s*kernel\.yama\.ptrace_scope\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+lsetxattr\s+|(\s+|,)lsetxattr(\s+|,))).*-F\s+auid=0(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + + \.conf$ + (?:^|\.*\n)\s*kernel\.yama\.ptrace_scope\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+fsetxattr\s+|(\s+|,)fsetxattr(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + + oval:mil.disa.stig.ind:obj:23054601 + oval:mil.disa.stig.ind:obj:23054602 + + + + + \.conf$ + ^\s*kernel\.kptr_restrict\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+fsetxattr\s+|(\s+|,)fsetxattr(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + /etc/sysctl.conf + ^\s*kernel\.kptr_restrict\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+fsetxattr\s+|(\s+|,)fsetxattr(\s+|,))).*-F\s+auid=0(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + + oval:mil.disa.stig.ind:obj:23054701 + oval:mil.disa.stig.ind:obj:23054702 + + + + + \.conf$ + ^\s*user\.max_user_namespaces\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+fsetxattr\s+|(\s+|,)fsetxattr(\s+|,))).*-F\s+auid=0(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + /etc/sysctl.conf + ^\s*user\.max_user_namespaces\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+fremovexattr\s+|(\s+|,)fremovexattr(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + + oval:mil.disa.stig.ind:obj:23054801 + oval:mil.disa.stig.ind:obj:23054802 + + + + /etc/sysctl.d + ^.*\.conf$ + ^\s*net\.ipv4\.conf\.all\.rp_filter\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+fremovexattr\s+|(\s+|,)fremovexattr(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + + ^.*\.conf$ + ^\s*net\.ipv4\.conf\.all\.rp_filter\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+fremovexattr\s+|(\s+|,)fremovexattr(\s+|,))).*-F\s+auid=0(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + /etc/postfix/main.cf + ^smtpd_client_restrictions[ \t]*=[ \t]*permit_mynetworks[, \t]+reject[ \t]*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+fremovexattr\s+|(\s+|,)fremovexattr(\s+|,))).*-F\s+auid=0(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ - 1 + + + oval:mil.disa.stig.ind:obj:23055501 + oval:mil.disa.stig.ind:obj:23055502 + - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/chage\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + /etc/ssh/sshd_config + ^\s*(?i)X11Forwarding[ \t]+([^\s#]*)[ \t]*(?:|(?:#.*))?$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/chcon\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + /etc/ssh/sshd_config.d + .+ + ^\s*(?i)X11Forwarding[ \t]+([^\s#]*)[ \t]*(?:|(?:#.*))?$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+setxattr\s+|(\s+|,)setxattr(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ - 1 + + + oval:mil.disa.stig.ind:obj:23055601 + oval:mil.disa.stig.ind:obj:23055602 + - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+setxattr\s+|(\s+|,)setxattr(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + /etc/ssh/sshd_config + ^\s*(?i)X11useLocalhost(?-i)[ \t]+([\w\"]+)[\s]*(?:|(?:#.*))?$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+setxattr\s+|(\s+|,)setxattr(\s+|,))).*-F\s+auid=0(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ - 1 + + + /etc/ssh/sshd_config.d + ^.+\.conf$ + ^\s*(?i)X11useLocalhost(?-i)[ \t]+([\w\"]+)[\s]*(?:|(?:#.*))?$ + 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+setxattr\s+|(\s+|,)setxattr(\s+|,))).*-F\s+auid=0(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + /etc/xinetd.d/tftp + ^server_args[ \t]*=[ \t]*-s[ \t]+/\S+[ \t]*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/ssh-agent\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ - 1 + + /etc/sudoers + ^\s*ALL\s+ALL\=\(ALL(?:|\:ALL)\)\s+ALL\s*$ + 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/passwd\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ - 1 + + /etc/sudoers.d + ^.*$ + ^\s*ALL\s+ALL\=\(ALL(?:|\:ALL)\)\s+ALL\s*$ + 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/mount\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + /etc/sudoers + ^\s*Defaults\s+!targetpw\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/umount\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + /etc/sudoers + ^\s*[#@]includedir\s+(\S+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+mount\s+|(\s+|,)mount(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + + ^\s*Defaults\s+!targetpw\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+mount\s+|(\s+|,)mount(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + /etc/sudoers + ^\s*Defaults\s+!rootpw\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/unix_update\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + + ^\s*Defaults\s+!rootpw\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/postdrop\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + /etc/sudoers + ^\s*Defaults\s+!runaspw\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/postqueue\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + + ^\s*Defaults\s+!runaspw\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/semanage\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ - 1 + + + /etc/sudoers + ^\s*Defaults\s+timestamp_timeout\s*=\s*([-\d]+)\s*$ + 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/setfiles\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ - 1 + + + /etc/sudoers.d + ^.*$ + ^\s*Defaults\s+timestamp_timeout\s*=\s*([-\d]+)\s*$ + 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/userhelper\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ - 1 + + + oval:mil.disa.stig.ind:obj:23764300 + oval:mil.disa.stig.ind:obj:23764301 + - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/setsebool\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + /etc/dconf/db/local.d + .* + ^\s*banner-message-enable\s*=\s*(\w+)$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/unix_chkpwd\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + /usr/lib/systemd/system/emergency.service + ^ExecStart=(.*)$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/libexec/openssh/ssh-keysign\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + /etc/pam.d + system-auth + ^[ \t]*password[ \t]+sufficient[ \t]+pam_unix\.so(?:[ \t]+|(?:[ \t][^#\r\f\n]+[ \t]))sha512(?:[ \t]|$) 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/setfacl\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + + /etc/ssh/sshd_config.d + ^.+\.conf$ + ^\s*(?i)GSSAPIAuthentication(?-i)[ \t]+([\w\"]+)[\s]*(?:|(?:#.*))?$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/pam_timestamp_check\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + + /etc/ssh/sshd_config + ^\s*(?i)GSSAPIAuthentication(?-i)[ \t]+([\w\"]+)[\s]*(?:|(?:#.*))?$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/newgrp\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ - 1 + + /etc/fstab + ^\s*[^#\s]+\s+/boot/efi\s+\S+\s+(\S+)\s+\S+\s+\S+\s*$ + 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+init_module\s+|(\s+|,)init_module(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + /etc/dconf/db/local.d/locks + .* + ^/org/gnome/desktop/screensaver/lock-enabled$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+init_module\s+|(\s+|,)init_module(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + /etc/pam.d/password-auth + \bnullok\b 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+rename\s+|(\s+|,)rename(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + /etc/audit/auditd.conf + (?i)^\s*space_left_action\s*=\s*(\w+)\s*(?:#.*)?$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+rename\s+|(\s+|,)rename(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + + \.conf$ + (?:^|\.*\n)\s*net\.ipv4\.conf\.default\.accept_redirects\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+renameat\s+|(\s+|,)renameat(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + /etc/sysctl.conf + (?:^|\.*\n)\s*net\.ipv4\.conf\.default\.accept_redirects\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+renameat\s+|(\s+|,)renameat(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ - 1 + + + oval:mil.disa.stig.ind:obj:24455001 + oval:mil.disa.stig.ind:obj:24455002 + - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+rmdir\s+|(\s+|,)rmdir(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + + \.conf$ + ^\s*net\.ipv4\.conf\.all\.accept_source_route\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+rmdir\s+|(\s+|,)rmdir(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + /etc/sysctl.conf + ^\s*net\.ipv4\.conf\.all\.accept_source_route\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+unlink\s+|(\s+|,)unlink(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ - 1 + + + oval:mil.disa.stig.ind:obj:24455100 + oval:mil.disa.stig.ind:obj:24455101 + - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+unlink\s+|(\s+|,)unlink(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + + \.conf$ + (?:^|\.*\n)\s*net\.ipv4\.conf\.default\.accept_source_route\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+unlinkat\s+|(\s+|,)unlinkat(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + /etc/sysctl.conf + (?:^|.*\n)\s*net\.ipv4\.conf\.default\.accept_source_route\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+unlinkat\s+|(\s+|,)unlinkat(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ - 1 + + + oval:mil.disa.stig.ind:obj:24455201 + oval:mil.disa.stig.ind:obj:24455202 + - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/gpasswd\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + + \.conf$ + ^\s*net\.ipv4\.conf\.all\.accept_redirects\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+finit_module\s+|(\s+|,)finit_module(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + /etc/sysctl.conf + ^\s*net\.ipv4\.conf\.all\.accept_redirects\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+finit_module\s+|(\s+|,)finit_module(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ - 1 + + + oval:mil.disa.stig.ind:obj:24455300 + oval:mil.disa.stig.ind:obj:24455301 + - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+delete_module\s+|(\s+|,)delete_module(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + + oval:mil.disa.stig.ind:obj:24455402 + oval:mil.disa.stig.ind:obj:24455403 + + + + + \.conf$ + ^\s*net\.core\.bpf_jit_harden\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+delete_module\s+|(\s+|,)delete_module(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + /etc/sysctl.conf + ^\s*net\.core\.bpf_jit_harden\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/crontab\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + /etc/shadow + ^[^:]+::[^:]*:[^:]*: 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/chsh\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + + /etc/pam.d/system-auth + ^\s*password\s+(?:required|requisite)\s+(.*)$ 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/pam.d/password-auth + ^[ \t]*password[ \t]+(?:(?:required)|(?:requisite))[ \t]+pam_pwquality\.so(?:[ \t]+|(?:[ \t][^#\r\f\n]+[ \t]+))retry=([0-9]+)(?:\s|$) + 1 + + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+truncate\s+|(\s+|,)truncate(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+rename\s+|(\s+|,)rename(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+truncate\s+|(\s+|,)truncate(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+rename\s+|(\s+|,)rename(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+truncate\s+|(\s+|,)truncate(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+renameat\s+|(\s+|,)renameat(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+truncate\s+|(\s+|,)truncate(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+renameat\s+|(\s+|,)renameat(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+openat\s+|(\s+|,)openat(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+openat\s+|(\s+|,)openat(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+openat\s+|(\s+|,)openat(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+unlink\s+|(\s+|,)unlink(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+openat\s+|(\s+|,)openat(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+unlink\s+|(\s+|,)unlink(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+open\s+|(\s+|,)open(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+unlinkat\s+|(\s+|,)unlinkat(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+open\s+|(\s+|,)open(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+unlinkat\s+|(\s+|,)unlinkat(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+open\s+|(\s+|,)open(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+fsetxattr\s+|(\s+|,)fsetxattr(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+open\s+|(\s+|,)open(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+fsetxattr\s+|(\s+|,)fsetxattr(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+open_by_handle_at\s+|(\s+|,)open_by_handle_at(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+fsetxattr\s+|(\s+|,)fsetxattr(\s+|,))).*-F\s+auid=0(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+open_by_handle_at\s+|(\s+|,)open_by_handle_at(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+fsetxattr\s+|(\s+|,)fsetxattr(\s+|,))).*-F\s+auid=0(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+open_by_handle_at\s+|(\s+|,)open_by_handle_at(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+open_by_handle_at\s+|(\s+|,)open_by_handle_at(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+ftruncate\s+|(\s+|,)ftruncate(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+ftruncate\s+|(\s+|,)ftruncate(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+ftruncate\s+|(\s+|,)ftruncate(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+fremovexattr\s+|(\s+|,)fremovexattr(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+ftruncate\s+|(\s+|,)ftruncate(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+fremovexattr\s+|(\s+|,)fremovexattr(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+creat\s+|(\s+|,)creat(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+fremovexattr\s+|(\s+|,)fremovexattr(\s+|,))).*-F\s+auid=0(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+creat\s+|(\s+|,)creat(\s+|,))).*-F\s+exit=-EPERM\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+fremovexattr\s+|(\s+|,)fremovexattr(\s+|,))).*-F\s+auid=0(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+creat\s+|(\s+|,)creat(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+lremovexattr\s+|(\s+|,)lremovexattr(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+creat\s+|(\s+|,)creat(\s+|,))).*-F\s+exit=-EACCES\s+-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+lremovexattr\s+|(\s+|,)lremovexattr(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+chown\s+|(\s+|,)chown(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+lremovexattr\s+|(\s+|,)lremovexattr(\s+|,))).*-F\s+auid=0(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+chown\s+|(\s+|,)chown(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+lremovexattr\s+|(\s+|,)lremovexattr(\s+|,))).*-F\s+auid=0(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+chmod\s+|(\s+|,)chmod(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+chmod\s+|(\s+|,)chmod(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+lchown\s+|(\s+|,)lchown(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+lchown\s+|(\s+|,)lchown(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+fchownat\s+|(\s+|,)fchownat(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + + \.conf$ + (?:^|\.*\n)\s*net\.ipv6\.conf\.default\.accept_ra\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+fchownat\s+|(\s+|,)fchownat(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + /etc/sysctl.conf + (?:^|\.*\n)\s*net\.ipv6\.conf\.default\.accept_ra\s*=\s*(\d+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+fchown\s+|(\s+|,)fchown(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + + oval:mil.disa.stig.ind:obj:25312001 + oval:mil.disa.stig.ind:obj:25312002 + + + + /etc/systemd/logind.conf + ^\s*StopIdleSessionSec\s*=\s*(-?\d*)\s*(?:#.*)?$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+fchown\s+|(\s+|,)fchown(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + /boot/loader/entries + ^.*\.conf$ + ^options\s+(.*)$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+fchmodat\s+|(\s+|,)fchmodat(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + /etc/default/grub + ^GRUB_CMDLINE_LINUX="(.*)" 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+fchmodat\s+|(\s+|,)fchmodat(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + /etc/fstab + ^\s*[^#\s][^\s]*\s+[^\s]+\s+nfs[^\s]*\s+([^\s]+) 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+fchmod\s+|(\s+|,)fchmod(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + + /etc/ssh/sshd_config + ^\s*include\s+(.*)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+fchmod\s+|(\s+|,)fchmod(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + + /etc/ssh/sshd_config + ^\s*(?i)ClientAliveInterval(?-i)[ \t]+([\w\"]+)[\s]*(?:|(?:#.*))?$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/sudo\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + /etc/ssh/sshd_config.d + .+ + ^\s*(?i)ClientAliveInterval(?-i)[ \t]+([\w\"]+)[\s]*(?:|(?:#.*))?$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/usermod\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + + oval:mil.disa.stig.ind:obj:25799600 + oval:mil.disa.stig.ind:obj:25799601 + + + + /etc/dconf/profile/user + ^\s*system-db\s*:\s*local\s*$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/chacl\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + /etc/dconf/db/local.d + 00-screensaver + ^\s*\[org\/gnome\/desktop\/screensaver]\s*\n+[^\[]*lock-enabled\s*=\s*(\w+)$ 1 - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/kmod\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + + /etc/dconf/profile/user + ^system-db:(\S+)\s*$ 1 - - /etc/audit/audit.rules - ^\s*-w\s+/var/log/lastlog(\s+-p\s*([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*))?(\s+(-k\s+|-F\s+key=)\w+)?\s*$ + + + .* + ^/org/gnome/desktop/screensaver/lock-delay$ 1 - - /etc/audit/auditd.conf - - - /etc/audit/rules.d - .rules$ - - - - - - rsyslog-gnutls - - - /etc/audit/auditd.conf - (?i)^\s*overflow_action\s*=\s*(\w+)\s*(?:#.*)?$ + + /etc/dconf/db/local.d + .+ + ^\s*\[org\/gnome\/login-screen]\s*\n+[^\[]*disable-user-list\s*=\s*(\w+)$ 1 - - /etc/audit/auditd.conf - (?i)^\s*space_left\s*=\s*([%\d]+)\s*(?:#.*)?$ + + oval:mil.disa.stig.defs:var:25804500 + + + /etc/pam.d/sudo + ^\s*[^#\n]*\bpam_succeed_if\b 1 - - /etc/chrony.conf - ^[ \t]*port[ \t]+0[ \t]*$ + + + oval:mil.disa.stig.ind:obj:25814601 + oval:mil.disa.stig.ind:obj:25814602 + + + + + /etc/rsyslog.conf + ^\$ActionSendStreamDriverAuthMode\s+(\S+)\s*$ 1 - - /etc/chrony.conf - ^[ \t]*cmdport[ \t]+0[ \t]*$ + + + /etc/rsyslog.d + ^.*\.conf$ + ^\$ActionSendStreamDriverAuthMode\s+(\S+)\s*$ 1 - + + redhat-release + + + gnome-shell + + + gnome-shell + + + krb5-server + + + krb5-workstation + + + /sys/fs/selinux + + + policycoreutils + + + crypto-policies + + + openssl-pkcs11 + + + /var + + + /var/log + + + + + + /tmp + + + /boot + + + ^/\S+$ + oval:mil.disa.stig.linux:ste:23030102 + + + systemd-coredump.socket + LoadState + + + systemd-coredump.socket + UnitFileState + + + .*\/home + + + audit + + + rsyslog + + + rsyslog-gnutls + + telnet-server - + ^abrt - + sendmail - + rsh-server - - ^/usr/sbin/sshd\b - 1 - - + + autofs.service + ActiveState + + + firewalld + + /dev/shm - - /etc/fstab - ^\s*[^#\s]+\s+/dev/shm\s+\S+\s+(\S+)\s+\S+\s+\S+\s*$ - 1 - - - oval:mil.disa.stig.rhel8:var:33000 - - - /etc/fstab - ^\s*[^#\s]+\s+/tmp\s+\S+\s+(\S+)\s+\S+\s+\S+\s*$ - 1 - - - oval:mil.disa.stig.rhel8:var:33300 - - - /etc/fstab - ^\s*[^#\s]+\s+/var/log\s+\S+\s+(\S+)\s+\S+\s+\S+\s*$ - 1 - - + + /dev/shm + + + /tmp + + + /tmp + + + /var/log + + + /var/log + + + /var/log + + /var/log/audit - - oval:mil.disa.stig.rhel8:var:33600 - - - /etc/fstab - ^\s*[^#\s]+\s+/var/log/audit\s+\S+\s+(\S+)\s+\S+\s+\S+\s*$ - 1 - - + + /var/log/audit + + /var/tmp - - /etc/fstab - ^\s*[^#\s]+\s+/var/tmp\s+\S+\s+(\S+)\s+\S+\s+\S+\s*$ - 1 - - + + /var/tmp + + openssh-server - - /etc/ssh/sshd_config - ^\s*(?i)RekeyLimit\s+(?:\d+[kmg]?)\s+(?:\d+[smdhw]?)+(?-i)\s* - 1 - - - /etc/systemd/system.conf - ^\s*CtrlAltDelBurstAction\s*=\s*(\S+)\s*$ - 1 - - + tftp-server - - root - - - net.ipv6.conf.default.accept_redirects + + postfix + + + xorg-x11-server-common + + + ^.*ftpd.*$ + + + gssproxy + + + iprutils + + + tuned + + + rsyslog.service + UnitFileState + + + rng-tools + + + /var/tmp + + + /boot/efi + + + fapolicyd.service + ActiveState + + + openssh-server + + + autofs + + + firewalld.service + ActiveState + + + usbguard + + + usbguard.service + ActiveState + + + fapolicyd + + + rsyslog.service + ActiveState + + + auditd.service + ActiveState + + + auditd.service + SubState + + + /sys/firmware/efi + + + + net.ipv6.conf.all.disable_ipv6 - - /etc/sysctl.conf - (?:^|.*\n)\s*net.ipv6.conf.default.accept_redirects\s*=\s*(\d+)\s*$ - 1 - - - - ^.*\.conf$ - (?:^|.*\n)\s*net.ipv6.conf.default.accept_redirects\s*=\s*(\d+)\s*$ - 1 - - + + + .* + + - oval:mil.disa.stig.rhel8:obj:34805 - oval:mil.disa.stig.rhel8:obj:34806 + oval:mil.disa.stig.unix:obj:20000008 + oval:mil.disa.stig.unix:ste:20000002 - - + + + + + + [\w]+ + + + + oval:mil.disa.stig.unix:obj:20000016 + oval:mil.disa.stig.unix:ste:20000017 + + + + + oval:mil.disa.stig.unix:obj:20000016 + oval:mil.disa.stig.unix:ste:20000018 + + + + /etc + \.keytab$ + + + /var/log/messages + + + /var/log/messages + + + /var/log/messages + + + /var/log + + + + /var/log + + + + /var/log + + + + + .* + + + + oval:mil.disa.stig.unix:obj:23025800 + oval:mil.disa.stig.unix:ste:23025800 + + + + + + .* + oval:mil.disa.stig.unix:ste:23026005 + oval:mil.disa.stig.unix:ste:23026003 + + + + + .* + oval:mil.disa.stig.unix:ste:23026005 + oval:mil.disa.stig.unix:ste:23026004 + + + + + .* + oval:mil.disa.stig.unix:ste:20000015 + oval:mil.disa.stig.unix:ste:20000005 + + + + + .* + oval:mil.disa.stig.unix:ste:20000015 + oval:mil.disa.stig.unix:ste:20000006 + + + kernel.kexec_load_disabled + + + fs.protected_symlinks + + + fs.protected_hardlinks + + + kernel.dmesg_restrict + + + kernel.perf_event_paranoid + + + kernel.randomize_va_space + + + + / + shosts.equiv + + + + / + .shosts + + + + /etc/ssh + ^.*\.pub$ + + + /etc/ssh + ^ssh_host_.*_key$ + + + kernel.core_pattern + + + + ^\.[^\s\.]+ + + + + ^\.[^\s\.]+ + + + + /etc/dconf/db + + oval:mil.disa.stig.unix:ste:23035100 + + + + oval:mil.disa.stig.unix:ste:23036400 + oval:mil.disa.stig.unix:ste:23036401 + + + .+ + oval:mil.disa.stig.unix:ste:23036702 + + + .* + oval:mil.disa.stig.unix:ste:23036704 + oval:mil.disa.stig.unix:ste:23036703 + + + root + + + + + + + + + + /etc/audit/auditd.conf + + + /etc/audit/rules.d + .rules$ + + + + + + ^/usr/sbin/sshd\b + 1 + + + /etc/systemd/system/ctrl-alt-del.target + + + /etc/systemd/system/debug-shell.service + + + root + + + net.ipv6.conf.default.accept_redirects + + net.ipv4.conf.all.send_redirects - - /etc/sysctl.conf - (?:^|.*\n)\s*net.ipv4.conf.all.send_redirects\s*=\s*(\d+)\s*$ - 1 - - - - ^.*\.conf$ - (?:^|.*\n)\s*net.ipv4.conf.all.send_redirects\s*=\s*(\d+)\s*$ - 1 - - - - oval:mil.disa.stig.rhel8:obj:34901 - oval:mil.disa.stig.rhel8:obj:34902 - - - + net.ipv4.icmp_echo_ignore_broadcasts - - /etc/sysctl.conf - (?:^|.*\n)\s*net.ipv4.icmp_echo_ignore_broadcasts\s*=\s*(\d+)\s*$ - 1 - - - - ^.*\.conf$ - (?:^|.*\n)\s*net.ipv4.icmp_echo_ignore_broadcasts\s*=\s*(\d+)\s*$ - 1 - - - - oval:mil.disa.stig.rhel8:obj:35001 - oval:mil.disa.stig.rhel8:obj:35002 - - - - - \.conf$ - (?:^|.*\n)\s*net.ipv6.conf.all.accept_source_route\s*=\s*(\d+)\s*$ - 1 - - - - oval:mil.disa.stig.rhel8:obj:35101 - oval:mil.disa.stig.rhel8:obj:35105 - - - + net.ipv6.conf.all.accept_source_route - - /etc/sysctl.conf - (?:^|.*\n)\s*net.ipv6.conf.all.accept_source_route\s*=\s*(\d+)\s*$ - 1 - - - /etc/sysctl.conf - (?:^|.*\n)\s*net\.ipv6\.conf\.default\.accept_source_route\s*=\s*(\d+)\s*$ - 1 - - - - oval:mil.disa.stig.rhel8:obj:35202 - oval:mil.disa.stig.rhel8:obj:35205 - - - + net.ipv6.conf.default.accept_source_route - - - \.conf$ - (?:^|.*\n)\s*net\.ipv6\.conf\.default\.accept_source_route\s*=\s*(\d+)\s*$ - 1 - - - - \.conf$ - (?:^|.*\n)\s*net\.ipv6\.conf\.all\.forwarding\s*=\s*(\d+)\s*$ - 1 - - - - oval:mil.disa.stig.rhel8:obj:35301 - oval:mil.disa.stig.rhel8:obj:35305 - - - + net.ipv6.conf.all.forwarding - - /etc/sysctl.conf - (?:^|.*\n)\s*net\.ipv6\.conf\.all\.forwarding\s*=\s*(\d+)\s*$ - 1 - - + net.ipv6.conf.all.accept_ra - - /etc/sysctl.conf - (?:^|\.*\n)\s*net\.ipv6\.conf\.all\.accept_ra\s*=\s*(\d+)\s*$ - 1 - - - - \.conf$ - (?:^|\.*\n)\s*net\.ipv6\.conf\.all\.accept_ra\s*=\s*(\d+)\s*$ - 1 - - - - oval:mil.disa.stig.rhel8:obj:35401 - oval:mil.disa.stig.rhel8:obj:35402 - - - - net.ipv6.conf.default.accept_ra - - - - \.conf$ - (?:^|\.*\n)\s*net\.ipv6\.conf\.default\.accept_ra\s*=\s*(\d+)\s*$ - 1 - - - /etc/sysctl.conf - (?:^|\.*\n)\s*net\.ipv6\.conf\.default\.accept_ra\s*=\s*(\d+)\s*$ - 1 - - - - oval:mil.disa.stig.rhel8:obj:35501 - oval:mil.disa.stig.rhel8:obj:35502 - - - + net.ipv4.conf.default.send_redirects - - - \.conf$ - ^\s*net\.ipv4\.conf\.default\.send_redirects\s*=\s*(\d+)\s*$ - 1 - - - /etc/sysctl.conf - ^\s*net\.ipv4\.conf\.default\.send_redirects\s*=\s*(\d+)\s*$ - 1 - - - - oval:mil.disa.stig.rhel8:obj:35601 - oval:mil.disa.stig.rhel8:obj:35602 - - - + net.ipv6.conf.all.accept_redirects - - - \.conf - (?:^|.*\n)\s*net\.ipv6\.conf\.all\.accept_redirects\s*=\s*(\d+)\s*$ - 1 - - - /etc/sysctl.conf - (?:^|.*\n)\s*net\.ipv6\.conf\.all\.accept_redirects\s*=\s*(\d+)\s*$ - 1 - - - - oval:mil.disa.stig.rhel8:obj:35701 - oval:mil.disa.stig.rhel8:obj:35702 - - - + kernel.unprivileged_bpf_disabled - - /etc/sysctl.conf - ^\s*kernel\.unprivileged_bpf_disabled\s*=\s*(\d+)\s*$ - 1 - - - - \.conf$ - (?:^|\.*\n)\s*kernel\.unprivileged_bpf_disabled\s*=\s*(\d+)\s*$ - 1 - - - - oval:mil.disa.stig.rhel8:obj:35801 - oval:mil.disa.stig.rhel8:obj:35802 - - - + kernel.yama.ptrace_scope - - /etc/sysctl.conf - ^\s*kernel\.yama\.ptrace_scope\s*=\s*(\d+)\s*$ - 1 - - - - \.conf$ - (?:^|\.*\n)\s*kernel\.yama\.ptrace_scope\s*=\s*(\d+)\s*$ - 1 - - - - oval:mil.disa.stig.rhel8:obj:35901 - oval:mil.disa.stig.rhel8:obj:35902 - - - + kernel.kptr_restrict - - - \.conf$ - ^\s*kernel\.kptr_restrict\s*=\s*(\d+)\s*$ - 1 - - - /etc/sysctl.conf - ^\s*kernel\.kptr_restrict\s*=\s*(\d+)\s*$ - 1 - - - - oval:mil.disa.stig.rhel8:obj:36001 - oval:mil.disa.stig.rhel8:obj:36002 - - - + user.max_user_namespaces - - - \.conf$ - ^\s*user\.max_user_namespaces\s*=\s*(\d+)\s*$ - 1 - - - /etc/sysctl.conf - ^\s*user\.max_user_namespaces\s*=\s*(\d+)\s*$ - 1 - - - - oval:mil.disa.stig.rhel8:obj:36101 - oval:mil.disa.stig.rhel8:obj:36102 - - - + net.ipv4.conf.all.rp_filter - - - \.conf$ - ^\s*net\.ipv4\.conf\.all\.rp_filter\s*=\s*(\d+)\s*$ - 1 - - - /etc/sysctl.conf - ^\s*net\.ipv4\.conf\.all\.rp_filter\s*=\s*(\d+)\s*$ - 1 - - - - oval:mil.disa.stig.rhel8:obj:36201 - oval:mil.disa.stig.rhel8:obj:36202 - - - - postfix - - - /etc/postfix/main.cf - ^smtpd_client_restrictions[ \t]*=[ \t]*permit_mynetworks[, \t]+reject[ \t]*$ - 1 - - - - /etc/ssh/sshd_config - ^\s*X11Forwarding[ \t]+([^\s#]*)[ \t]*(?:|(?:#.*))?$ - 1 - - - /etc/ssh/sshd_config - ^\s*(?i)X11UseLocalhost(?-i)\s+"?(\S+?)"?\s*(?:#.*|$) - 1 - - - /etc/xinetd.d/tftp - ^server_args[ \t]*=[ \t]*-s[ \t]+/\S+[ \t]*$ - 1 - - - ^.*ftpd.*$ - - - iprutils - - - tuned - - - rsyslog - - - /etc/sudoers - ^\s*ALL\s+ALL\=\(ALL(?:|\:ALL)\)\s+ALL\s*$ - 1 - - - /etc/sudoers.d - ^.*$ - ^\s*ALL\s+ALL\=\(ALL(?:|\:ALL)\)\s+ALL\s*$ - 1 - - - /etc/sudoers - ^\s*Defaults\s+\!targetpw\s*$ - 1 - - - /etc/sudoers.d - ^.*$ - ^\s*Defaults\s+\!targetpw\s*$ - 1 - - - /etc/sudoers - ^\s*Defaults\s+\!rootpw\s*$ - 1 - - - /etc/sudoers.d - ^.*$ - ^\s*Defaults\s+\!rootpw\s*$ - 1 - - - /etc/sudoers - ^\s*Defaults\s+\!runaspw\s*$ - 1 - - - /etc/sudoers.d - ^.*$ - ^\s*Defaults\s+\!runaspw\s*$ - 1 - - - - /etc/sudoers - ^\s*Defaults\s+timestamp_timeout\s*=\s*([-\d]+)\s*$ - 1 - - - + + .* + + /etc/sudoers.d - ^.*$ - ^\s*Defaults\s+timestamp_timeout\s*=\s*([-\d]+)\s*$ - 1 - - - - oval:mil.disa.stig.rhel8:obj:41600 - oval:mil.disa.stig.rhel8:obj:41601 - - - - /etc/pam.d/password-auth - \bnullok\b - 1 - - + ^[^.]*[^.~]$ + + + net.ipv4.conf.default.accept_redirects + + + net.ipv4.conf.all.accept_source_route + + + net.ipv4.conf.default.accept_source_route + + + net.ipv4.conf.all.accept_redirects + + net.core.bpf_jit_harden - - - \.conf$ - ^\s*net\.core\.bpf_jit_harden\s*=\s*(\d+)\s*$ - 1 - - - /etc/sysctl.conf - ^\s*net\.core\.bpf_jit_harden\s*=\s*(\d+)\s*$ - 1 - - - - oval:mil.disa.stig.rhel8:obj:47701 - oval:mil.disa.stig.rhel8:obj:47702 - - - - /etc/shadow - ^[^:]+::[^:]*:[^:]*: - 1 - - - - .* + + + + + oval:mil.disa.stig.unix:ste:25170800 - - - oval:mil.disa.stig.unix:obj:20000008 - oval:mil.disa.stig.unix:ste:20000002 - + + + + + oval:mil.disa.stig.unix:ste:25170900 - - + + /etc/systemd/system/default.target + + + net.ipv6.conf.default.accept_ra + + + .* + oval:mil.disa.stig.unix:ste:25789000 + oval:mil.disa.stig.unix:ste:25789002 + oval:mil.disa.stig.unix:ste:25789003 + + + + - - .+ - oval:mil.disa.stig.unix:ste:23036702 - - - .* - oval:mil.disa.stig.unix:ste:23036704 - oval:mil.disa.stig.unix:ste:23036703 + + .* + oval:mil.disa.stig.unix:ste:25804500 - - root - + + (?:^nosuid$|^nosuid,|,nosuid$|,nosuid,) + + + (?:^nosuid$|^nosuid,|,nosuid$|,nosuid,) + + + false + + + true + + + 0 + 1 + + 2 + 8 10 + + none + 0 + + ^(yes|"yes")$ + + + ^(no|"no")$ + ^[123]$ + + 0 + 0 ^(True|1|yes)$ - - targeted - - - 10 - - - 4 - - - 3 - - - 4 - - - 8 - - - 15 - - - 900 - - - 8\.[0-3] - - - selinuxfs - - - 8 - - - 2 + + (?i)^yes$ - - 1 - - - 1 + + 0 - - 1 + + (?i)(?:^|\n)[^#]*\btype\s*=\s*"omfwd" - + SHA512 - + ^[!*] - + ^[$][6] - - 5000 - - - ^\S+$ - - - ^grub.pbkdf2.sha512 + + 100000 - + ^\S+$ - - ^grub.pbkdf2.sha512 + + ^grub\.pbkdf2\.sha512 - - 18 - 1.17 - - - 1.17 - - - false - false - false - false - false - false - false - false - false - - - 0 - - - 0 - - - false - false - false - false - false - - - 20210617 - - - TLSv1.2 + + 0 - - TLSv1.3 + + enforcing - - DTLSv1.2 + + TLSv1\.[2|3] - - DTLSv1.3 + + DTLSv1\.[2|3] - - symbolic link - - - 1000 - - + \n\s*gpgcheck\s*=\s*(True|1|yes)\s*(\n|$) - + \n\s*gpgcheck\s*=\s*(False|0|no)\s*(\n|$) - - 1 - - - 1 - - - 1 - - + 1 - - 1 - - + 1 - - 1 - - - 1 + + (^|\s)vsyscall=none(\s|$) - - 2 - - - 2 + + (^|\s)slub_debug=P(\s|$) - - 2 - - + 2 - - false - false - false - false - false - false - false - false - - - ^(yes|"yes")$ - - - ^(yes|"yes")$ - - - no + + targeted - - ^(no|"no")$ + + (?:^nodev$|^nodev,|,nodev$|,nodev,) - - ^/dev\S*$ - - + ^.*noexec.*$ - - ^.*nodev.*$ - - - ^.*nosuid.*$ - - - ^\|\s*/bin/false\s*$ - - - ^\|\s*/bin/false\s*$ + + |/bin/false - + 0 - - 0 - - - yes - - - no - - - 3 - - - 2 + + 0 - - 0 + + (^|\s)dns(\s|$) - + + 2 + + 3 - - 2 - - - 0 - - + 900 - - 0 - - - 900 - - - 2 + + 900 - - 0 + + 10 - - 0 + + \nremoval-action='lock-screen'\s*(\n|$) - - 2 + + 4 - - 2 + + 3 - - 2 + + 4 - - 2 + + 8 - - 1000 - - - - - + 1 - - 0 - - + 60 - + 15 - - 0 - - + 35 - + 4 - - ^(yes|"yes")$ - - + 077 - + (?i)^root$ - + (?i)^syslog$ - + (?i)^single$ - + (?i)^halt$ - - (?i)^yes$ + + (?i)^syslog$ + + + (?i)^single$ + + + (?i)^halt$ - + (?i)^hostname$ - + (?i)^fqd$ - + (?i)^numeric$ - + (?i)^enriched$ - - 0 - - - 0 - - - false - false - false - false - false - false - false - false - false - - + + (^|\s)audit=1(\s|$) + + + 8192 + + 25% - - 0:7.6p1-0 - - - nodev - - - nosuid - - - noexec - - + + (^|\s)pti=on(\s|$) + + + (?:^nosuid$|^nosuid,|,nosuid$|,nosuid,) + + + (?:^noexec$|^noexec,|,noexec$|,noexec,) + + + nodev + + + ^.*nosuid.*$ + + nodev - + nosuid - + noexec - + + nodev + + + ^.*noexec.*$ + + (?:^nodev$|^nodev,|,nodev$|,nodev,) - + (?:^nosuid$|^nosuid,|,nosuid$|,nosuid,) - - (?:^noexec$|^noexec,|,noexec$|,noexec,) + + nftables - + ^(?i)\s*RekeyLimit\s+[1-9][0-9]*[kmg]?\s+([1-9][0-9]*[smhdw]?)+\s*$ - - none - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 1 - - - 1 + + '' - - 0 - - + 0 - - 0 - - - 0 + + 1 - - 0 - - - 0 + + 2 - - 0 - - - 0 + + 1 - - 0 - - - 0 + + /etc/sudoers.d - - 0 - - - 0 + + -/usr/lib/systemd/systemd-sulogin-shell emergency - - 1 - - - 1 + + (?i)^email$ - - 1 - - - 1 + + ^pam_pwquality.so(\s|$) - - 1 - - - 1 + + 900 - - 2 - - - 2 + + (^|\s)page_poison=1(\s|$) - - 0 - - - 0 + + /etc/ssh/sshd_config.d/*.conf - - 2 - - - 2 + + 600 - - ^(no|"no")$ + + 0 - - yes + + + + + x509/name - - 0 + + (?i)(?:^|\n)[^#]*\bStreamDriver\.?AuthMode\s*=\s*"x509/name" + + (?i)(?:^|\n)[^#]*\bStreamDriver\.?AuthMode\b + + + 8\.[0-1]$ + + + 8\.([2-9]|10) + + + 8\.[0-3]$ + + + 8\.([4-9]|10) + + + 18 + 1.17 + + + 1.17 + + + noexec + + + nodev + + + nosuid + + + active + + + running + + + masked + + + enabled + + + inactive + + + selinuxfs + + + 20210617 + + + ^/dev\S*$ + + + nosuid + + + noexec + + + active + + + false + false + false + false + false + false + false + false + symbolic link @@ -18618,6 +25555,110 @@ By limiting the number of attempts to meet the pwquality module complexity requi false false + + 0 + + + 0 + + + false + false + false + false + false + false + false + false + false + + + false + false + false + false + false + + + 0 + + + 1 + + + 2 + + + /dev/null + + + regular + + + .+ + + + 1000 + + + 0 + + + false + false + false + false + false + false + false + false + + + false + false + false + false + false + false + false + false + + + symbolic link + + + 1000 + + + true + + + true + + + regular + + + 1 + + + 1 + + + 2 + + + |/bin/false + + + ^/etc/dconf/db/.*\.d$ + + + 1000 + + + + 0 @@ -18633,6 +25674,56 @@ By limiting the number of attempts to meet the pwquality module complexity requi 1000 + + false + false + false + false + false + false + false + false + false + + + 0 + + + 0 + + + 1 + + + 2 + + + 1 + + + (^|\s)PROMISC(\s|$) + + + directory + + + directory + + + [\S]*\/multi\-user\.target$ + + + ^.*nologin.*$ + + + 1000 + + + 65534 + + + 1000 + @@ -18646,61 +25737,94 @@ By limiting the number of attempts to meet the pwquality module complexity requi - - - ^ - - $ - - - - 65534 - 65535 - 4294967294 - 4294967295 - - - /bin - /sbin - /usr/bin - /usr/sbin - /usr/local/bin - /usr/local/sbin - - + /etc/sysctl.d /run/sysctl.d /lib/sysctl.d /usr/lib/sysctl.d /usr/local/lib/sysctl.d - - /etc/sysctl.d + + ^\s*-a\s+(?:always,exit|exit,always) + + + \s+-F\s+arch=b32 + + + \s+-F\s+arch=b64 + + + \s+(?:-S\s+[,\w]+\s+)* + + + -S\s+[,\w]*\b + + + \b[,\w]* + + + -F\s+auid>=1000\s+-F\s+auid!=(?:4294967295|-1|unset) + + + (?:\s+(?:-k\s+|-F\s+key=)[-\w]+)*\s*$ + + + -F\s+auid=0 + + /run/sysctl.d /lib/sysctl.d /usr/lib/sysctl.d /usr/local/lib/sysctl.d - - + + /lib + /lib64 + /usr/lib + /usr/lib64 + + + - + ^[^# \t]+\s+ - + \s+ - - + + + + + + + + + + + - - + + - - + + + ^ + + $ + + + + 65534 + 65535 + 4294967294 + 4294967295 + + + - + /sbin/auditctl /sbin/aureport /sbin/ausearch @@ -18709,44 +25833,215 @@ By limiting the number of attempts to meet the pwquality module complexity requi /sbin/rsyslogd /sbin/augenrules - + - + - + + + + + + + + + + rmdir + + + + + + + + + + + + + rmdir + + + + + + + + + + + + + lsetxattr + + + + + + + + + + + + + lsetxattr + + + + + + + + + + + + + lsetxattr + + + + + + + + + + + + + lsetxattr + + + + + + + + + + + + + removexattr + + + + + + + + + + + + + removexattr + + + + + + + + + + + + + removexattr + + + + + + + + + + + + + removexattr + + + + + + + + + + + + /etc/dconf/db/ + + .d/locks + + + + + + + + + + + + + + + + /etc/sysctl.d + /run/sysctl.d + /lib/sysctl.d + /usr/lib/sysctl.d + /usr/local/lib/sysctl.d + + + + + + + + + - + - + - + - - /etc/sysctl.d + /run/sysctl.d - /usr/local/lib/sysctl.d - /usr/lib/sysctl.d /lib/sysctl.d - - - /etc/sysctl.d - /run/sysctl.d - /usr/local/lib/sysctl.d /usr/lib/sysctl.d - /lib/sysctl.d + /usr/local/lib/sysctl.d + + + + + + + + + + - + - Security Content Tool 0.9.0 + Security Content Tool 1.2.0 5.11 - 2024-09-26T04:15:57 + 2025-01-02T03:58:37 diff --git a/shared/references/disa-stig-rhel9-v2r1-xccdf-scap.xml b/shared/references/disa-stig-rhel9-v2r3-xccdf-scap.xml similarity index 90% rename from shared/references/disa-stig-rhel9-v2r1-xccdf-scap.xml rename to shared/references/disa-stig-rhel9-v2r3-xccdf-scap.xml index 1c187bcb8e1..f8f8ecc0f36 100644 --- a/shared/references/disa-stig-rhel9-v2r1-xccdf-scap.xml +++ b/shared/references/disa-stig-rhel9-v2r3-xccdf-scap.xml @@ -1,36 +1,36 @@ - - + + - + - + - + - + - - + + - + Red Hat Enterprise Linux 9 - oval:mil.disa.stig.rhel9os:def:1 + oval:mil.disa.stig.rhel9os:def:1 - + - accepted + accepted Red Hat Enterprise Linux 9 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,55 +40,61 @@ DISA STIG.DOD.MIL - Release: 2.1 Benchmark Date: 24 Jul 2024 + Benchmark Date: 30 Jan 2025 3.5 1.10.0 Linux with BIND installed - + Gnome-shell Package - + Linux UEFI Boot - + Linux with NFS mounts configured - + Linux IPv6 Enabled - + Linux with Libreswan installed - + - - Linux BIOS Boot + + Linux with postfix installed - + + + + + Linux with autofs installed + + - 002.001 + 002.003 DISA DISA @@ -167,7 +173,6 @@ - @@ -308,8 +313,8 @@ - + @@ -347,10 +352,6 @@ - - - - @@ -386,7 +387,6 @@ - @@ -397,7 +397,6 @@ - @@ -416,7 +415,6 @@ - @@ -506,9 +504,6 @@ - - - @@ -583,7 +578,6 @@ - @@ -724,8 +718,8 @@ - + @@ -763,10 +757,6 @@ - - - - @@ -802,7 +792,6 @@ - @@ -813,7 +802,6 @@ - @@ -832,7 +820,6 @@ - @@ -922,9 +909,6 @@ - - - @@ -999,7 +983,6 @@ - @@ -1140,8 +1123,8 @@ - + @@ -1179,10 +1162,6 @@ - - - - @@ -1218,7 +1197,6 @@ - @@ -1229,7 +1207,6 @@ - @@ -1248,7 +1225,6 @@ - @@ -1338,9 +1314,6 @@ - - - @@ -1415,7 +1388,6 @@ - @@ -1556,8 +1528,8 @@ - + @@ -1595,10 +1567,6 @@ - - - - @@ -1634,7 +1602,6 @@ - @@ -1645,7 +1612,6 @@ - @@ -1664,7 +1630,6 @@ - @@ -1754,9 +1719,6 @@ - - - @@ -1831,7 +1793,6 @@ - @@ -1972,8 +1933,8 @@ - + @@ -2011,10 +1972,6 @@ - - - - @@ -2050,7 +2007,6 @@ - @@ -2061,7 +2017,6 @@ - @@ -2080,7 +2035,6 @@ - @@ -2170,9 +2124,6 @@ - - - @@ -2247,7 +2198,6 @@ - @@ -2388,8 +2338,8 @@ - + @@ -2427,10 +2377,6 @@ - - - - @@ -2466,7 +2412,6 @@ - @@ -2477,7 +2422,6 @@ - @@ -2496,7 +2440,6 @@ - @@ -2586,9 +2529,6 @@ - - - @@ -2663,7 +2603,6 @@ - @@ -2804,8 +2743,8 @@ - + @@ -2843,10 +2782,6 @@ - - - - @@ -2882,7 +2817,6 @@ - @@ -2893,7 +2827,6 @@ - @@ -2912,7 +2845,6 @@ - @@ -3002,9 +2934,6 @@ - - - @@ -3079,7 +3008,6 @@ - @@ -3220,8 +3148,8 @@ - + @@ -3259,10 +3187,6 @@ - - - - @@ -3298,7 +3222,6 @@ - @@ -3309,7 +3232,6 @@ - @@ -3328,7 +3250,6 @@ - @@ -3418,9 +3339,6 @@ - - - @@ -3495,7 +3413,6 @@ - @@ -3636,8 +3553,8 @@ - + @@ -3675,10 +3592,6 @@ - - - - @@ -3714,7 +3627,6 @@ - @@ -3725,7 +3637,6 @@ - @@ -3744,7 +3655,6 @@ - @@ -3834,420 +3744,406 @@ - - - Disable Slow Rules This profile disables rules known to have poor performance in some environments, such as systems with large numbers of user accounts. - - + + + - - - + + CAT I Only This profile only includes rules that are Severity Category I. - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + - - + + + + + + + - + + + + + + + + + + - - - + + + + + + + - + + + + + + + - - - - + + + + + + + - + + + + + + + + + + - + + - - + + + + + + + + - - + + - - - + + + + + + + - + + + + - - - + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + - - + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + - - - + + + - - - - - - - + + + + + + + + + + - - - + + + + + + + + + + + + + + - - - - - - + + + - - + + + - - - - - - - + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - + + - + + + - + + + + + - + + + + + - - - - - - + + - + + + + + + + + + - - - - - + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + - - - - - + + + + + + + - SRG-OS-000480-GPOS-00227 @@ -4269,7 +4165,7 @@ Red Hat offers the Extended Update Support (EUS) add-on to a Red Hat Enterprise Upgrade to a supported version of RHEL 9. - + @@ -4293,7 +4189,7 @@ Red Hat offers the Extended Update Support (EUS) add-on to a Red Hat Enterprise $ sudo systemctl set-default multi-user.target - + @@ -4323,7 +4219,7 @@ Then enable the rngd service run the following command: $ sudo systemctl enable --now rngd - + @@ -4347,14 +4243,14 @@ $ sudo systemctl enable --now rngd $ sudo systemctl enable --now systemd-journald - + SRG-OS-000324-GPOS-00125 <GroupDescription></GroupDescription> - + RHEL-09-211045 The systemd Ctrl-Alt-Delete burst key sequence in RHEL 9 must be disabled. <VulnDiscussion>A locally logged-on user who presses Ctrl-Alt-Delete when at the console can reboot the system. If accidentally pressed, as could happen in the case of a mixed OS environment, this can create the risk of short-term loss of availability of systems due to unintentional reboot. In a graphical user environment, risk of unintentional reboot from the Ctrl-Alt-Delete sequence is reduced because the user will be prompted before any action is taken. @@ -4367,7 +4263,6 @@ Satisfies: SRG-OS-000324-GPOS-00125, SRG-OS-000480-GPOS-00227</VulnDiscussion Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-002235 Configure the system to disable the CtrlAltDelBurstAction by added or modifying the following line in the "/etc/systemd/system.conf" configuration file: @@ -4378,14 +4273,14 @@ Reload the daemon for this change to take effect. $ sudo systemctl daemon-reload - + SRG-OS-000324-GPOS-00125 <GroupDescription></GroupDescription> - + RHEL-09-211050 The x86 Ctrl-Alt-Delete key sequence must be disabled on RHEL 9. <VulnDiscussion>A locally logged-on user who presses Ctrl-Alt-Delete when at the console can reboot the system. If accidentally pressed, as could happen in the case of a mixed OS environment, this can create the risk of short-term loss of availability of systems due to unintentional reboot. In a graphical user environment, risk of unintentional reboot from the Ctrl-Alt-Delete sequence is reduced because the user will be prompted before any action is taken. @@ -4398,7 +4293,6 @@ Satisfies: SRG-OS-000324-GPOS-00125, SRG-OS-000480-GPOS-00227</VulnDiscussion Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-002235 Configure RHEL 9 to disable the ctrl-alt-del.target with the following command: @@ -4406,14 +4300,14 @@ $ sudo systemctl disable --now ctrl-alt-del.target $ sudo systemctl mask --now ctrl-alt-del.target - + SRG-OS-000324-GPOS-00125 <GroupDescription></GroupDescription> - + RHEL-09-211055 RHEL 9 debug-shell systemd service must be disabled. <VulnDiscussion>The debug-shell requires no authentication and provides root privileges to anyone who has physical access to the machine. While this feature is disabled by default, masking it adds an additional layer of assurance that it will not be enabled via a dependency in systemd. This also prevents attackers with physical access from trivially bypassing security on the machine through valid troubleshooting configurations and gaining root access when the system is rebooted. @@ -4426,7 +4320,6 @@ Satisfies: SRG-OS-000324-GPOS-00125, SRG-OS-000480-GPOS-00227</VulnDiscussion Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-002235 Configure RHEL 9 to mask the debug-shell systemd service with the following command: @@ -4434,14 +4327,14 @@ $ sudo systemctl disable --now debug-shell.service $ sudo systemctl mask --now debug-shell.service - + SRG-OS-000080-GPOS-00048 <GroupDescription></GroupDescription> - + RHEL-09-212010 RHEL 9 must require a boot loader superuser password. <VulnDiscussion>To mitigate the risk of unauthorized access to sensitive information by entities that have been issued certificates by DOD-approved PKIs, all DOD systems (e.g., web servers and web portals) must be properly configured to incorporate access control methods that do not rely solely on the possession of a certificate for access. Successful authentication must not automatically give an entity access to an asset or security boundary. Authorization procedures and controls must be implemented to ensure each authenticated entity also has a validated and current authorization. Authorization is the process of determining whether an entity, once authenticated, is permitted to access a specific asset. Information systems use access control policies and enforcement mechanisms to implement this requirement. @@ -4464,14 +4357,14 @@ Enter password: Confirm password: - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-212015 RHEL 9 must disable the ability of systemd to spawn an interactive boot process. <VulnDiscussion>Using interactive or recovery boot, the console user could disable auditing, firewalls, or other services, weakening system security.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -4483,12 +4376,12 @@ Confirm password: 5551 CCI-000366 - Configure RHEL 9 to allocate sufficient audit_backlog_limit to disable the ability of systemd to spawn an interactive boot process with the following command: + Configure the current GRUB 2 configuration to disable the ability of systemd to spawn an interactive boot process with the following command: $ sudo grubby --update-kernel=ALL --remove-args="systemd.confirm_spawn" - + - + @@ -4512,7 +4405,7 @@ $ sudo grubby --update-kernel=ALL --remove-args="systemd.confirm_spawn" - + @@ -4536,14 +4429,14 @@ $ sudo chgrp root /boot/grub2/grub.cfg $ sudo chown root /boot/grub2/grub.cfg - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-212035 RHEL 9 must disable virtual system calls. <VulnDiscussion>System calls are special routines in the Linux kernel, which userspace applications ask to do privileged tasks. Invoking a system call is an expensive operation because the processor must interrupt the currently executing task and switch context to kernel mode and then back to userspace after the system call completes. Virtual system calls map into user space a page that contains some variables and the implementation of some system calls. This allows the system calls to be executed in userspace to alleviate the context switching expense. @@ -4558,7 +4451,6 @@ Satisfies: SRG-OS-000480-GPOS-00227, SRG-OS-000134-GPOS-00068</VulnDiscussion Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-001084 Document the use of virtual system calls with the ISSO as an operational requirement or disable them with the following command: @@ -4569,14 +4461,14 @@ Add or modify the following line in "/etc/default/grub" to ensure the configurat GRUB_CMDLINE_LINUX="vsyscall=none" - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-212040 RHEL 9 must clear the page allocator to prevent use-after-free attacks. <VulnDiscussion>Poisoning writes an arbitrary value to freed pages, so any modification or reference to that page after being freed or before being initialized will be detected and prevented. This prevents many types of use-after-free vulnerabilities at little performance cost. Also prevents leak of data and detection of corrupted memory. @@ -4589,7 +4481,6 @@ Satisfies: SRG-OS-000480-GPOS-00227, SRG-OS-000134-GPOS-00068</VulnDiscussion Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-001084 Configure RHEL 9 to enable page poisoning with the following commands: @@ -4600,7 +4491,7 @@ Add or modify the following line in "/etc/default/grub" to ensure the configurat GRUB_CMDLINE_LINUX="page_poison=1" - + @@ -4635,14 +4526,14 @@ Add or modify the following line in "/etc/default/grub" to ensure the configurat GRUB_CMDLINE_LINUX="slub_debug=P" - + SRG-OS-000433-GPOS-00193 <GroupDescription></GroupDescription> - + RHEL-09-212050 RHEL 9 must enable mitigations against processor-based vulnerabilities. <VulnDiscussion>Kernel page-table isolation is a kernel feature that mitigates the Meltdown security vulnerability and hardens the kernel against attempts to bypass kernel address space layout randomization (KASLR). @@ -4666,14 +4557,14 @@ Add or modify the following line in "/etc/default/grub" to ensure the configurat GRUB_CMDLINE_LINUX="pti=on" - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-212055 RHEL 9 must enable auditing of processes that start prior to the audit daemon. <VulnDiscussion>Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -4703,7 +4594,7 @@ Add or modify the following line in "/etc/default/grub" to ensure the configurat GRUB_CMDLINE_LINUX="audit=1" - + @@ -4742,14 +4633,14 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + SRG-OS-000132-GPOS-00067 <GroupDescription></GroupDescription> - + RHEL-09-213015 RHEL 9 must prevent kernel profiling by nonprivileged users. <VulnDiscussion>Preventing unauthorized information transfers mitigates the risk of information, including encrypted representations of information, produced by the actions of prior users/roles (or the actions of processes acting on behalf of prior users/roles) from being available to any current users/roles (or current processes) that obtain access to shared system resources (e.g., registers, main memory, hard disks) after those resources have been released back to information systems. The control of information in shared resources is also commonly referred to as object reuse and residual information protection. @@ -4781,14 +4672,14 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-213020 RHEL 9 must prevent the loading of a new kernel for later execution. <VulnDiscussion>Changes to any software components can have significant effects on the overall security of the operating system. This requirement ensures the software has not been tampered with and that it has been provided by a trusted vendor. @@ -4803,8 +4694,8 @@ Satisfies: SRG-OS-000480-GPOS-00227, SRG-OS-000366-GPOS-00153</VulnDiscussion Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-003992 + CCI-001749 Add or edit the following line in a system configuration file in the "/etc/sysctl.d/" directory: kernel.kexec_load_disabled = 1 @@ -4814,14 +4705,14 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + SRG-OS-000132-GPOS-00067 <GroupDescription></GroupDescription> - + RHEL-09-213025 RHEL 9 must restrict exposed kernel pointer addresses access. <VulnDiscussion>Exposing kernel pointers (through procfs or "seq_printf()") exposes kernel writeable structures, which may contain functions pointers. If a write vulnerability occurs in the kernel, allowing write access to any of this structure, the kernel can be compromised. This option disallows any program without the CAP_SYSLOG capability to get the addresses of kernel pointers by replacing them with "0". @@ -4834,7 +4725,6 @@ Satisfies: SRG-OS-000132-GPOS-00067, SRG-OS-000433-GPOS-00192, SRG-OS-000480-GPO Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-001082 CCI-002824 Add or edit the following line in a system configuration file in the "/etc/sysctl.d/" directory: @@ -4846,7 +4736,7 @@ Reload settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -4879,7 +4769,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -4912,7 +4802,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -4942,14 +4832,14 @@ The system configuration files need to be reloaded for the changes to take effec $ sudo sysctl --system - + SRG-OS-000095-GPOS-00049 <GroupDescription></GroupDescription> - + RHEL-09-213045 RHEL 9 must be configured to disable the Asynchronous Transfer Mode kernel module. <VulnDiscussion>Disabling Asynchronous Transfer Mode (ATM) 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> @@ -4967,14 +4857,14 @@ install atm /bin/false blacklist atm - + SRG-OS-000095-GPOS-00049 <GroupDescription></GroupDescription> - + RHEL-09-213050 RHEL 9 must be configured to disable the Controller Area Network kernel module. <VulnDiscussion>Disabling Controller Area Network (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> @@ -4986,20 +4876,20 @@ blacklist atm 5551 CCI-000381 - To configure the system to prevent the can kernel module from being loaded, add the following line to the file /etc/modprobe.d/can.conf (or create atm.conf if it does not exist): + To configure the system to prevent the can kernel module from being loaded, add the following lines to the file /etc/modprobe.d/can.conf (or create can.conf if it does not exist): install can /bin/false blacklist can - + - + SRG-OS-000095-GPOS-00049 <GroupDescription></GroupDescription> - + RHEL-09-213055 RHEL 9 must be configured to disable the FireWire kernel module. <VulnDiscussion>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> @@ -5011,20 +4901,20 @@ blacklist can 5551 CCI-000381 - To configure the system to prevent the firewire-core kernel module from being loaded, add the following line to the file /etc/modprobe.d/firewire-core.conf (or create firewire-core.conf if it does not exist): + To configure the system to prevent the firewire-core kernel module from being loaded, add the following lines to the file /etc/modprobe.d/firewire-core.conf (or create firewire-core.conf if it does not exist): install firewire-core /bin/false blacklist firewire-core - + - + SRG-OS-000095-GPOS-00049 <GroupDescription></GroupDescription> - + RHEL-09-213060 RHEL 9 must disable the Stream Control Transmission Protocol (SCTP) kernel module. <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. @@ -5040,20 +4930,20 @@ The Stream Control Transmission Protocol (SCTP) is a transport layer protocol, d 5551 CCI-000381 - To configure the system to prevent the sctp kernel module from being loaded, add the following line to the file /etc/modprobe.d/sctp.conf (or create sctp.conf if it does not exist): + To configure the system to prevent the sctp kernel module from being loaded, add the following lines to the file /etc/modprobe.d/sctp.conf (or create sctp.conf if it does not exist): install sctp /bin/false blacklist sctp - + - + SRG-OS-000095-GPOS-00049 <GroupDescription></GroupDescription> - + RHEL-09-213065 RHEL 9 must disable the Transparent Inter Process Communication (TIPC) kernel module. <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. @@ -5069,20 +4959,20 @@ The Transparent Inter Process Communication (TIPC) is a protocol that is special 5551 CCI-000381 - To configure the system to prevent the tipc kernel module from being loaded, add the following line to the file /etc/modprobe.d/tipc.conf (or create tipc.conf if it does not exist): + To configure the system to prevent the tipc kernel module from being loaded, add the following lines to the file /etc/modprobe.d/tipc.conf (or create tipc.conf if it does not exist): install tipc /bin/false blacklist tipc - + - + SRG-OS-000433-GPOS-00193 <GroupDescription></GroupDescription> - + RHEL-09-213070 RHEL 9 must implement address space layout randomization (ASLR) to protect its memory from unauthorized code execution. <VulnDiscussion>Address space layout randomization (ASLR) makes it more difficult for an attacker to predict the location of attack code they have introduced into a process' address space during an attempt at exploitation. Additionally, ASLR makes it more difficult for an attacker to know the location of existing code in order to repurpose it using return oriented programming (ROP) techniques. @@ -5095,7 +4985,6 @@ Satisfies: SRG-OS-000433-GPOS-00193, SRG-OS-000480-GPOS-00227</VulnDiscussion Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-002824 Add or edit the following line in a system configuration file in the "/etc/sysctl.d/" directory: @@ -5106,14 +4995,14 @@ Reload settings from all system configuration files with the following command: $ sudo sysctl --system - + SRG-OS-000132-GPOS-00067 <GroupDescription></GroupDescription> - + RHEL-09-213075 RHEL 9 must disable access to network bpf system call from nonprivileged processes. <VulnDiscussion>Loading and accessing the packet filters programs and maps using the bpf() system call has the potential of revealing sensitive information about the kernel state. @@ -5126,25 +5015,28 @@ Satisfies: SRG-OS-000132-GPOS-00067, SRG-OS-000480-GPOS-00227</VulnDiscussion Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-001082 - Configure RHEL 9 to prevent privilege escalation thru the kernel by disabling access to the bpf syscall by adding the following line to a file, in the "/etc/sysctl.d" directory: + Configure the currently loaded kernel parameter to the secure setting: + +$ sudo sysctl -w kernel.unprivileged_bpf_disabled=1 + +Configure RHEL 9 to prevent privilege escalation through the kernel by disabling access to the bpf syscall by adding the following line to a file in the "/etc/sysctl.d" directory: kernel.unprivileged_bpf_disabled = 1 -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: +The system configuration files must be reloaded for the changes to take effect. To reload the contents of the files, run the following command: -$ sudo sysctl --system - +$ sysctl --system + - + SRG-OS-000132-GPOS-00067 <GroupDescription></GroupDescription> - + RHEL-09-213080 RHEL 9 must restrict usage of ptrace to descendant processes. <VulnDiscussion>Unrestricted usage of ptrace allows compromised binaries to run ptrace on other processes of the user. Like this, the attacker can steal sensitive information from the target processes (e.g., SSH sessions, web browser, etc.) without any additional assistance from the user (i.e., without resorting to phishing). @@ -5157,25 +5049,28 @@ Satisfies: SRG-OS-000132-GPOS-00067, SRG-OS-000480-GPOS-00227</VulnDiscussion Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-001082 - Configure RHEL 9 to restrict usage of ptrace to descendant processes by adding the following line to a file, in the "/etc/sysctl.d" directory: + Configure the currently loaded kernel parameter to the secure setting: + +$ sudo sysctl -w kernel.yama.ptrace_scope=1 + +Configure RHEL 9 to restrict usage of ptrace to descendant processes by adding the following line to a file in the "/etc/sysctl.d" directory: kernel.yama.ptrace_scope = 1 -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: +The system configuration files must be reloaded for the changes to take effect. To reload the contents of the files, run the following command: -$ sudo sysctl --system - +$ sysctl --system + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-213085 RHEL 9 must disable core dump backtraces. <VulnDiscussion>A core dump includes a memory image taken at the time the operating system terminates an application. The memory image could contain sensitive data and is generally useful only for developers or system operators trying to debug problems. @@ -5196,7 +5091,7 @@ Add or modify the following line in /etc/systemd/coredump.conf: ProcessSizeMax=0 - + @@ -5222,7 +5117,7 @@ Add or modify the following line in /etc/systemd/coredump.conf: Storage=none - + @@ -5248,7 +5143,7 @@ Add the following line to the top of the /etc/security/limits.conf or in a singl * hard core 0 - + @@ -5278,14 +5173,14 @@ Reload the daemon for this change to take effect. $ sudo systemctl daemon-reload - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-213105 RHEL 9 must disable the use of user namespaces. <VulnDiscussion>User namespaces are used primarily for Linux containers. The value "0" disallows the use of user namespaces.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -5297,25 +5192,23 @@ $ sudo systemctl daemon-reload 5551 CCI-000366 - Configure RHEL 9 to disable the use of user namespaces by adding the following line to a file, in the "/etc/sysctl.d" directory: - -Note: User namespaces are used primarily for Linux containers. If containers are in use, this requirement is Not Applicable. + Configure RHEL 9 to disable the use of user namespaces by adding the following line to a file, in the "/etc/sysctl.d" directory: user.max_user_namespaces = 0 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 --system - + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-213115 The kdump service on RHEL 9 must be disabled. <VulnDiscussion>Kernel core dumps may contain the full contents of system memory at the time of the crash. Kernel core dumps consume a considerable amount of disk space and may result in denial of service by exhausting the available space on the target file system partition. Unless the system is used for kernel development or testing, there is little need to run the kdump service.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -5338,14 +5231,14 @@ To mask the kdump service run the following command: $ sudo systemctl mask --now kdump - + SRG-OS-000366-GPOS-00153 <GroupDescription></GroupDescription> - + RHEL-09-214015 RHEL 9 must check the GPG signature of software packages originating from external software repositories before installation. <VulnDiscussion>Changes to any software components can have significant effects on the overall security of the operating system. This requirement ensures the software has not been tampered with and that it has been provided by a trusted vendor. @@ -5361,6 +5254,7 @@ Verifying the authenticity of software prior to installation validates the integ 5551 CCI-003992 + CCI-001749 Configure dnf to always check the GPG signature of software packages originating from external software repositories before installation. Add or update the following line in the [main] section of the /etc/dnf/dnf.conf file: @@ -5368,14 +5262,14 @@ Add or update the following line in the [main] section of the /etc/dnf/dnf.conf gpgcheck=1 - + SRG-OS-000366-GPOS-00153 <GroupDescription></GroupDescription> - + RHEL-09-214020 RHEL 9 must check the GPG signature of locally installed software packages before installation. <VulnDiscussion>Changes to any software components can have significant effects on the overall security of the operating system. This requirement ensures the software has not been tampered with and that it has been provided by a trusted vendor. @@ -5391,6 +5285,7 @@ Verifying the authenticity of software prior to installation validates the integ 5551 CCI-003992 + CCI-001749 Configure dnf to always check the GPG signature of local software packages before installation. Add or update the following line in the [main] section of the /etc/dnf/dnf.conf file: @@ -5398,14 +5293,14 @@ Add or update the following line in the [main] section of the /etc/dnf/dnf.conf localpkg_gpgcheck=1 - + SRG-OS-000366-GPOS-00153 <GroupDescription></GroupDescription> - + RHEL-09-214025 RHEL 9 must have GPG signature verification enabled for all software repositories. <VulnDiscussion>Changes to any software components can have significant effects on the overall security of the operating system. This requirement ensures the software has not been tampered with and that it has been provided by a trusted vendor. @@ -5421,19 +5316,20 @@ Verifying the authenticity of software prior to installation validates the integ 5551 CCI-003992 + CCI-001749 Configure all software repositories defined in "/etc/yum.repos.d/" to have "gpgcheck" enabled: $ sudo sed -i 's/gpgcheck\s*=.*/gpgcheck=1/g' /etc/yum.repos.d/* - + SRG-OS-000437-GPOS-00194 <GroupDescription></GroupDescription> - + RHEL-09-214035 RHEL 9 must remove all software components after updated versions have been installed. <VulnDiscussion>Previous versions of software components that are not removed from the information system after updates have been installed may be exploited by some adversaries.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -5445,21 +5341,21 @@ $ sudo sed -i 's/gpgcheck\s*=.*/gpgcheck=1/g' /etc/yum.repos.d/* 5551 CCI-002617 - Configure RHEL 9 to remove all software components after updated versions have been installed. + Configure RHEL 9 to remove all software components after updated versions have been installed. Edit the file /etc/dnf/dnf.conf by adding or editing the following line: - clean_requirements_on_remove=1 - + clean_requirements_on_remove=True + - + SRG-OS-000366-GPOS-00153 <GroupDescription></GroupDescription> - + RHEL-09-215010 RHEL 9 subscription-manager package must be installed. <VulnDiscussion>The Red Hat Subscription Manager application manages software subscriptions and software repositories for installed software products on the local system. It communicates with backend servers, such as the Red Hat Customer Portal or an on-premise instance of Subscription Asset Manager, to register the local system and grant access to software resources determined by the subscription entitlement.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -5471,19 +5367,20 @@ Edit the file /etc/dnf/dnf.conf by adding or editing the following line: 5551 CCI-003992 + CCI-001749 The subscription-manager package can be installed with the following command: $ sudo dnf install subscription-manager - + SRG-OS-000074-GPOS-00042 <GroupDescription></GroupDescription> - + RHEL-09-215015 RHEL 9 must not have a File Transfer Protocol (FTP) server package installed. <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. @@ -5499,21 +5396,20 @@ Satisfies: SRG-OS-000074-GPOS-00042, SRG-OS-000095-GPOS-00049, SRG-OS-000480-GPO 5551 CCI-000197 - CCI-000366 CCI-000381 The ftp package can be removed with the following command (using vsftpd as an example): $ sudo dnf remove vsftpd - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-215020 RHEL 9 must not have the sendmail package installed. <VulnDiscussion>The sendmail software was not developed with security in mind, and its design prevents it from being effectively contained by SELinux. Postfix must be used instead. @@ -5526,21 +5422,20 @@ Satisfies: SRG-OS-000480-GPOS-00227, SRG-OS-000095-GPOS-00049</VulnDiscussion Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-000381 Remove the sendmail package with the following command: $ sudo dnf remove sendmail - + SRG-OS-000095-GPOS-00049 <GroupDescription></GroupDescription> - + RHEL-09-215025 RHEL 9 must not have the nfs-utils package installed. <VulnDiscussion>"nfs-utils" provides a daemon for the kernel NFS server and related tools. This package also contains the "showmount" program. "showmount" queries the mount daemon on a remote host for information about the Network File System (NFS) server on the remote host. For example, "showmount" can display the clients that are mounted on that host.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -5557,14 +5452,14 @@ $ sudo dnf remove sendmail $ sudo dnf remove nfs-utils - + SRG-OS-000095-GPOS-00049 <GroupDescription></GroupDescription> - + RHEL-09-215030 RHEL 9 must not have the ypserv package installed. <VulnDiscussion>The NIS service provides an unencrypted authentication service, which does not provide for the confidentiality and integrity of user passwords or the remote session. @@ -5583,7 +5478,7 @@ Removing the "ypserv" package decreases the risk of the accidental (or intention $ sudo dnf remove ypserv - + @@ -5607,14 +5502,14 @@ $ sudo dnf remove ypserv $ sudo dnf remove rsh-server - + SRG-OS-000095-GPOS-00049 <GroupDescription></GroupDescription> - + RHEL-09-215040 RHEL 9 must not have the telnet-server package installed. <VulnDiscussion>It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities are often overlooked and therefore, may remain unsecure. They increase the risk to the platform by providing additional attack vectors. @@ -5635,14 +5530,14 @@ Removing the "telnet-server" package decreases the risk of accidental (or intent $ sudo dnf remove telnet-server - + SRG-OS-000095-GPOS-00049 <GroupDescription></GroupDescription> - + RHEL-09-215045 RHEL 9 must not have the gssproxy package installed. <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. @@ -5659,21 +5554,20 @@ Satisfies: SRG-OS-000095-GPOS-00049, SRG-OS-000480-GPOS-00227</VulnDiscussion Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-000381 Remove the gssproxy package with the following command: $ sudo dnf remove gssproxy - + SRG-OS-000095-GPOS-00049 <GroupDescription></GroupDescription> - + RHEL-09-215050 RHEL 9 must not have the iprutils package installed. <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. @@ -5690,21 +5584,20 @@ Satisfies: SRG-OS-000095-GPOS-00049, SRG-OS-000480-GPOS-00227</VulnDiscussion Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-000381 Remove the iprutils package with the following command: $ sudo dnf remove iprutils - + SRG-OS-000095-GPOS-00049 <GroupDescription></GroupDescription> - + RHEL-09-215055 RHEL 9 must not have the tuned package installed. <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. @@ -5721,21 +5614,20 @@ Satisfies: SRG-OS-000095-GPOS-00049, SRG-OS-000480-GPOS-00227</VulnDiscussion Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-000381 Remove the tuned package with the following command: $ sudo dnf remove tuned - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-215060 RHEL 9 must not have a Trivial File Transfer Protocol (TFTP) server package installed. <VulnDiscussion>Removing the "tftp-server" package decreases the risk of the accidental (or intentional) activation of tftp services. @@ -5754,14 +5646,14 @@ If TFTP is required for operational support (such as transmission of router conf $ sudo dnf remove tftp-server - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-215065 RHEL 9 must not have the quagga package installed. <VulnDiscussion>Quagga is a network routing software suite providing implementations of Open Shortest Path First (OSPF), Routing Information Protocol (RIP), Border Gateway Protocol (BGP) for Unix and Linux platforms. @@ -5780,14 +5672,14 @@ If there is no need to make the router software available, removing it provides $ sudo dnf remove quagga - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-215070 A graphical display manager must not be installed on RHEL 9 unless approved. <VulnDiscussion>Unnecessary service packages must not be installed to decrease the attack surface of the system. Graphical display managers have a long history of security vulnerabilities and must not be used, unless approved and documented.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -5811,14 +5703,14 @@ $ sudo dnf remove "xorg*" $ sudo systemctl set-default multi-user.target - + SRG-OS-000105-GPOS-00052 <GroupDescription></GroupDescription> - + RHEL-09-215075 RHEL 9 must have the openssl-pkcs11 package installed. <VulnDiscussion>Without the use of multifactor authentication, the ease of access to privileged functions is greatly increased. Multifactor authentication requires using two or more factors to achieve authentication. A privileged account is defined as an information system account with authorizations of a privileged user. The DOD common access card (CAC) with DOD-approved PKI is an example of multifactor authentication. @@ -5835,12 +5727,13 @@ Satisfies: SRG-OS-000105-GPOS-00052, SRG-OS-000375-GPOS-00160, SRG-OS-000376-GPO CCI-004046 CCI-001953 CCI-001954 + CCI-001948 The openssl-pkcs11 package can be installed with the following command: $ sudo dnf install openssl-pkcs11 - + @@ -5864,7 +5757,7 @@ $ sudo dnf install openssl-pkcs11 $ sudo dnf install gnutls-utils - + @@ -5888,14 +5781,14 @@ $ sudo dnf install gnutls-utils $ sudo dnf install nss-tools - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-215090 RHEL 9 must have the rng-tools package installed. <VulnDiscussion>"rng-tools" provides hardware random number generator tools, such as those used in the formation of x509/PKI certificates.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -5912,14 +5805,14 @@ $ sudo dnf install nss-tools $ sudo dnf install rng-tools - + SRG-OS-000363-GPOS-00150 <GroupDescription></GroupDescription> - + RHEL-09-215095 RHEL 9 must have the s-nail package installed. <VulnDiscussion>The "s-nail" package provides the mail command required to allow sending email notifications of unauthorized configuration changes to designated personnel.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -5936,7 +5829,7 @@ $ sudo dnf install rng-tools $ sudo dnf install s-nail - + @@ -5958,14 +5851,14 @@ $ sudo dnf install s-nail Migrate the "/home" directory onto a separate file system/partition. - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-231015 RHEL 9 must use a separate file system for /tmp. <VulnDiscussion>The "/tmp" partition is used as temporary storage by many programs. Placing "/tmp" in its own partition enables the setting of more restrictive mount options, which can help protect programs that use it.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -5980,14 +5873,14 @@ $ sudo dnf install s-nail Migrate the "/tmp" path onto a separate file system. - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-231020 RHEL 9 must use a separate file system for /var. <VulnDiscussion>Ensuring that "/var" is mounted on its own partition enables the setting of more restrictive mount options. This helps protect system services such as daemons or other programs which use it. It is not uncommon for the "/var" directory to contain world-writable directories installed by other software packages.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -6002,14 +5895,14 @@ $ sudo dnf install s-nail Migrate the "/var" path onto a separate file system. - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-231025 RHEL 9 must use a separate file system for /var/log. <VulnDiscussion>Placing "/var/log" in its own partition enables better separation between log files and other files in "/var/".</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -6024,14 +5917,14 @@ $ sudo dnf install s-nail Migrate the "/var/log" path onto a separate file system. - + SRG-OS-000341-GPOS-00132 <GroupDescription></GroupDescription> - + RHEL-09-231030 RHEL 9 must use a separate file system for the system audit data path. <VulnDiscussion>Placing "/var/log/audit" in its own partition enables better separation between audit files and other system files, and helps ensure that auditing cannot be halted due to the partition running out of space. @@ -6044,19 +5937,18 @@ Satisfies: SRG-OS-000341-GPOS-00132, SRG-OS-000480-GPOS-00227</VulnDiscussion Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-001849 Migrate the system audit data path onto a separate file system. - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-231035 RHEL 9 must use a separate file system for /var/tmp. <VulnDiscussion>The "/var/tmp" partition is used as temporary storage by many programs. Placing "/var/tmp" in its own partition enables the setting of more restrictive mount options, which can help protect programs that use it.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -6071,14 +5963,14 @@ Satisfies: SRG-OS-000341-GPOS-00132, SRG-OS-000480-GPOS-00227</VulnDiscussion Migrate the "/var/tmp" path onto a separate file system. - + SRG-OS-000114-GPOS-00059 <GroupDescription></GroupDescription> - + RHEL-09-231040 RHEL 9 file system automount function must be disabled unless required. <VulnDiscussion>An authentication process resists replay attacks if it is impractical to achieve a successful authentication by recording and replaying a previous authentication message. @@ -6091,7 +5983,7 @@ Satisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163, SRG-OS-000480-GPO Red Hat Enterprise Linux 9 5551 - CCI-000366 + CCI-000778 CCI-001958 Configure RHEL 9 to disable the ability to automount devices. @@ -6101,14 +5993,14 @@ The autofs service can be disabled with the following command: $ sudo systemctl mask --now autofs.service - + SRG-OS-000368-GPOS-00154 <GroupDescription></GroupDescription> - + RHEL-09-231045 RHEL 9 must prevent device files from being interpreted on file systems that contain user home directories. <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 nonprivileged users to attain unauthorized administrative access. @@ -6125,14 +6017,14 @@ The only legitimate location for device files is the "/dev" directory located on Modify "/etc/fstab" to use the "nodev" option on the "/home" directory. - + SRG-OS-000368-GPOS-00154 <GroupDescription></GroupDescription> - + RHEL-09-231050 RHEL 9 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 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 nonprivileged users to attain unauthorized administrative access. @@ -6145,12 +6037,11 @@ Satisfies: SRG-OS-000368-GPOS-00154, SRG-OS-000480-GPOS-00227</VulnDiscussion Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-001764 Modify "/etc/fstab" to use the "nosuid" option on the "/home" directory. - + @@ -6172,39 +6063,14 @@ Satisfies: SRG-OS-000368-GPOS-00154, SRG-OS-000480-GPOS-00227</VulnDiscussion Modify "/etc/fstab" to use the "noexec" option on the "/home" directory. - - - - - - SRG-OS-000480-GPOS-00227 - <GroupDescription></GroupDescription> - - RHEL-09-231060 - RHEL 9 must be configured so that the Network File System (NFS) is configured to use RPCSEC_GSS. - <VulnDiscussion>When an NFS server is configured to use RPCSEC_SYS, a selected userid and groupid are used to handle requests from the remote user. The userid and groupid could mistakenly or maliciously be set incorrectly. The RPCSEC_GSS method of authentication uses certificates on the server and client systems to more securely authenticate the remote mount request.</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 9 - DISA - DPMS Target - Red Hat Enterprise Linux 9 - 5551 - - - CCI-000366 - Update the "/etc/fstab" file so the option "sec" is defined for each NFS mounted file system and the "sec" option does not have the "sys" setting. - -Ensure the "sec" option is defined as "krb5p:krb5i:krb5". - - - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-231065 RHEL 9 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 nonprivileged 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> @@ -6220,14 +6086,14 @@ Ensure the "sec" option is defined as "krb5p:krb5i:krb5". Update each NFS mounted file system to use the "nodev" option on file systems that are being imported via NFS. - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-231070 RHEL 9 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 nonprivileged 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> @@ -6242,14 +6108,14 @@ Ensure the "sec" option is defined as "krb5p:krb5i:krb5". Update each NFS mounted file system to use the "noexec" option on file systems that are being imported via NFS. - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-231075 RHEL 9 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 nonprivileged 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> @@ -6265,14 +6131,14 @@ Ensure the "sec" option is defined as "krb5p:krb5i:krb5". Update each NFS mounted file system to use the "nosuid" option on file systems that are being imported via NFS. - + SRG-OS-000368-GPOS-00154 <GroupDescription></GroupDescription> - + RHEL-09-231095 RHEL 9 must mount /boot with the nodev option. <VulnDiscussion>The only legitimate location for device files is the "/dev" directory located on the root partition. The only exception to this is chroot jails.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -6283,19 +6149,18 @@ Ensure the "sec" option is defined as "krb5p:krb5i:krb5". Red Hat Enterprise Linux 9 5551 - CCI-001764 Modify "/etc/fstab" to use the "nodev" option on the "/boot" directory. - + SRG-OS-000368-GPOS-00154 <GroupDescription></GroupDescription> - + RHEL-09-231100 RHEL 9 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 nonprivileged users to attain unauthorized administrative access. @@ -6308,20 +6173,18 @@ Satisfies: SRG-OS-000368-GPOS-00154, SRG-OS-000480-GPOS-00227</VulnDiscussion Red Hat Enterprise Linux 9 5551 - - CCI-000366 CCI-001764 Modify "/etc/fstab" to use the "nosuid" option on the "/boot" directory. - + SRG-OS-000368-GPOS-00154 <GroupDescription></GroupDescription> - + RHEL-09-231105 RHEL 9 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 nonprivileged users to attain unauthorized administrative access. @@ -6335,12 +6198,11 @@ Satisfies: SRG-OS-000368-GPOS-00154, SRG-OS-000480-GPOS-00227</VulnDiscussion 5551 - CCI-000366 CCI-001764 - Modify "/etc/fstab" to use the "nosuid" option on the "/boot/efi" directory. - + Modify "/etc/fstab" to use the "nosuid" option on the "/boot/efi" directory. + - + @@ -6364,7 +6226,7 @@ The only legitimate location for device files is the "/dev" directory located on Modify "/etc/fstab" to use the "nodev" option on the "/dev/shm" file system. - + @@ -6386,14 +6248,14 @@ The only legitimate location for device files is the "/dev" directory located on Modify "/etc/fstab" to use the "noexec" option on the "/dev/shm" file system. - + SRG-OS-000368-GPOS-00154 <GroupDescription></GroupDescription> - + RHEL-09-231120 RHEL 9 must mount /dev/shm with the nosuid option. <VulnDiscussion>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 nonprivileged 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> @@ -6408,7 +6270,7 @@ The only legitimate location for device files is the "/dev" directory located on Modify "/etc/fstab" to use the "nosuid" option on the "/dev/shm" file system. - + @@ -6432,7 +6294,7 @@ The only legitimate location for device files is the "/dev" directory located on Modify "/etc/fstab" to use the "nodev" option on the "/tmp" directory. - + @@ -6454,7 +6316,7 @@ The only legitimate location for device files is the "/dev" directory located on Modify "/etc/fstab" to use the "noexec" option on the "/tmp" directory. - + @@ -6476,7 +6338,7 @@ The only legitimate location for device files is the "/dev" directory located on Modify "/etc/fstab" to use the "nosuid" option on the "/tmp" directory. - + @@ -6500,7 +6362,7 @@ The only legitimate location for device files is the "/dev" directory located on Modify "/etc/fstab" to use the "nodev" option on the "/var" directory. - + @@ -6524,7 +6386,7 @@ The only legitimate location for device files is the "/dev" directory located on Modify "/etc/fstab" to use the "nodev" option on the "/var/log" directory. - + @@ -6546,7 +6408,7 @@ The only legitimate location for device files is the "/dev" directory located on Modify "/etc/fstab" to use the "noexec" option on the "/var/log" directory. - + @@ -6568,7 +6430,7 @@ The only legitimate location for device files is the "/dev" directory located on Modify "/etc/fstab" to use the "nosuid" option on the "/var/log" directory. - + @@ -6592,7 +6454,7 @@ The only legitimate location for device files is the "/dev" directory located on Modify "/etc/fstab" to use the "nodev" option on the "/var/log/audit" directory. - + @@ -6614,7 +6476,7 @@ The only legitimate location for device files is the "/dev" directory located on Modify "/etc/fstab" to use the "noexec" option on the "/var/log/audit" directory. - + @@ -6636,7 +6498,7 @@ The only legitimate location for device files is the "/dev" directory located on Modify "/etc/fstab" to use the "nosuid" option on the "/var/log/audit" directory. - + @@ -6660,7 +6522,7 @@ The only legitimate location for device files is the "/dev" directory located on Modify "/etc/fstab" to use the "nodev" option on the "/var/tmp" directory. - + @@ -6682,7 +6544,7 @@ The only legitimate location for device files is the "/dev" directory located on Modify "/etc/fstab" to use the "noexec" option on the "/var/tmp" directory. - + @@ -6704,14 +6566,14 @@ The only legitimate location for device files is the "/dev" directory located on Modify "/etc/fstab" to use the "nosuid" option on the "/var/tmp" directory. - + SRG-OS-000095-GPOS-00049 <GroupDescription></GroupDescription> - + RHEL-09-231195 RHEL 9 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. @@ -6727,13 +6589,13 @@ Compressed ROM/RAM file system (or cramfs) is a read-only file system designed f 5551 CCI-000381 - To configure the system to prevent the cramfs kernel module from being loaded, add the following line to the file /etc/modprobe.d/blacklist.conf (or create blacklist.conf if it does not exist): + To configure the system to prevent the cramfs kernel module from being loaded, add the following lines to the file /etc/modprobe.d/blacklist.conf (or create blacklist.conf if it does not exist): install cramfs /bin/false blacklist cramfs - + - + @@ -6757,7 +6619,7 @@ The only legitimate location for device files is the "/dev" directory located on Configure the "/etc/fstab" to use the "nodev" option on all non-root local partitions. - + @@ -6785,7 +6647,7 @@ Run the following command, replacing "[FILE]" with any system command with a mod $ sudo chmod 755 [FILE] - + @@ -6813,7 +6675,7 @@ Run the following command, replacing "[DIRECTORY]" with any library directory wi $ sudo chmod 755 [DIRECTORY] - + @@ -6839,14 +6701,14 @@ This requirement applies to RHEL 9 with software libraries that are accessible a $ sudo chmod 755 [FILE] - + SRG-OS-000206-GPOS-00084 <GroupDescription></GroupDescription> - + RHEL-09-232025 RHEL 9 /var/log directory must have mode 0755 or less permissive. <VulnDiscussion>Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 9 system or platform. Additionally, personally identifiable information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. @@ -6865,14 +6727,14 @@ The structure and content of error messages must be carefully considered by the $ sudo chmod 0755 /var/log - + SRG-OS-000206-GPOS-00084 <GroupDescription></GroupDescription> - + RHEL-09-232030 RHEL 9 /var/log/messages file must have mode 0640 or less permissive. <VulnDiscussion>Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 9 system or platform. Additionally, personally identifiable information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. @@ -6891,7 +6753,7 @@ The structure and content of error messages must be carefully considered by the $ sudo chmod 0640 /var/log/messages - + @@ -6921,14 +6783,14 @@ $ sudo chmod 0755 [audit_tool] Replace "[audit_tool]" with each audit tool that has a more permissive mode than 0755. - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-232040 RHEL 9 cron configuration directories must have a mode of 0700 or less permissive. <VulnDiscussion>Service configuration files enable or disable features of their respective services that if configured incorrectly can lead to insecure and vulnerable configurations. Therefore, service configuration files should have the correct access rights to prevent unauthorized changes.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -6945,14 +6807,14 @@ Replace "[audit_tool]" with each audit tool that has a more permissive mode than chmod 0700 [cron configuration directory] - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-232045 All RHEL 9 local initialization files must have mode 0740 or less permissive. <VulnDiscussion>Local initialization files are used to configure the user's shell environment upon logon. Malicious modification of these files could compromise accounts upon logon.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -6971,14 +6833,14 @@ Note: The example will be for the wadea user, who has a home directory of "/home $ sudo chmod 0740 /home/wadea/.<INIT_FILE> - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-232050 All RHEL 9 local interactive user home directories must have mode 0750 or less permissive. <VulnDiscussion>Excessive permissions on local interactive user home directories may allow unauthorized access to user files by other users.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -6997,7 +6859,7 @@ Note: The example will be for the user "wadea". $ sudo chmod 0750 /home/wadea - + @@ -7021,7 +6883,7 @@ $ sudo chmod 0750 /home/wadea $ sudo chmod 0644 /etc/group - + @@ -7045,7 +6907,7 @@ $ sudo chmod 0644 /etc/group $ sudo chmod 0644 /etc/group- - + @@ -7069,7 +6931,7 @@ $ sudo chmod 0644 /etc/group- $ sudo chmod 0000 /etc/gshadow - + @@ -7093,7 +6955,7 @@ $ sudo chmod 0000 /etc/gshadow $ sudo chmod 0000 /etc/gshadow- - + @@ -7117,7 +6979,7 @@ $ sudo chmod 0000 /etc/gshadow- $ sudo chmod 0644 /etc/passwd - + @@ -7141,7 +7003,7 @@ $ sudo chmod 0644 /etc/passwd $ sudo chmod 0644 /etc/passwd- - + @@ -7165,7 +7027,7 @@ $ sudo chmod 0644 /etc/passwd- $ sudo chmod 0000 /etc/shadow- - + @@ -7189,7 +7051,7 @@ $ sudo chmod 0000 /etc/shadow- $ sudo chown root /etc/group - + @@ -7213,7 +7075,7 @@ $ sudo chown root /etc/group $ sudo chgrp root /etc/group - + @@ -7237,7 +7099,7 @@ $ sudo chgrp root /etc/group $ sudo chown root /etc/group- - + @@ -7261,7 +7123,7 @@ $ sudo chown root /etc/group- $ sudo chgrp root /etc/group- - + @@ -7285,7 +7147,7 @@ $ sudo chgrp root /etc/group- $ sudo chown root /etc/gshadow - + @@ -7309,7 +7171,7 @@ $ sudo chown root /etc/gshadow $ sudo chgrp root /etc/gshadow - + @@ -7333,7 +7195,7 @@ $ sudo chgrp root /etc/gshadow $ sudo chown root /etc/gshadow- - + @@ -7357,7 +7219,7 @@ $ sudo chown root /etc/gshadow- $ sudo chgrp root /etc/gshadow- - + @@ -7381,7 +7243,7 @@ $ sudo chgrp root /etc/gshadow- $ sudo chown root /etc/passwd - + @@ -7405,7 +7267,7 @@ $ sudo chown root /etc/passwd $ sudo chgrp root /etc/passwd - + @@ -7429,7 +7291,7 @@ $ sudo chgrp root /etc/passwd $ sudo chown root /etc/passwd- - + @@ -7453,7 +7315,7 @@ $ sudo chown root /etc/passwd- $ sudo chgrp root /etc/passwd- - + @@ -7477,7 +7339,7 @@ $ sudo chgrp root /etc/passwd- $ sudo chown root /etc/shadow - + @@ -7501,7 +7363,7 @@ $ sudo chown root /etc/shadow $ sudo chgrp root /etc/shadow - + @@ -7525,7 +7387,7 @@ $ sudo chgrp root /etc/shadow $ sudo chown root /etc/shadow- - + @@ -7549,14 +7411,14 @@ $ sudo chown root /etc/shadow- $ sudo chgrp root /etc/shadow- - + SRG-OS-000206-GPOS-00084 <GroupDescription></GroupDescription> - + RHEL-09-232170 RHEL 9 /var/log directory must be owned by root. <VulnDiscussion>Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 9 system or platform. Additionally, personally identifiable information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. @@ -7575,14 +7437,14 @@ The structure and content of error messages must be carefully considered by the $ sudo chown root /var/log - + SRG-OS-000206-GPOS-00084 <GroupDescription></GroupDescription> - + RHEL-09-232175 RHEL 9 /var/log directory must be group-owned by root. <VulnDiscussion>Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 9 system or platform. Additionally, personally identifiable information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. @@ -7601,14 +7463,14 @@ The structure and content of error messages must be carefully considered by the $ sudo chgrp root /var/log - + SRG-OS-000206-GPOS-00084 <GroupDescription></GroupDescription> - + RHEL-09-232180 RHEL 9 /var/log/messages file must be owned by root. <VulnDiscussion>Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 9 system or platform. Additionally, personally identifiable information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. @@ -7627,14 +7489,14 @@ The structure and content of error messages must be carefully considered by the $ sudo chown root /var/log/messages - + SRG-OS-000206-GPOS-00084 <GroupDescription></GroupDescription> - + RHEL-09-232185 RHEL 9 /var/log/messages file must be group-owned by root. <VulnDiscussion>Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 9 system or platform. Additionally, personally identifiable information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. @@ -7653,14 +7515,14 @@ The structure and content of error messages must be carefully considered by the $ sudo chgrp root /var/log/messages - + SRG-OS-000259-GPOS-00100 <GroupDescription></GroupDescription> - + RHEL-09-232190 RHEL 9 system commands must be owned by root. <VulnDiscussion>If RHEL 9 allowed any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. @@ -7681,14 +7543,14 @@ Run the following command, replacing "[FILE]" with any system command file not o $ sudo chown root [FILE] - + SRG-OS-000259-GPOS-00100 <GroupDescription></GroupDescription> - + RHEL-09-232195 RHEL 9 system commands must be group-owned by root or a system account. <VulnDiscussion>If RHEL 9 allowed any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. @@ -7709,14 +7571,14 @@ Run the following command, replacing "[FILE]" with any system command file not g $ sudo chgrp root [FILE] - + SRG-OS-000259-GPOS-00100 <GroupDescription></GroupDescription> - + RHEL-09-232200 RHEL 9 library files must be owned by root. <VulnDiscussion>If RHEL 9 allowed any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. @@ -7730,21 +7592,21 @@ This requirement applies to RHEL 9 with software libraries that are accessible a 5551 CCI-001499 - Configure the system-wide shared library files (/lib, /lib64, /usr/lib and /usr/lib64) to be protected from unauthorized access. + Configure the systemwide shared library files (/lib, /lib64, /usr/lib and /usr/lib64) to be protected from unauthorized access. Run the following command, replacing "[FILE]" with any library file not owned by "root". $ sudo chown root [FILE] - + - + SRG-OS-000259-GPOS-00100 <GroupDescription></GroupDescription> - + RHEL-09-232205 RHEL 9 library files must be group-owned by root or a system account. <VulnDiscussion>If RHEL 9 allowed any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. @@ -7758,21 +7620,21 @@ This requirement applies to RHEL 9 with software libraries that are accessible a 5551 CCI-001499 - Configure the system-wide shared library files (/lib, /lib64, /usr/lib and /usr/lib64) to be protected from unauthorized access. + Configure the systemwide shared library files (/lib, /lib64, /usr/lib and /usr/lib64) to be protected from unauthorized access. Run the following command, replacing "[FILE]" with any library file not group-owned by "root". $ sudo chgrp root [FILE] - + - + SRG-OS-000259-GPOS-00100 <GroupDescription></GroupDescription> - + RHEL-09-232210 RHEL 9 library directories must be owned by root. <VulnDiscussion>If RHEL 9 allowed any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. @@ -7786,21 +7648,21 @@ This requirement applies to RHEL 9 with software libraries that are accessible a 5551 CCI-001499 - Configure the system-wide shared library directories within (/lib, /lib64, /usr/lib and /usr/lib64) to be protected from unauthorized access. + Configure the systemwide shared library directories within (/lib, /lib64, /usr/lib and /usr/lib64) to be protected from unauthorized access. Run the following command, replacing "[DIRECTORY]" with any library directory not owned by "root". $ sudo chown root [DIRECTORY] - + - + SRG-OS-000259-GPOS-00100 <GroupDescription></GroupDescription> - + RHEL-09-232215 RHEL 9 library directories must be group-owned by root or a system account. <VulnDiscussion>If RHEL 9 allowed any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. @@ -7814,14 +7676,14 @@ This requirement applies to RHEL 9 with software libraries that are accessible a 5551 CCI-001499 - Configure the system-wide shared library directories (/lib, /lib64, /usr/lib and /usr/lib64) to be protected from unauthorized access. + Configure the systemwide shared library directories (/lib, /lib64, /usr/lib and /usr/lib64) to be protected from unauthorized access. Run the following command, replacing "[DIRECTORY]" with any library directory not group-owned by "root". $ sudo chgrp root [DIRECTORY] - + - + @@ -7851,7 +7713,7 @@ $ sudo chown root [audit_tool] Replace "[audit_tool]" with each audit tool not owned by "root". - + @@ -7881,7 +7743,7 @@ $ sudo chgrp root [audit_tool] Replace "[audit_tool]" with each audit tool not group-owned by "root". - + @@ -7905,7 +7767,7 @@ Replace "[audit_tool]" with each audit tool not group-owned by "root". - + @@ -7929,7 +7791,7 @@ $ sudo chown root [cron config file] $ sudo chgrp root [cron config file] - + @@ -7953,7 +7815,7 @@ $ sudo chgrp root [cron config file] $ sudo chmod 0600 /etc/crontab - + @@ -7977,14 +7839,14 @@ $ sudo chmod 0600 /etc/crontab $ sudo chmod 0000 /etc/shadow - + SRG-OS-000096-GPOS-00050 <GroupDescription></GroupDescription> - + RHEL-09-251010 RHEL 9 must have the firewalld package installed. <VulnDiscussion>"Firewalld" provides an easy and effective way to block/limit remote access to the system via ports, services, and protocols. @@ -8003,7 +7865,6 @@ Satisfies: SRG-OS-000096-GPOS-00050, SRG-OS-000297-GPOS-00115, SRG-OS-000298-GPO Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-000382 CCI-002314 CCI-002322 @@ -8012,14 +7873,14 @@ Satisfies: SRG-OS-000096-GPOS-00050, SRG-OS-000297-GPOS-00115, SRG-OS-000298-GPO $ sudo dnf install firewalld - + SRG-OS-000096-GPOS-00050 <GroupDescription></GroupDescription> - + RHEL-09-251015 The firewalld service on RHEL 9 must be active. <VulnDiscussion>"Firewalld" provides an easy and effective way to block/limit remote access to the system via ports, services, and protocols. @@ -8038,7 +7899,6 @@ Satisfies: SRG-OS-000096-GPOS-00050, SRG-OS-000297-GPOS-00115, SRG-OS-000480-GPO Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-000382 CCI-002314 To enable the firewalld service run the following command: @@ -8046,14 +7906,14 @@ Satisfies: SRG-OS-000096-GPOS-00050, SRG-OS-000297-GPOS-00115, SRG-OS-000480-GPO $ sudo systemctl enable --now firewalld - + SRG-OS-000420-GPOS-00186 <GroupDescription></GroupDescription> - + RHEL-09-251030 RHEL 9 must protect against or limit the effects of denial-of-service (DoS) attacks by ensuring rate-limiting measures on impacted network interfaces are implemented. <VulnDiscussion>DoS is a condition when a resource is not available for legitimate users. When this occurs, the organization either cannot accomplish its mission or must operate at degraded capacity. @@ -8067,14 +7927,14 @@ This requirement addresses the configuration of RHEL 9 to mitigate the impact of 5551 CCI-002385 - Configure "nftables" to be the default "firewallbackend" for "firewalld" by adding or editing the following line in "etc/firewalld/firewalld.conf": + Configure "nftables" to be the default "firewallbackend" for "firewalld" by adding or editing the following line in "/etc/firewalld/firewalld.conf": FirewallBackend=nftables Establish rate-limiting rules based on organization-defined types of DoS attacks on impacted network interfaces. - + - + @@ -8102,14 +7962,14 @@ Set the promiscuous mode of an interface to off with the following command: $ sudo ip link set dev <devicename> multicast off promisc off - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-251045 RHEL 9 must enable hardening for the Berkeley Packet Filter just-in-time compiler. <VulnDiscussion>When hardened, the extended Berkeley Packet Filter (BPF) just-in-time (JIT) compiler will randomize any kernel addresses in the BPF programs and maps, and will not expose the JIT addresses in "/proc/kallsyms".</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -8130,14 +7990,14 @@ The system configuration files need to be reloaded for the changes to take effec $ sudo sysctl --system - + SRG-OS-000355-GPOS-00143 <GroupDescription></GroupDescription> - + RHEL-09-252010 RHEL 9 must have the chrony package installed. <VulnDiscussion>Inaccurate time stamps make it more difficult to correlate events and can lead to an inaccurate analysis. Determining the correct time a particular event occurred on a system is critical when conducting forensic analysis and investigating system events. Sources outside the configured acceptable allowance (drift) may be inaccurate.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -8149,19 +8009,20 @@ $ sudo sysctl --system 5551 CCI-004923 + CCI-001891 The chrony package can be installed with the following command: $ sudo dnf install chrony - + SRG-OS-000355-GPOS-00143 <GroupDescription></GroupDescription> - + RHEL-09-252015 RHEL 9 chronyd service must be enabled. <VulnDiscussion>Inaccurate time stamps make it more difficult to correlate events and can lead to an inaccurate analysis. Determining the correct time a particular event occurred on a system is critical when conducting forensic analysis and investigating system events. Sources outside the configured acceptable allowance (drift) may be inaccurate. @@ -8175,12 +8036,13 @@ Synchronizing internal information system clocks provides uniformity of time sta 5551 CCI-004923 + CCI-001891 To enable the chronyd service run the following command: $ sudo systemctl enable --now chronyd - + @@ -8207,7 +8069,7 @@ Satisfies: SRG-OS-000096-GPOS-00050, SRG-OS-000095-GPOS-00049</VulnDiscussion port 0 - + @@ -8234,14 +8096,14 @@ Satisfies: SRG-OS-000096-GPOS-00050, SRG-OS-000095-GPOS-00049</VulnDiscussion cmdport 0 - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-252035 RHEL 9 systems using Domain Name Servers (DNS) resolution must have at least two name servers configured. <VulnDiscussion>To provide availability for name resolution services, multiple redundant name servers are mandated. A failure in name resolution could lead to the failure of security functions requiring name resolution, which may include time synchronization, centralized authentication, and remote system logging.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -8253,33 +8115,32 @@ cmdport 0 5551 CCI-000366 - Configure the operating system to use two or more name servers for DNS resolution based on the DNS mode of the system. - -If the NetworkManager DNS mode is set to "none", then add the following lines to "/etc/resolv.conf": - + Configure the operating system to use two or more name servers for DNS resolution based on the DNS mode of the system. + +If the NetworkManager DNS mode is set to "none", add the following lines to "/etc/resolv.conf": + nameserver [name server 1] nameserver [name server 2] - + Replace [name server 1] and [name server 2] with the IPs of two different DNS resolvers. - -If the NetworkManager DNS mode is set to "default" then add two DNS servers to a NetworkManager connection. Using the following commands: - -$ sudo nmcli connection modify [connection name] ipv4.dns [name server 1] -$ sudo nmcli connection modify [connection name] ipv4.dns [name server 2] - + +If the NetworkManager DNS mode is set to "default", add two DNS servers to a NetworkManager connection using the following command: + +$ nmcli connection modify [connection name] ipv4.dns [name server 1],[name server 2] + Replace [name server 1] and [name server 2] with the IPs of two different DNS resolvers. Replace [connection name] with a valid NetworkManager connection name on the system. Replace ipv4 with ipv6 if IPv6 DNS servers are used. - + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-252040 - RHEL 9 must configure a DNS processing mode set be Network Manager. + RHEL 9 must configure a DNS processing mode in Network Manager. <VulnDiscussion>In order to ensure that DNS resolver settings are respected, a DNS mode in Network Manager must be configured.</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 9 @@ -8300,14 +8161,14 @@ NetworkManager must be reloaded for the change to take effect. $ sudo systemctl reload NetworkManager - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-252050 RHEL 9 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> @@ -8318,13 +8179,14 @@ $ sudo systemctl reload NetworkManager Red Hat Enterprise Linux 9 5551 + CCI-000366 Modify the postfix configuration file to restrict client connections to the local network with the following command: $ sudo postconf -e 'smtpd_client_restrictions = permit_mynetworks,reject' - + @@ -8356,14 +8218,14 @@ Then, run the following command: $ sudo newaliases - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-252065 RHEL 9 libreswan package must be installed. <VulnDiscussion>Providing the ability for remote users or systems to initiate a secure VPN connection protects information when it is transmitted over a wide area network. @@ -8376,14 +8238,13 @@ Satisfies: SRG-OS-000480-GPOS-00227, SRG-OS-000120-GPOS-00061</VulnDiscussion Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-000803 Install the libreswan service (if it is not already installed) with the following command: $ sudo dnf install libreswan - + @@ -8407,7 +8268,7 @@ $ sudo dnf install libreswan $ sudo rm /[path]/[to]/[file]/shosts.equiv - + @@ -8431,14 +8292,14 @@ $ sudo rm /[path]/[to]/[file]/shosts.equiv $ sudo rm /[path]/[to]/[file]/.shosts - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-253010 RHEL 9 must be configured to use TCP syncookies. <VulnDiscussion>Denial of service (DoS) is a condition when a resource is not available for legitimate users. When this occurs, the organization either cannot accomplish its mission or must operate at degraded capacity. @@ -8453,7 +8314,6 @@ Satisfies: SRG-OS-000480-GPOS-00227, SRG-OS-000420-GPOS-00186, SRG-OS-000142-GPO Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-001095 CCI-002385 Configure RHEL 9 to use TCP syncookies. @@ -8466,7 +8326,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8498,7 +8358,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8530,7 +8390,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8560,7 +8420,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8590,7 +8450,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8620,7 +8480,7 @@ The system configuration files need to be reloaded for the changes to take effec $ sudo sysctl --system - + @@ -8652,7 +8512,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8684,7 +8544,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8714,7 +8574,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8746,7 +8606,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8776,7 +8636,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8808,7 +8668,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8840,14 +8700,14 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-253075 RHEL 9 must not enable IPv4 packet forwarding unless the system is a router. <VulnDiscussion>Routing protocol daemons are typically used on routers to exchange network topology information with other routers. If this capability is used when not required, system network information may be unnecessarily transmitted across the network.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -8870,7 +8730,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8901,7 +8761,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8932,7 +8792,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8963,7 +8823,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -8994,7 +8854,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -9025,7 +8885,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -9056,7 +8916,7 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + @@ -9089,14 +8949,14 @@ Load settings from all system configuration files with the following command: $ sudo sysctl --system - + SRG-OS-000423-GPOS-00187 <GroupDescription></GroupDescription> - + RHEL-09-255010 All RHEL 9 networked systems must have SSH installed. <VulnDiscussion>Without protection of the transmitted information, confidentiality and integrity may be compromised because unprotected communications can be intercepted and either read or altered. @@ -9122,7 +8982,7 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000424-GPOS-00188, SRG-OS-000425-GPO $ sudo dnf install openssh-server - + @@ -9155,14 +9015,14 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000424-GPOS-00188, SRG-OS-000425-GPO $ systemctl enable --now sshd - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-255020 RHEL 9 must have the openssh-clients package installed. <VulnDiscussion>This package includes utilities to make encrypted connections and transfer files securely to SSH servers.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -9174,19 +9034,19 @@ $ systemctl enable --now sshd 5551 CCI-000366 - The openssh-clients package can be installed with the following command: + The openssh-clients package can be installed with the following command: $ sudo dnf install openssh-clients - + - + SRG-OS-000023-GPOS-00006 <GroupDescription></GroupDescription> - + RHEL-09-255025 RHEL 9 must display the Standard Mandatory DOD Notice and Consent Banner before granting local or remote access to the system via a SSH logon. <VulnDiscussion>The warning message reinforces policy awareness during the logon process and facilitates possible legal action against attackers. Alternatively, systems whose ownership should not be obvious should ensure usage of a banner that does not provide easy attribution. @@ -9205,23 +9065,23 @@ Satisfies: SRG-OS-000023-GPOS-00006, SRG-OS-000228-GPOS-00088</VulnDiscussion CCI-001386 CCI-001387 CCI-001388 - Configure RHEL 9 to display the Standard Mandatory DOD Notice and Consent Banner before granting access to the system via ssh. + Configure RHEL 9 to display the Standard Mandatory DOD Notice and Consent Banner before granting access to the system via ssh. -Edit the "/etc/ssh/sshd_config" file to uncomment the banner keyword and configure it to point to a file that will contain the logon banner (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). +Edit the "etc/ssh/sshd_config" file or a file in "/etc/ssh/sshd_config.d" to uncomment the banner keyword and configure it to point to a file that will contain the logon banner (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). An example configuration line is: Banner /etc/issue - + - + SRG-OS-000032-GPOS-00013 <GroupDescription></GroupDescription> - + RHEL-09-255030 RHEL 9 must log SSH connection attempts and failures to the server. <VulnDiscussion>SSH provides several logging levels with varying amounts of verbosity. "DEBUG" is specifically not recommended other than strictly for debugging SSH communications since it provides so much data that it is difficult to identify important security information. "INFO" or "VERBOSE" level is the basic level that only records login activity of SSH users. In many situations, such as Incident Response, it is important to determine when a particular user was active on a system. The logout record can eliminate those users who disconnected, which helps narrow the field.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -9233,23 +9093,23 @@ Banner /etc/issue 5551 CCI-000067 - Configure RHEL 9 to log connection attempts add or modify the following line in "/etc/ssh/sshd_config". + Configure RHEL 9 to log connection attempts add or modify the following line in "/etc/ssh/sshd_config" or in a file in "/etc/ssh/sshd_config.d". LogLevel VERBOSE Restart the SSH daemon for the settings to take effect: $ sudo systemctl restart sshd.service - + - + SRG-OS-000105-GPOS-00052 <GroupDescription></GroupDescription> - + RHEL-09-255035 RHEL 9 SSHD must accept public key authentication. <VulnDiscussion>Without the use of multifactor authentication, the ease of access to privileged functions is greatly increased. Multifactor authentication requires using two or more factors to achieve authentication. A privileged account is defined as an information system account with authorizations of a privileged user. A DOD common access card (CAC) with DOD-approved PKI is an example of multifactor authentication. @@ -9264,23 +9124,25 @@ Satisfies: SRG-OS-000105-GPOS-00052, SRG-OS-000106-GPOS-00053, SRG-OS-000107-GPO CCI-000765 CCI-000766 - To configure the system add or modify the following line in "/etc/ssh/sshd_config". + CCI-000767 + CCI-000768 + To configure the system, add or modify the following line in "/etc/ssh/sshd_config" or in a file in "/etc/ssh/sshd_config.d". PubkeyAuthentication yes Restart the SSH daemon for the settings to take effect: $ sudo systemctl restart sshd.service - + - + SRG-OS-000106-GPOS-00053 <GroupDescription></GroupDescription> - + RHEL-09-255040 RHEL 9 SSHD must not allow blank passwords. <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. @@ -9293,25 +9155,24 @@ Satisfies: SRG-OS-000106-GPOS-00053, SRG-OS-000480-GPOS-00229, SRG-OS-000480-GPO Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-000766 - To configure the system to prevent SSH users from logging on with blank passwords edit the following line in "etc/ssh/sshd_config": + To configure the system to prevent SSH users from logging on with blank passwords edit the following line in "/etc/ssh/sshd_config" or in a file in "/etc/ssh/sshd_config.d": PermitEmptyPasswords no Restart the SSH daemon for the settings to take effect: $ sudo systemctl restart sshd.service - + - + SRG-OS-000109-GPOS-00056 <GroupDescription></GroupDescription> - + RHEL-09-255045 RHEL 9 must not permit direct logons to the root account using remote access via SSH. <VulnDiscussion>Even though the communications channel may be encrypted, an additional layer of security is gained by extending the policy of not logging directly on as root. In addition, logging in with a user-specific account provides individual accountability of actions performed on the system and also helps to minimize direct attack attempts on root's password. @@ -9324,25 +9185,25 @@ Satisfies: SRG-OS-000109-GPOS-00056, SRG-OS-000480-GPOS-00227</VulnDiscussion Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-004045 - To configure the system to prevent SSH users from logging on directly as root add or modify the following line in "/etc/ssh/sshd_config". + CCI-000770 + To configure the system to prevent SSH users from logging on directly as root add or modify the following line in "/etc/ssh/sshd_config" or in a file in "/etc/ssh/sshd_config.d". - PermitRootLogin no +PermitRootLogin no Restart the SSH daemon for the settings to take effect: $ sudo systemctl restart sshd.service - + - + SRG-OS-000125-GPOS-00065 <GroupDescription></GroupDescription> - + RHEL-09-255050 RHEL 9 must enable the Pluggable Authentication Module (PAM) interface for SSHD. <VulnDiscussion>When UsePAM is set to "yes", PAM runs through account and session types properly. This is important when restricted access to services based off of IP, time, or other factors of the account is needed. Additionally, this ensures users can inherit certain environment variables on login or disallow access to the server.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -9354,23 +9215,23 @@ $ sudo systemctl restart sshd.service 5551 CCI-000877 - Configure the RHEL 9 SSHD to use the UsePAM interface add or modify the following line in "/etc/ssh/sshd_config". + Configure the RHEL 9 SSHD to use the UsePAM interface by adding or modifying the following line in "/etc/ssh/sshd_config" or in a file in "/etc/ssh/sshd_config.d". UsePAM yes Restart the SSH daemon for the settings to take effect: $ sudo systemctl restart sshd.service - + - + SRG-OS-000250-GPOS-00093 <GroupDescription></GroupDescription> - + RHEL-09-255055 RHEL 9 SSH daemon must be configured to use system-wide crypto policies. <VulnDiscussion>Without cryptographic integrity protections, information can be altered by unauthorized users without detection. @@ -9391,23 +9252,23 @@ Cryptographic mechanisms used for protecting the integrity of information includ $ sudo dnf reinstall openssh-server - + SRG-OS-000250-GPOS-00093 <GroupDescription></GroupDescription> - + RHEL-09-255060 - RHEL 9 must implement DOD-approved encryption ciphers to protect the confidentiality of SSH client connections. + RHEL 9 must implement DOD-approved encryption ciphers to protect the confidentiality of SSH connections. <VulnDiscussion>Without cryptographic integrity protections, information can be altered by unauthorized users without detection. -Remote access (e.g., RDP) 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. +Remote access (e.g., RDP) is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. Cryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash. -RHEL 9 incorporates system-wide crypto policies by default. The SSH configuration file has no effect on the ciphers, MACs, or algorithms unless specifically defined in the /etc/sysconfig/sshd file. The employed algorithms can be viewed in the /etc/crypto-policies/back-ends/opensshserver.config file.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> +RHEL 9 incorporates systemwide crypto policies by default. The SSH configuration file has no effect on the ciphers, MACs, or algorithms unless specifically defined in the /etc/sysconfig/sshd file. The employed algorithms can be viewed in the /etc/crypto-policies/back-ends/opensshserver.config file.</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 9 DISA @@ -9416,28 +9277,30 @@ RHEL 9 incorporates system-wide crypto policies by default. The SSH configuratio 5551 CCI-001453 - Configure the RHEL 9 SSH daemon to use system-wide crypto policies by running the following commands: + Configure the RHEL 9 SSH daemon to use systemwide crypto policies. -$ sudo dnf reinstall openssh-clients - +Reinstall OpenSSH client package contents with the following command: + +$ sudo dnf -y reinstall openssh + - + SRG-OS-000250-GPOS-00093 <GroupDescription></GroupDescription> - + RHEL-09-255065 - RHEL 9 must implement DOD-approved encryption ciphers to protect the confidentiality of SSH server connections. + The RHEL 9 SSH server must be configured to use only DOD-approved encryption ciphers employing FIPS 140-3 validated cryptographic hash algorithms to protect the confidentiality of SSH server connections. <VulnDiscussion>Without cryptographic integrity protections, information can be altered by unauthorized users without detection. Remote access (e.g., RDP) is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. Cryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash. -RHEL 9 incorporates system-wide crypto policies by default. The SSH configuration file has no effect on the ciphers, MACs, or algorithms unless specifically defined in the /etc/sysconfig/sshd file. The employed algorithms can be viewed in the /etc/crypto-policies/back-ends/opensshserver.config file.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> +RHEL 9 incorporates systemwide crypto policies by default. The SSH configuration file has no effect on the ciphers, MACs, or algorithms unless specifically defined in the /etc/sysconfig/sshd file. The employed algorithms can be viewed in the /etc/crypto-policies/back-ends/opensshserver.config file.</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 9 DISA @@ -9446,30 +9309,38 @@ RHEL 9 incorporates system-wide crypto policies by default. The SSH configuratio 5551 CCI-001453 - Configure the RHEL 9 SSH client to use only ciphers employing FIPS 140-3 approved algorithms by updating the "/etc/crypto-policies/back-ends/openssh.config" file with the following line: + Configure the RHEL 9 SSH server to use only ciphers employing FIPS 140-3 approved algorithms. -Ciphers aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes128-gcm@openssh.com,aes128-ctr +Reinstall crypto-policies with the following command: -A reboot is required for the changes to take effect. - +$ sudo dnf -y reinstall crypto-policies + +Set the crypto-policy to FIPS with the following command: + +$ sudo update-crypto-policies --set FIPS + +Setting system policy to FIPS + +Note: Systemwide crypto policies are applied on application startup. It is recommended to restart the system for the change of policies to fully take place. + - + SRG-OS-000250-GPOS-00093 <GroupDescription></GroupDescription> - + RHEL-09-255075 - RHEL 9 SSH server must be configured to use only Message Authentication Codes (MACs) employing FIPS 140-3 validated cryptographic hash algorithms. + The RHEL 9 SSH server must be configured to use only Message Authentication Codes (MACs) employing FIPS 140-3 validated cryptographic hash algorithms to protect the confidentiality of SSH server connections. <VulnDiscussion>Without cryptographic integrity protections, information can be altered by unauthorized users without detection. Remote access (e.g., RDP) is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. Cryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash. -RHEL 9 incorporates system-wide crypto policies by default. The SSH configuration file has no effect on the ciphers, MACs, or algorithms unless specifically defined in the /etc/sysconfig/sshd file. The employed algorithms can be viewed in the /etc/crypto-policies/back-ends/opensshserver.config file.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> +RHEL 9 incorporates systemwide crypto policies by default. The SSH configuration file has no effect on the ciphers, MACs, or algorithms unless specifically defined in the /etc/sysconfig/sshd file. The employed algorithms can be viewed in the /etc/crypto-policies/back-ends/opensshserver.config file.</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 9 DISA @@ -9478,21 +9349,29 @@ RHEL 9 incorporates system-wide crypto policies by default. The SSH configuratio 5551 CCI-001453 - Configure the RHEL 9 SSH server to use only MACs employing FIPS 140-3 approved algorithms by updating the "/etc/crypto-policies/back-ends/openssh.config" file with the following line: + Configure the RHEL 9 SSH server to use only MACs employing FIPS 140-3 approved algorithms. -MACs hmac-sha2-256-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha1,umac-128@openssh.com,hmac-sha2-512 +Reinstall crypto-policies with the following command: -A reboot is required for the changes to take effect. - +$ sudo dnf -y reinstall crypto-policies + +Set the crypto-policy to FIPS with the following command: + +$ sudo update-crypto-policies --set FIPS + +Setting system policy to FIPS + +Note: Systemwide crypto policies are applied on application startup. It is recommended to restart the system for the change of policies to fully take place. + - + SRG-OS-000480-GPOS-00229 <GroupDescription></GroupDescription> - + RHEL-09-255080 RHEL 9 must not allow a noncertificate trusted host SSH logon to the system. <VulnDiscussion>SSH trust relationships mean a compromise on one host can allow an attacker to move trivially to other hosts.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -9504,23 +9383,23 @@ A reboot is required for the changes to take effect. 5551 CCI-000366 - To configure RHEL 9 to not allow a noncertificate trusted host SSH logon to the system add or modify the following line in "/etc/ssh/sshd_config". + To configure RHEL 9 to not allow a noncertificate trusted host SSH logon to the system, add or modify the following line in "/etc/ssh/sshd_config" or in a file in "/etc/ssh/sshd_config.d". HostbasedAuthentication no Restart the SSH daemon for the settings to take effect: $ sudo systemctl restart sshd.service - + - + SRG-OS-000480-GPOS-00229 <GroupDescription></GroupDescription> - + RHEL-09-255085 RHEL 9 must not allow users to override SSH environment variables. <VulnDiscussion>SSH environment options potentially allow users to bypass access restriction in some configurations.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -9532,25 +9411,23 @@ $ sudo systemctl restart sshd.service 5551 CCI-000366 - Configure the RHEL 9 SSH daemon to not allow unattended or automatic logon to the system. - -Add or edit the following line in the "/etc/ssh/sshd_config" file: + Configure the RHEL 9 SSH daemon to not allow unattended or automatic logon to the system by editing the following line in the "/etc/ssh/sshd_config" or in a file in "/etc/ssh/sshd_config.d": PermitUserEnvironment no Restart the SSH daemon for the setting to take effect: $ sudo systemctl restart sshd.service - + - + SRG-OS-000423-GPOS-00187 <GroupDescription></GroupDescription> - + RHEL-09-255090 RHEL 9 must force a frequent session key renegotiation for SSH connections to the server. <VulnDiscussion>Without protection of the transmitted information, confidentiality and integrity may be compromised because unprotected communications can be intercepted and either read or altered. @@ -9572,23 +9449,23 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000033-GPOS-00014, SRG-OS-000424-GPO CCI-000068 CCI-002418 CCI-002421 - Configure RHEL 9 to force a frequent session key renegotiation for SSH connections to the server by adding or modifying the following line in the "/etc/ssh/sshd_config" file: + Configure RHEL 9 to force a frequent session key renegotiation for SSH connections to the server by adding or modifying the following line in the "/etc/ssh/sshd_config" or in a file in "/etc/ssh/sshd_config.d": RekeyLimit 1G 1h Restart the SSH daemon for the settings to take effect. $ sudo systemctl restart sshd.service - + - + SRG-OS-000163-GPOS-00072 <GroupDescription></GroupDescription> - + RHEL-09-255095 RHEL 9 must be configured so that all network connections associated with SSH traffic terminate after becoming unresponsive. <VulnDiscussion>Terminating an unresponsive SSH 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. In addition, quickly terminating an idle SSH session will also free up resources committed by the managed network element. @@ -9607,27 +9484,27 @@ Satisfies: SRG-OS-000163-GPOS-00072, SRG-OS-000279-GPOS-00109</VulnDiscussion CCI-001133 CCI-002361 - Note: This setting must be applied in conjunction with RHEL-09-255100 to function correctly. + Note: This setting must be applied in conjunction with RHEL-09-255100 to function correctly. Configure the SSH server to terminate a user session automatically after the SSH client has become unresponsive. -Modify or append the following lines in the "/etc/ssh/sshd_config" file: +Modify or append the following lines in the "/etc/ssh/sshd_config" or in a file in "/etc/ssh/sshd_config.d": ClientAliveCountMax 1 -In order for the changes to take effect, the SSH daemon must be restarted. +For the changes to take effect, the SSH daemon must be restarted. $ sudo systemctl restart sshd.service - + - + SRG-OS-000126-GPOS-00066 <GroupDescription></GroupDescription> - + RHEL-09-255100 RHEL 9 must be configured so that all network connections associated with SSH traffic are terminated after 10 minutes of becoming unresponsive. <VulnDiscussion>Terminating an unresponsive SSH 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. In addition, quickly terminating an idle SSH session will also free up resources committed by the managed network element. @@ -9647,27 +9524,27 @@ Satisfies: SRG-OS-000126-GPOS-00066, SRG-OS-000163-GPOS-00072, SRG-OS-000279-GPO CCI-001133 CCI-002361 CCI-002891 - Note: This setting must be applied in conjunction with RHEL-09-255095 to function correctly. + Note: This setting must be applied in conjunction with RHEL-09-255095 to function correctly. Configure the SSH server to terminate a user session automatically after the SSH client has been unresponsive for 10 minutes. -Modify or append the following lines in the "/etc/ssh/sshd_config" file: +Modify or append the following lines in the "/etc/ssh/sshd_config" or in a file in "/etc/ssh/sshd_config.d": ClientAliveInterval 600 -In order for the changes to take effect, the SSH daemon must be restarted. +For the changes to take effect, the SSH daemon must be restarted. $ sudo systemctl restart sshd.service - + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-255105 RHEL 9 SSH server configuration file must be group-owned by root. <VulnDiscussion>Service configuration files enable or disable features of their respective services, which if configured incorrectly, can lead to insecure and vulnerable configurations. Therefore, service configuration files must be owned by the correct group to prevent unauthorized changes.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -9684,14 +9561,14 @@ $ sudo systemctl restart sshd.service $ sudo chgrp root /etc/ssh/sshd_config - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-255110 RHEL 9 SSH server configuration file must be owned by root. <VulnDiscussion>Service configuration files enable or disable features of their respective services, which if configured incorrectly, can lead to insecure and vulnerable configurations. Therefore, service configuration files must be owned by the correct group to prevent unauthorized changes.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -9708,14 +9585,14 @@ $ sudo chgrp root /etc/ssh/sshd_config $ sudo chown root /etc/ssh/sshd_config - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-255115 RHEL 9 SSH server configuration file must have mode 0600 or less permissive. <VulnDiscussion>Service configuration files enable or disable features of their respective services that if configured incorrectly can lead to insecure and vulnerable configurations. Therefore, service configuration files should be owned by the correct group to prevent unauthorized changes.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -9732,14 +9609,14 @@ $ sudo chown root /etc/ssh/sshd_config $ sudo chmod 0600 /etc/ssh/sshd_config - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-255120 RHEL 9 SSH private host key files must have mode 0640 or less permissive. <VulnDiscussion>If an unauthorized user obtains the private SSH host key file, the host could be impersonated.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -9760,7 +9637,7 @@ Restart the SSH daemon for the changes to take effect: $ sudo systemctl restart sshd.service - + @@ -9788,7 +9665,7 @@ Restart the SSH daemon for the changes to take effect: $ sudo systemctl restart sshd.service - + @@ -9818,14 +9695,14 @@ The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service - + SRG-OS-000364-GPOS-00151 <GroupDescription></GroupDescription> - + RHEL-09-255135 RHEL 9 SSH daemon must not allow GSSAPI authentication. <VulnDiscussion>Generic Security Service Application Program Interface (GSSAPI) authentication is used to provide additional authentication mechanisms to applications. Allowing GSSAPI authentication through SSH exposes the system's GSSAPI to remote hosts, increasing the attack surface of the system. @@ -9838,27 +9715,26 @@ Satisfies: SRG-OS-000364-GPOS-00151, SRG-OS-000480-GPOS-00227</VulnDiscussion Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-001813 - Configure the SSH daemon to not allow GSSAPI authentication. + Configure the SSH daemon to not allow GSSAPI authentication. -Add the following line in "/etc/ssh/sshd_config", or uncomment the line and set the value to "no": +Add or uncomment the following line to "/etc/ssh/sshd_config" or to a file in "/etc/ssh/sshd_config.d" and set the value to "no": GSSAPIAuthentication no The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service - + - + SRG-OS-000364-GPOS-00151 <GroupDescription></GroupDescription> - + RHEL-09-255140 RHEL 9 SSH daemon must not allow Kerberos authentication. <VulnDiscussion>Kerberos authentication for SSH is often implemented using Generic Security Service Application Program Interface (GSSAPI). If Kerberos is enabled through SSH, the SSH daemon provides a means of access to the system's Kerberos implementation. Vulnerabilities in the system's Kerberos implementations may be subject to exploitation. @@ -9871,27 +9747,26 @@ Satisfies: SRG-OS-000364-GPOS-00151, SRG-OS-000480-GPOS-00227</VulnDiscussion Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-001813 - Configure the SSH daemon to not allow Kerberos authentication. + Configure the SSH daemon to not allow Kerberos authentication. -Add the following line in "/etc/ssh/sshd_config", or uncomment the line and set the value to "no": +Add the following line in "/etc/ssh/sshd_config" or to a file in "/etc/ssh/sshd_config.d", or uncomment the line and set the value to "no": KerberosAuthentication no The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service - + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-255145 RHEL 9 SSH daemon must not allow rhosts authentication. <VulnDiscussion>SSH trust relationships mean a compromise on one host can allow an attacker to move trivially to other hosts.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -9903,25 +9778,25 @@ $ sudo systemctl restart sshd.service 5551 CCI-000366 - Configure the SSH daemon to not allow rhosts authentication. + Configure the SSH daemon to not allow rhosts authentication. -Add the following line in "/etc/ssh/sshd_config", or uncomment the line and set the value to "yes": +Add the following line to "/etc/ssh/sshd_config" or to a file in "/etc/ssh/sshd_config.d", or uncomment the line and set the value to "yes": IgnoreRhosts yes The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service - + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-255150 RHEL 9 SSH daemon must not allow known hosts authentication. <VulnDiscussion>Configuring the IgnoreUserKnownHosts setting for the SSH daemon provides additional assurance that remote login via SSH will require a password, even in the event of misconfiguration elsewhere.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -9933,25 +9808,25 @@ $ sudo systemctl restart sshd.service 5551 CCI-000366 - Configure the SSH daemon to not allow known hosts authentication. + Configure the SSH daemon to not allow known hosts authentication. -Add the following line in "/etc/ssh/sshd_config", or uncomment the line and set the value to "yes": +Add the following line to "/etc/ssh/sshd_config" or to a file in "/etc/ssh/sshd_config.d", or uncomment the line and set the value to "yes": IgnoreUserKnownHosts yes The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service - + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-255155 RHEL 9 SSH daemon must disable remote X connections for interactive users. <VulnDiscussion>When X11 forwarding is enabled, there may be additional exposure to the server and client displays if the sshd proxy display is configured to listen on the wildcard address. By default, sshd binds the forwarding server to the loopback address and sets the hostname part of the DISPLAY environment variable to localhost. This prevents remote hosts from connecting to the proxy display.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -9963,25 +9838,25 @@ $ sudo systemctl restart sshd.service 5551 CCI-000366 - Configure the SSH daemon to not allow X11 forwarding. + Configure the SSH daemon to not allow X11 forwarding. -Add the following line in "/etc/ssh/sshd_config", or uncomment the line and set the value to "no": +Add the following line to "/etc/ssh/sshd_config" or to a file in "/etc/ssh/sshd_config.d", or uncomment the line and set the value to "no": X11forwarding no The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service - + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-255160 RHEL 9 SSH daemon must perform strict mode checking of home directory configuration files. <VulnDiscussion>If other users have access to modify user-specific SSH configuration files, they may be able to log into the system as another user.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -9993,25 +9868,25 @@ $ sudo systemctl restart sshd.service 5551 CCI-000366 - Configure the SSH daemon to perform strict mode checking of home directory configuration files. + Configure the SSH daemon to perform strict mode checking of home directory configuration files. -Add the following line in "/etc/ssh/sshd_config", or uncomment the line and set the value to "yes": +Add the following line to "/etc/ssh/sshd_config" or to a file in "/etc/ssh/sshd_config.d", or uncomment the line and set the value to "yes": StrictModes yes The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service - + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-255165 RHEL 9 SSH daemon must display the date and time of the last successful account logon upon an SSH logon. <VulnDiscussion>Providing users feedback on when account accesses last occurred facilitates user recognition and reporting of unauthorized account use.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -10023,28 +9898,28 @@ $ sudo systemctl restart sshd.service 5551 CCI-000366 - Configure the SSH daemon to provide users with feedback on when account accesses last occurred. + Configure the SSH daemon to provide users with feedback on when account accesses last occurred. -Add the following line in "/etc/ssh/sshd_config", or uncomment the line and set the value to "yes": +Add the following line to "/etc/ssh/sshd_config" or to a file in "/etc/ssh/sshd_config.d", or uncomment the line and set the value to "yes": PrintLastLog yes The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service - + - + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - - RHEL-09-255170 - RHEL 9 SSH daemon must be configured to use privilege separation. - <VulnDiscussion>SSH daemon privilege separation causes the SSH process to drop root privileges when not needed, which would decrease the impact of software vulnerabilities in the nonprivileged section.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> + + RHEL-09-255175 + RHEL 9 SSH daemon must prevent remote hosts from connecting to the proxy display. + <VulnDiscussion>When X11 forwarding is enabled, there may be additional exposure to the server and client displays if the sshd proxy display is configured to listen on the wildcard address. By default, sshd binds the forwarding server to the loopback address and sets the hostname part of the "DISPLAY" environment variable to localhost. This prevents remote hosts from connecting to the proxy display.</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 9 DISA @@ -10053,28 +9928,32 @@ $ sudo systemctl restart sshd.service 5551 CCI-000366 - Configure the SSH daemon to perform privilege separation. + Configure the SSH daemon to prevent remote hosts from connecting to the proxy display. -Add the following line in "/etc/ssh/sshd_config", or uncomment the line and set the value to "yes" or "sandbox": +Add the following line to "/etc/ssh/sshd_config" or to a file in "/etc/ssh/sshd_config.d", or uncomment the line and set the value to "yes": -UsePrivilegeSeparation sandbox +X11UseLocalhost yes The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service - + - + - - SRG-OS-000480-GPOS-00227 + + SRG-OS-000023-GPOS-00006 <GroupDescription></GroupDescription> - - RHEL-09-255175 - RHEL 9 SSH daemon must prevent remote hosts from connecting to the proxy display. - <VulnDiscussion>When X11 forwarding is enabled, there may be additional exposure to the server and client displays if the sshd proxy display is configured to listen on the wildcard address. By default, sshd binds the forwarding server to the loopback address and sets the hostname part of the "DISPLAY" environment variable to localhost. This prevents remote hosts from connecting to the proxy display.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> + + RHEL-09-271010 + RHEL 9 must display the Standard Mandatory DOD Notice and Consent Banner before granting local or remote access to the system via a graphical user logon. + <VulnDiscussion>Display of a standardized and approved use notification before granting access to the operating system ensures privacy and security notification verbiage used is consistent with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance. + +For U.S. Government systems, system use notifications are required only for access via login interfaces with human users and are not required when such human interfaces do not exist. + +Satisfies: SRG-OS-000023-GPOS-00006, SRG-OS-000228-GPOS-00088</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 9 DISA @@ -10082,26 +9961,38 @@ $ sudo systemctl restart sshd.service Red Hat Enterprise Linux 9 5551 - CCI-000366 - Configure the SSH daemon to prevent remote hosts from connecting to the proxy display. + + CCI-000048 + CCI-001384 + CCI-001385 + CCI-001386 + CCI-001387 + CCI-001388 + Configure RHEL 9 to display the Standard Mandatory DOD Notice and Consent Banner before granting access to the system via a graphical user logon. -Add the following line in "/etc/ssh/sshd_config", or uncomment the line and set the value to "yes": +Create a database to contain the system-wide graphical user logon settings (if it does not already exist) with the following command: -X11UseLocalhost yes +$ sudo touch /etc/dconf/db/local.d/01-banner-message -The SSH service must be restarted for changes to take effect: +Add the following lines to the [org/gnome/login-screen] section of the "/etc/dconf/db/local.d/01-banner-message": -$ sudo systemctl restart sshd.service - +[org/gnome/login-screen] + +banner-message-enable=true + +Run the following command to update the database: + +$ sudo dconf update + - + SRG-OS-000023-GPOS-00006 <GroupDescription></GroupDescription> - + RHEL-09-271015 RHEL 9 must prevent a user from overriding the banner-message-enable setting for the graphical user interface. <VulnDiscussion>Display of a standardized and approved use notification before granting access to the operating system ensures privacy and security notification verbiage used is consistent with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance. @@ -10123,29 +10014,29 @@ Satisfies: SRG-OS-000023-GPOS-00006, SRG-OS-000228-GPOS-00088</VulnDiscussion CCI-001386 CCI-001387 CCI-001388 - Configure RHEL 9 to prevent a user from overriding the banner setting for graphical user interfaces. + Configure RHEL 9 to prevent a user from overriding the banner setting for graphical user interfaces. -Create a database to contain the system-wide graphical user logon settings (if it does not already exist) with the following command: +Create a database to contain the systemwide graphical user logon settings (if it does not already exist) with the following command: $ sudo touch /etc/dconf/db/local.d/locks/session Add the following setting to prevent nonprivileged users from modifying it: -banner-message-enable +/org/gnome/login-screen/banner-message-enable Run the following command to update the database: $ sudo dconf update - + - + SRG-OS-000114-GPOS-00059 <GroupDescription></GroupDescription> - + RHEL-09-271020 RHEL 9 must disable the graphical user interface automount function unless required. <VulnDiscussion>Automatically mounting file systems permits easy introduction of unknown devices, thereby facilitating malicious activity. @@ -10159,7 +10050,6 @@ Satisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163, SRG-OS-000480-GPO 5551 - CCI-000366 CCI-000778 CCI-001958 Configure the GNOME desktop to disable automated mounting of removable media. @@ -10176,14 +10066,14 @@ Then update the dconf system databases: $ sudo dconf update - + SRG-OS-000114-GPOS-00059 <GroupDescription></GroupDescription> - + RHEL-09-271025 RHEL 9 must prevent a user from overriding the disabling of the graphical user interface automount function. <VulnDiscussion>A nonprivileged account is any operating system account with authorizations of a nonprivileged user. @@ -10197,7 +10087,6 @@ Satisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163, SRG-OS-000480-GPO 5551 - CCI-000366 CCI-000778 CCI-001958 Configure the GNOME desktop to not allow a user to change the setting that disables automated mounting of removable media. @@ -10211,14 +10100,14 @@ Then update the dconf system databases: $ sudo dconf update - + SRG-OS-000114-GPOS-00059 <GroupDescription></GroupDescription> - + RHEL-09-271035 RHEL 9 must prevent a user from overriding the disabling of the graphical user interface autorun function. <VulnDiscussion>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. @@ -10232,7 +10121,6 @@ Satisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163, SRG-OS-000480-GPO 5551 - CCI-000366 CCI-000778 CCI-001958 Configure the GNOME desktop to not allow a user to change the setting that disables autorun on removable media. @@ -10246,14 +10134,14 @@ Then update the dconf system databases: $ sudo dconf update - + SRG-OS-000480-GPOS-00229 <GroupDescription></GroupDescription> - + RHEL-09-271040 RHEL 9 must not allow unattended or automatic logon via the graphical user interface. <VulnDiscussion>Failure to restrict system access to authenticated users negatively impacts operating system security.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -10274,14 +10162,14 @@ Set AutomaticLoginEnable to false in the [daemon] section in /etc/gdm/custom.con AutomaticLoginEnable=false - + SRG-OS-000028-GPOS-00009 <GroupDescription></GroupDescription> - + RHEL-09-271045 RHEL 9 must be able to initiate directly a session lock for all connection types using smart card when the smart card is removed. <VulnDiscussion>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. @@ -10299,6 +10187,7 @@ Satisfies: SRG-OS-000028-GPOS-00009, SRG-OS-000030-GPOS-00011</VulnDiscussion CCI-000056 CCI-000057 + CCI-000058 Configure RHEL 9 to enable a user's session lock until that user re-establishes access using established identification and authentication procedures. Select or create an authselect profile and incorporate the "with-smartcard-lock-on-removal" feature with the following example: @@ -10317,14 +10206,14 @@ Then update the dconf system databases: $ sudo dconf update - + SRG-OS-000028-GPOS-00009 <GroupDescription></GroupDescription> - + RHEL-09-271050 RHEL 9 must prevent a user from overriding the disabling of the graphical user smart card removal action. <VulnDiscussion>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. @@ -10342,6 +10231,7 @@ Satisfies: SRG-OS-000028-GPOS-00009, SRG-OS-000030-GPOS-00011</VulnDiscussion CCI-000056 CCI-000057 + CCI-000058 Add the following line to "/etc/dconf/db/local.d/locks/00-security-settings-lock" to prevent user override of the smart card removal action: /org/gnome/settings-daemon/peripherals/smartcard/removal-action @@ -10351,14 +10241,14 @@ Then update the dconf system databases: $ sudo dconf update - + SRG-OS-000028-GPOS-00009 <GroupDescription></GroupDescription> - + RHEL-09-271055 RHEL 9 must enable a user session lock until that user re-establishes access using established identification and authentication procedures for graphical user sessions. <VulnDiscussion>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. @@ -10378,6 +10268,7 @@ Satisfies: SRG-OS-000028-GPOS-00009, SRG-OS-000030-GPOS-00011</VulnDiscussion CCI-000056 CCI-000057 + CCI-000058 Configure RHEL 9 to enable a user's session lock until that user re-establishes access using established identification and authentication procedures. Create a database to contain the system-wide screensaver settings (if it does not already exist) with the following example: @@ -10394,14 +10285,14 @@ Update the system databases: $ sudo dconf update - + SRG-OS-000028-GPOS-00009 <GroupDescription></GroupDescription> - + RHEL-09-271060 RHEL 9 must prevent a user from overriding the screensaver lock-enabled setting for the graphical user interface. <VulnDiscussion>A session time-out 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 log out because of the temporary nature of the absence. Rather than relying on the user to manually lock their operating system session prior to vacating the vicinity, operating systems need to be able to identify when a user's session has idled and take action to initiate the session lock. @@ -10421,20 +10312,25 @@ Satisfies: SRG-OS-000028-GPOS-00009, SRG-OS-000030-GPOS-00011</VulnDiscussion CCI-000056 CCI-000057 - Configure RHEL 9 to prevent a user from overriding settings for graphical user interfaces. + CCI-000058 + Configure RHEL 9 to prevent a user from overriding settings for graphical user interfaces. -Create a database to contain the system-wide screensaver settings (if it does not already exist) with the following command: +Create a database to contain the systemwide screensaver settings (if it does not already exist) with the following command: -Note: The example below is using the database "local" for the system, so if the system is using another database in "/etc/dconf/profile/user", the file should be created under the appropriate subdirectory. +Note: The example below is using the database "local" for the system. If the system is using another database in "/etc/dconf/profile/user", the file should be created under the appropriate subdirectory. $ sudo touch /etc/dconf/db/local.d/locks/session Add the following setting to prevent nonprivileged users from modifying it: -/org/gnome/desktop/screensaver/lock-enabled - +/org/gnome/desktop/screensaver/lock-enabled + +Run the following command to update the database: + +$ sudo dconf update + - + @@ -10474,14 +10370,14 @@ Update the system databases: $ sudo dconf update - + SRG-OS-000029-GPOS-00010 <GroupDescription></GroupDescription> - + RHEL-09-271070 RHEL 9 must prevent a user from overriding the session idle-delay setting for the graphical user interface. <VulnDiscussion>A session time-out 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 logout because of the temporary nature of the absence. Rather than relying on the user to manually lock their operating system session prior to vacating the vicinity, the GNOME desktop can be configured to identify when a user's session has idled and take action to initiate the session lock. As such, users should not be allowed to change session settings. @@ -10497,27 +10393,31 @@ Satisfies: SRG-OS-000029-GPOS-00010, SRG-OS-000031-GPOS-00012</VulnDiscussion CCI-000057 CCI-000060 - Configure RHEL 9 to prevent a user from overriding settings for graphical user interfaces. + Configure RHEL 9 to prevent a user from overriding settings for graphical user interfaces. -Create a database to contain the system-wide screensaver settings (if it does not already exist) with the following command: +Create a database to contain the systemwide screensaver settings (if it does not already exist) with the following command: -Note: The example below is using the database "local" for the system, so if the system is using another database in "/etc/dconf/profile/user", the file should be created under the appropriate subdirectory. +Note: The example below is using the database "local" for the system. If the system is using another database in "/etc/dconf/profile/user", the file should be created under the appropriate subdirectory. $ sudo touch /etc/dconf/db/local.d/locks/session Add the following setting to prevent nonprivileged users from modifying it: -/org/gnome/desktop/session/idle-delay - +/org/gnome/desktop/session/idle-delay + +Run the following command to update the database: + +$ sudo dconf update + - + SRG-OS-000029-GPOS-00010 <GroupDescription></GroupDescription> - + RHEL-09-271080 RHEL 9 must prevent a user from overriding the session lock-delay setting for the graphical user interface. <VulnDiscussion>A session time-out 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 logout because of the temporary nature of the absence. Rather than relying on the user to manually lock their operating system session prior to vacating the vicinity, the GNOME desktop can be configured to identify when a user's session has idled and take action to initiate the session lock. As such, users should not be allowed to change session settings.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -10530,27 +10430,31 @@ Add the following setting to prevent nonprivileged users from modifying it: CCI-000057 - Configure RHEL 9 to prevent a user from overriding settings for graphical user interfaces. + Configure RHEL 9 to prevent a user from overriding settings for graphical user interfaces. -Create a database to contain the system-wide screensaver settings (if it does not already exist) with the following command: +Create a database to contain the systemwide screensaver settings (if it does not already exist) with the following command: -Note: The example below is using the database "local" for the system, so if the system is using another database in "/etc/dconf/profile/user", the file should be created under the appropriate subdirectory. +Note: The example below is using the database "local" for the system. If the system is using another database in "/etc/dconf/profile/user", the file should be created under the appropriate subdirectory. $ sudo touch /etc/dconf/db/local.d/locks/session Add the following setting to prevent nonprivileged users from modifying it: -/org/gnome/desktop/screensaver/lock-delay - +/org/gnome/desktop/screensaver/lock-delay + +Run the following command to update the database: + +$ sudo dconf update + - + SRG-OS-000031-GPOS-00012 <GroupDescription></GroupDescription> - + RHEL-09-271085 RHEL 9 must conceal, via the session lock, information previously visible on the display with a publicly viewable image. <VulnDiscussion>Setting the screensaver mode to blank-only conceals the contents of the display from passersby.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -10563,30 +10467,30 @@ Add the following setting to prevent nonprivileged users from modifying it: CCI-000060 - The dconf settings can be edited in the /etc/dconf/db/* location. + Configure RHEL 9 to prevent a user from overriding the picture-uri setting for graphical user interfaces. -First, add or update the [org/gnome/desktop/screensaver] section of the "/etc/dconf/db/local.d/00-security-settings" database file and add or update the following lines: +In the file "/etc/dconf/db/local.d/00-security-settings", add or update the following lines: [org/gnome/desktop/screensaver] picture-uri='' -Then, add the following line to "/etc/dconf/db/local.d/locks/00-security-settings-lock" to prevent user modification: +Prevent user modification by adding the following line to "/etc/dconf/db/local.d/locks/00-security-settings-lock": /org/gnome/desktop/screensaver/picture-uri -Finally, update the dconf system databases: +Update the dconf system databases: $ sudo dconf update - + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-271095 RHEL 9 must disable the ability of a user to restart the system from the login screen. <VulnDiscussion>A user who is at the console can reboot the system at the login screen. If restart or shutdown buttons are pressed at the login screen, this can create the risk of short-term loss of availability of systems due to reboot.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -10599,26 +10503,23 @@ $ sudo dconf update CCI-000366 - Configure RHEL 9 to disable a user's ability to restart the system. + Configure RHEL 9 to disable a user's ability to restart the system. -Add or update the [org/gnome/settings-daemon/] section of the /etc/dconf/db/local.d/00-security-settings" database file and add or update the following lines: - -[org/gnome/login-screen] -disable-restart-buttons='true' +$ gsettings set org.gnome.login-screen disable-restart-buttons true -Then update the dconf system databases: +Update the dconf system databases: $ sudo dconf update - + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-271100 RHEL 9 must prevent a user from overriding the disable-restart-buttons setting for the graphical user interface. <VulnDiscussion>A user who is at the console can reboot the system at the login screen. If restart or shutdown buttons are pressed at the login screen, this can create the risk of short-term loss of availability of systems due to reboot.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -10631,9 +10532,9 @@ $ sudo dconf update CCI-000366 - Configure RHEL 9 to prevent a user from overriding the disable-restart-buttons setting for graphical user interfaces. + Configure RHEL 9 to prevent a user from overriding the disable-restart-buttons setting for graphical user interfaces. -Create a database to contain the system-wide graphical user logon settings (if it does not already exist) with the following command: +Create a database to contain the systemwide graphical user logon settings (if it does not already exist) with the following command: $ sudo touch /etc/dconf/db/local.d/locks/session @@ -10644,16 +10545,16 @@ Add the following line to prevent nonprivileged users from modifying it: Run the following command to update the database: $ sudo dconf update - + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-271110 RHEL 9 must prevent a user from overriding the Ctrl-Alt-Del sequence settings for the graphical user interface. <VulnDiscussion>A locally logged-in user who presses Ctrl-Alt-Del, when at the console, can reboot the system. If accidentally pressed, as could happen in the case of mixed OS environment, this can create the risk of short-term loss of availability of systems due to unintentional reboot.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -10666,9 +10567,9 @@ $ sudo dconf update CCI-000366 - Configure RHEL 9 to disallow the user changing the Ctrl-Alt-Del sequence in the GNOME desktop. + Configure RHEL 9 to disallow the user changing the Ctrl-Alt-Del sequence in the GNOME desktop. -Create a database to container system-wide graphical user logon settings (if it does not already exist) with the following command: +Create a database to contain the systemwide graphical user logon settings (if it does not already exist) with the following command: $ sudo touch /etc/dconf/db/local.d/locks/session @@ -10679,16 +10580,16 @@ Add the following line to the session locks file to prevent nonprivileged users Run the following command to update the database: $ sudo dconf update - + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-271115 RHEL 9 must disable the user list at logon for graphical user interfaces. <VulnDiscussion>Leaving the user list enabled is a security risk since it allows anyone with physical access to the system to enumerate known user accounts without authenticated access to the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -10701,10 +10602,10 @@ $ sudo dconf update CCI-000366 - Configure RHEL 9 to disable the user list at logon for graphical user interfaces. + Configure RHEL 9 to disable the user list at logon for graphical user interfaces. -Create a database to contain the system-wide screensaver settings (if it does not already exist) with the following command: -Note: The example below is using the database "local" for the system, so if the system is using another database in "/etc/dconf/profile/user", the file should be created under the appropriate subdirectory. +Create a database to contain the systemwide screensaver settings (if it does not already exist) with the following command: +Note: The example below is using the database "local" for the system. If the system is using another database in "/etc/dconf/profile/user", the file should be created under the appropriate subdirectory. $ sudo touch /etc/dconf/db/local.d/02-login-screen @@ -10714,16 +10615,16 @@ disable-user-list=true Update the system databases: $ sudo dconf update - + - + SRG-OS-000114-GPOS-00059 <GroupDescription></GroupDescription> - + RHEL-09-291010 RHEL 9 must be configured to disable USB mass storage. <VulnDiscussion>USB mass storage permits easy introduction of unknown devices, thereby facilitating malicious activity. @@ -10739,20 +10640,20 @@ Satisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163, SRG-OS-000480-GPO CCI-000778 CCI-001958 CCI-003959 - To configure the system to prevent the usb-storage kernel module from being loaded, add the following line to the file /etc/modprobe.d/usb-storage.conf (or create usb-storage.conf if it does not exist): + To configure the system to prevent the usb-storage kernel module from being loaded, add the following lines to the file "/etc/modprobe.d/usb-storage.conf" (or create "usb-storage.conf" if it does not exist): install usb-storage /bin/false blacklist usb-storage - + - + SRG-OS-000378-GPOS-00163 <GroupDescription></GroupDescription> - + RHEL-09-291015 RHEL 9 must have the USBGuard package installed. <VulnDiscussion>The USBguard-daemon is the main component of the USBGuard software framework. It runs as a service in the background and enforces the USB device authorization policy for all USB devices. The policy is defined by a set of rules using a rule language described in the usbguard-rules.conf file. The policy and the authorization state of USB devices can be modified during runtime using the usbguard tool. @@ -10767,19 +10668,28 @@ The system administrator (SA) must work with the site information system securit CCI-001958 CCI-003959 - Install the usbguard package with the following command: + Install the usbguard package with the following command: -$ sudo dnf install usbguard - - - +$ sudo dnf install usbguard + +Enable the service to start on boot and then start it with the following commands: +$ sudo systemctl enable usbguard +$ sudo systemctl start usbguard + +Verify the status of the service with the following command: +$ sudo systemctl status usbguard + +Note: usbguard will need to be configured to allow authorized devices once it is enabled on RHEL 9. + + + SRG-OS-000378-GPOS-00163 <GroupDescription></GroupDescription> - + RHEL-09-291020 RHEL 9 must have the USBGuard package enabled. <VulnDiscussion>The USBguard-daemon is the main component of the USBGuard software framework. It runs as a service in the background and enforces the USB device authorization policy for all USB devices. The policy is defined by a set of rules using a rule language described in the usbguard-rules.conf file. The policy and the authorization state of USB devices can be modified during runtime using the usbguard tool. @@ -10799,14 +10709,14 @@ The system administrator (SA) must work with the site information system securit $ sudo systemctl enable --now usbguard - + SRG-OS-000062-GPOS-00031 <GroupDescription></GroupDescription> - + RHEL-09-291025 RHEL 9 must enable Linux audit logging for the USBGuard daemon. <VulnDiscussion>Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -10841,14 +10751,14 @@ Add or edit the following line in /etc/usbguard/usbguard-daemon.conf AuditBackend=LinuxAudit - + SRG-OS-000095-GPOS-00049 <GroupDescription></GroupDescription> - + RHEL-09-291035 RHEL 9 Bluetooth must be disabled. <VulnDiscussion>This requirement applies to wireless peripheral technologies (e.g., wireless mice, keyboards, displays, etc.) used with RHEL 9 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 9 operating system. @@ -10863,24 +10773,24 @@ Satisfies: SRG-OS-000095-GPOS-00049, SRG-OS-000300-GPOS-00118</VulnDiscussion CCI-000381 CCI-001443 - Configure RHEL 9 to disable the Bluetooth adapter when not in use. + Configure RHEL 9 to disable the Bluetooth adapter when not in use. -Create or modify the "/etc/modprobe.d/bluetooth.conf" file with the following line: +Create or modify the "/etc/modprobe.d/bluetooth.conf" file with the following lines: install bluetooth /bin/false blacklist bluetooth Reboot the system for the settings to take effect. - + - + SRG-OS-000076-GPOS-00044 <GroupDescription></GroupDescription> - + RHEL-09-411010 RHEL 9 user account passwords for new users or password changes must have a 60-day maximum password lifetime restriction in /etc/login.defs. <VulnDiscussion>Any password, no matter how complex, can eventually be cracked; therefore, passwords need to be changed periodically. If the operating system does not limit the lifetime of passwords and force users to change their passwords, there is the risk that the operating system passwords could be compromised. @@ -10894,6 +10804,7 @@ Setting the password maximum age ensures users are required to periodically chan 5551 CCI-004066 + CCI-000199 Configure RHEL 9 to enforce a 60-day maximum password lifetime. Add or modify the following line in the "/etc/login.defs" file: @@ -10901,14 +10812,14 @@ Add or modify the following line in the "/etc/login.defs" file: PASS_MAX_DAYS 60 - + SRG-OS-000076-GPOS-00044 <GroupDescription></GroupDescription> - + RHEL-09-411015 RHEL 9 user account passwords must have a 60-day maximum password lifetime restriction. <VulnDiscussion>Any password, no matter how complex, can eventually be cracked; therefore, passwords need to be changed periodically. If RHEL 9 does not limit the lifetime of passwords and force users to change their passwords, there is the risk that RHEL 9 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> @@ -10920,12 +10831,13 @@ PASS_MAX_DAYS 60 5551 CCI-004066 + CCI-000199 Configure noncompliant accounts to enforce a 60-day maximum password lifetime restriction. passwd -x 60 [user] - + @@ -10949,7 +10861,7 @@ passwd -x 60 [user] CREATE_HOME yes - + @@ -10975,7 +10887,7 @@ Satisfies: SRG-OS-000104-GPOS-00051, SRG-OS-000121-GPOS-00062, SRG-OS-000042-GPO Edit the file "/etc/passwd" and provide each interactive user account that has a duplicate UID with a unique UID. - + @@ -11007,7 +10919,7 @@ $ sudo usermod --shell /sbin/nologin <user> Do not perform the steps in this section on the root account. Doing so will cause the system to become inaccessible. - + @@ -11031,14 +10943,14 @@ Do not perform the steps in this section on the root account. Doing so will caus Edit the file "/etc/passwd" and ensure that every user's GID is a valid GID. - + SRG-OS-000118-GPOS-00060 <GroupDescription></GroupDescription> - + RHEL-09-411050 RHEL 9 must disable account identifiers (individuals, groups, roles, and devices) after 35 days of inactivity. <VulnDiscussion>Inactive identifiers pose a risk to systems and applications because attackers may exploit an inactive identifier and potentially obtain undetected access to the system. @@ -11055,6 +10967,7 @@ Owners of inactive accounts will not notice if unauthorized access to their user CCI-003627 CCI-003628 + CCI-000795 Configure RHEL 9 to disable account identifiers after 35 days of inactivity after the password expiration. Run the following command to change the configuration for useradd: @@ -11064,7 +10977,7 @@ $ sudo useradd -D -f 35 The recommendation is 35 days, but a lower value is acceptable. - + @@ -11086,7 +10999,7 @@ The recommendation is 35 days, but a lower value is acceptable. Create and assign home directories to all local interactive users on RHEL 9 that currently do not have a home directory assigned. - + @@ -11115,14 +11028,14 @@ Add/modify the "/etc/security/faillock.conf" file to match the following line: deny = 3 - + SRG-OS-000329-GPOS-00128 <GroupDescription></GroupDescription> - + RHEL-09-411080 RHEL 9 must automatically lock the root account until the root account is released by an administrator when three unsuccessful logon attempts occur during a 15-minute time period. <VulnDiscussion>By limiting the number of failed logon attempts, the risk of unauthorized system access via user password guessing, also known as brute-forcing, is reduced. Limits are imposed by locking the account. @@ -11137,24 +11050,23 @@ Satisfies: SRG-OS-000329-GPOS-00128, SRG-OS-000021-GPOS-00005</VulnDiscussion CCI-000044 CCI-002238 - Configure RHEL 9 to lock out the "root" account after a number of incorrect login attempts using "pam_faillock.so", first enable the feature using the following command: + To configure RHEL 9 to lock out the "root" account after a number of incorrect logon attempts using "pam_faillock.so", first enable the feature using the following command: $ sudo authselect enable-feature with-faillock - Then edit the "/etc/security/faillock.conf" file as follows: +Edit the "/etc/security/faillock.conf" by uncommenting or adding the following line: - add or uncomment the following line: - even_deny_root - +even_deny_root + - + SRG-OS-000329-GPOS-00128 <GroupDescription></GroupDescription> - + RHEL-09-411085 RHEL 9 must automatically lock an account when three unsuccessful logon attempts occur during a 15-minute time period. <VulnDiscussion>By limiting the number of failed logon attempts the risk of unauthorized system access via user password guessing, otherwise known as brute-forcing, is reduced. Limits are imposed by locking the account. @@ -11169,23 +11081,23 @@ Satisfies: SRG-OS-000329-GPOS-00128, SRG-OS-000021-GPOS-00005</VulnDiscussion CCI-000044 CCI-002238 - To configure RHEL 9 to lock out the "root" account after a number of incorrect login attempts within 15 minutes using "pam_faillock.so", enable the feature using the following command: + To configure RHEL 9 to lock out the "root" account after a number of incorrect logon attempts within 15 minutes using "pam_faillock.so", enable the feature using the following command: -$ authselect enable-feature with-faillock +$ sudo authselect enable-feature with-faillock Then edit the "/etc/security/faillock.conf" file as follows: fail_interval = 900 - + - + SRG-OS-000329-GPOS-00128 <GroupDescription></GroupDescription> - + RHEL-09-411090 RHEL 9 must maintain an account lock until the locked account is released by an administrator. <VulnDiscussion>By limiting the number of failed logon attempts the risk of unauthorized system access via user password guessing, otherwise known as brute-forcing, is reduced. Limits are imposed by locking the account. @@ -11200,16 +11112,16 @@ Satisfies: SRG-OS-000329-GPOS-00128, SRG-OS-000021-GPOS-00005</VulnDiscussion CCI-000044 CCI-002238 - Configure RHEL 9 to lock an account until released by an administrator after three unsuccessful logon attempts with the command: + Configure RHEL 9 to lock an account until released by an administrator after three unsuccessful logon attempts with the command: -$ authselect enable-feature with-faillock +$ sudo authselect enable-feature with-faillock -Then edit the "/etc/security/faillock.conf" file as follows: +Edit the "/etc/security/faillock.conf" file as follows: unlock_time = 0 - + - + @@ -11233,14 +11145,14 @@ unlock_time = 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. - + SRG-OS-000021-GPOS-00005 <GroupDescription></GroupDescription> - + RHEL-09-411105 RHEL 9 must ensure account lockouts persist. <VulnDiscussion>Having lockouts persist across reboots ensures that account is only unlocked by an administrator. If the lockouts did not persist across reboots, an attacker could simply reboot the system to continue brute force attacks against the accounts 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> @@ -11259,7 +11171,7 @@ Add/modify the "/etc/security/faillock.conf" file to match the following line: dir = /var/log/faillock - + @@ -11281,126 +11193,14 @@ dir = /var/log/faillock Edit the file "/etc/group" and provide each group that has a duplicate GID with a unique GID. - - - - - - SRG-OS-000030-GPOS-00011 - <GroupDescription></GroupDescription> - - RHEL-09-412010 - RHEL 9 must have the tmux package installed. - <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-000030-GPOS-00011, SRG-OS-000028-GPOS-00009</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 9 - DISA - DPMS Target - Red Hat Enterprise Linux 9 - 5551 - - CCI-000056 - CCI-000057 - The tmux package can be installed with the following command: - -$ sudo dnf install tmux - - - - - - - - SRG-OS-000028-GPOS-00009 - <GroupDescription></GroupDescription> - - RHEL-09-412020 - RHEL 9 must enable a user session lock until that user re-establishes access using established identification and authentication procedures for command line sessions. - <VulnDiscussion>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 9 must 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.</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 9 - DISA - DPMS Target - Red Hat Enterprise Linux 9 - 5551 - - CCI-000056 - Configure RHEL 9 to enable a user to manually initiate a session lock via tmux. This configuration binds the uppercase letter "X" to manually initiate a session lock after the prefix key "Ctrl + b" has been sent. The complete key sequence is thus "Ctrl + b" then "Shift + x" to lock tmux. - -Create a global configuration file "/etc/tmux.conf" and add the following lines: - -set -g lock-command vlock -bind X lock-session - -Reload tmux configuration to take effect. This can be performed in tmux while it is running: - -$ tmux source-file /etc/tmux.conf - - - - - - - - SRG-OS-000029-GPOS-00010 - <GroupDescription></GroupDescription> - - RHEL-09-412025 - RHEL 9 must automatically lock command line user sessions after 15 minutes of inactivity. - <VulnDiscussion>A session time-out 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 logout because of the temporary nature of the absence. Rather than relying on the user to manually lock their operating system session prior to vacating the vicinity, tmux can be configured to identify when a user's session has idled and take action to initiate a session lock. - -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 9 - DISA - DPMS Target - Red Hat Enterprise Linux 9 - 5551 - - CCI-000057 - CCI-000060 - Configure RHEL 9 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 900 - - - - - - - - SRG-OS-000324-GPOS-00125 - <GroupDescription></GroupDescription> - - RHEL-09-412030 - RHEL 9 must prevent users from disabling session control mechanisms. - <VulnDiscussion>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 9 must 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. - -Satisfies: SRG-OS-000324-GPOS-00125, SRG-OS-000028-GPOS-00009</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 9 - DISA - DPMS Target - Red Hat Enterprise Linux 9 - 5551 - - CCI-000056 - CCI-002235 - Configure RHEL 9 to prevent users from disabling the tmux terminal multiplexer by editing the "/etc/shells" configuration file to remove any instances of tmux. - - - + SRG-OS-000163-GPOS-00072 <GroupDescription></GroupDescription> - + RHEL-09-412035 RHEL 9 must automatically exit interactive command shell user sessions after 15 minutes of inactivity. <VulnDiscussion>Terminating an idle interactive command shell user session within a short time period reduces the window of opportunity for unauthorized personnel to take control of it when left unattended in a virtual terminal or physical console. @@ -11415,16 +11215,16 @@ Satisfies: SRG-OS-000163-GPOS-00072, SRG-OS-000029-GPOS-00010</VulnDiscussion CCI-000057 CCI-001133 - Configure RHEL 9 to exit interactive command shell user sessions after 15 minutes of inactivity. + Configure RHEL 9 to exit interactive command shell user sessions after 10 minutes of inactivity. Add or edit the following line in "/etc/profile.d/tmout.sh": #!/bin/bash -declare -xr TMOUT=900 - +declare -xr TMOUT=600 + - + @@ -11452,14 +11252,14 @@ Add the following line to the top of the /etc/security/limits.conf or in a ".con * hard maxlogins 10 - + SRG-OS-000021-GPOS-00005 <GroupDescription></GroupDescription> - + RHEL-09-412045 RHEL 9 must log username information when unsuccessful logon attempts occur. <VulnDiscussion>Without auditing of these events, it may be harder or impossible to identify what an attacker did after an attack.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -11471,14 +11271,18 @@ Add the following line to the top of the /etc/security/limits.conf or in a ".con 5551 CCI-000044 - Configure RHEL 9 to log username information when unsuccessful logon attempts occur. + Configure RHEL 9 to log username information when unsuccessful logon attempts occur. +Enable the feature using the following command: + +$ sudo authselect enable-feature with-faillock + Add/modify the "/etc/security/faillock.conf" file to match the following line: audit - + - + @@ -11504,14 +11308,14 @@ Modify the "/etc/login.defs" file to set the "FAIL_DELAY" parameter to 4 or grea FAIL_DELAY 4 - + SRG-OS-000480-GPOS-00228 <GroupDescription></GroupDescription> - + RHEL-09-412055 RHEL 9 must define default permissions for the bash shell. <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. @@ -11532,14 +11336,14 @@ Add or edit the lines for the "umask" parameter in the "/etc/bashrc" file to "07 umask 077 - + SRG-OS-000480-GPOS-00228 <GroupDescription></GroupDescription> - + RHEL-09-412060 RHEL 9 must define default permissions for the c shell. <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. @@ -11560,7 +11364,7 @@ Add or edit the lines for the "umask" parameter in the "/etc/csh.cshrc" file to umask 077 - + @@ -11586,7 +11390,7 @@ Add or edit the lines for the "UMASK" parameter in the "/etc/login.defs" file to UMASK 077 - + @@ -11614,7 +11418,7 @@ Add or edit the lines for the "umask" parameter in the "/etc/profile" file to "0 umask 077 - + @@ -11640,14 +11444,14 @@ Add the following line to the top of "/etc/pam.d/postlogin": session required pam_lastlog.so showfailed - + SRG-OS-000163-GPOS-00072 <GroupDescription></GroupDescription> - + RHEL-09-412080 RHEL 9 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> @@ -11659,18 +11463,16 @@ session required pam_lastlog.so showfailed 5551 CCI-001133 - Configure RHEL 9 to log out idle sessions by editing the /etc/systemd/logind.conf file with the following line: + Configure RHEL 9 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". - +$ sudo systemctl restart systemd-logind + - + @@ -11703,14 +11505,14 @@ Edit the file "/etc/selinux/config" and add or modify the following line: A reboot is required for the changes to take effect. - + SRG-OS-000445-GPOS-00199 <GroupDescription></GroupDescription> - + RHEL-09-431015 RHEL 9 must enable the SELinux targeted policy. <VulnDiscussion>Setting the SELinux policy to "targeted" or a more specialized policy ensures the system will confine processes that are likely to be targeted for exploitation, such as network or system services. @@ -11733,14 +11535,14 @@ Edit the file "/etc/selinux/config" and add or modify the following line: A reboot is required for the changes to take effect. - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-431025 RHEL 9 must have policycoreutils package installed. <VulnDiscussion>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. @@ -11755,21 +11557,20 @@ Satisfies: SRG-OS-000480-GPOS-00227, SRG-OS-000134-GPOS-00068</VulnDiscussion Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-001084 The policycoreutils package can be installed with the following command: $ sudo dnf install policycoreutils - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-431030 RHEL 9 policycoreutils-python-utils package must be installed. <VulnDiscussion>The policycoreutils-python-utils package is required to operate and manage an SELinux environment and its policies. It provides utilities such as semanage, audit2allow, audit2why, chcat, and sandbox.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -11786,14 +11587,14 @@ $ sudo dnf install policycoreutils $ sudo dnf install policycoreutils-python-utils - + SRG-OS-000324-GPOS-00125 <GroupDescription></GroupDescription> - + RHEL-09-432010 RHEL 9 must have the sudo package installed. <VulnDiscussion>"sudo" is a program designed to allow a system administrator to give limited root privileges to users and log root activity. The basic philosophy is to give as few privileges as possible but still allow system users to get their work done.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -11810,14 +11611,14 @@ $ sudo dnf install policycoreutils-python-utils $ sudo dnf install sudo - + SRG-OS-000373-GPOS-00156 <GroupDescription></GroupDescription> - + RHEL-09-432015 RHEL 9 must require reauthentication when using the "sudo" command. <VulnDiscussion>Without reauthentication, users may access resources or perform tasks for which they do not have authorization. @@ -11833,21 +11634,22 @@ If the value is set to an integer less than "0", the user's time stamp will not 5551 CCI-004895 - Configure RHEL 9 to reauthenticate "sudo" commands after the specified timeout: + CCI-002038 + Configure RHEL 9 to reauthenticate "sudo" commands after the specified timeout: -Add the following line to "/etc/sudoers": +Add the following line to "/etc/sudoers" or a file in "/etc/sudoers.d": Defaults timestamp_timeout=0 - + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-432020 RHEL 9 must use the invoking user's password for privilege escalation when using "sudo". <VulnDiscussion>If the rootpw, targetpw, or runaspw flags are defined and not disabled, by default the operating system will prompt the invoking user for the "root" user password.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -11866,14 +11668,14 @@ Defaults !rootpw Defaults !runaspw - + SRG-OS-000373-GPOS-00156 <GroupDescription></GroupDescription> - + RHEL-09-432025 RHEL 9 must require users to reauthenticate for privilege escalation. <VulnDiscussion>Without reauthentication, users may access resources or perform tasks for which they do not have authorization. @@ -11889,6 +11691,7 @@ Satisfies: SRG-OS-000373-GPOS-00156, SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPO 5551 CCI-004895 + CCI-002038 Configure RHEL 9 to not allow users to execute privileged actions without authenticating. Remove any occurrence of "!authenticate" found in "/etc/sudoers" file or files in the "/etc/sudoers.d" directory. @@ -11896,14 +11699,14 @@ Remove any occurrence of "!authenticate" found in "/etc/sudoers" file or files i $ sudo sed -i '/\!authenticate/ s/^/# /g' /etc/sudoers /etc/sudoers.d/* - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-432030 RHEL 9 must restrict privilege elevation to authorized personnel. <VulnDiscussion>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> @@ -11921,14 +11724,14 @@ ALL ALL=(ALL) ALL ALL ALL=(ALL:ALL) ALL - + SRG-OS-000373-GPOS-00156 <GroupDescription></GroupDescription> - + RHEL-09-432035 RHEL 9 must restrict the use of the "su" command. <VulnDiscussion>The "su" program allows to run commands with a substitute user and group ID. It is commonly used to run commands as the root user. Limiting access to such commands is considered a good security practice. @@ -11943,6 +11746,7 @@ Satisfies: SRG-OS-000373-GPOS-00156, SRG-OS-000312-GPOS-00123</VulnDiscussion CCI-004895 CCI-002165 + CCI-002038 Configure RHEL 9 to require users to be in the "wheel" group to run "su" command. In file "/etc/pam.d/su", uncomment the following line: @@ -11954,23 +11758,23 @@ $ sed '/^[[:space:]]*#[[:space:]]*auth[[:space:]]\+required[[:space:]]\+pam_whee If necessary, create a "wheel" group and add administrative users to the group. - + SRG-OS-000370-GPOS-00155 <GroupDescription></GroupDescription> - + RHEL-09-433010 RHEL 9 fapolicy module must be installed. - <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 allowlisting. + <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 allow listing. -Utilizing an allowlist provides a configuration management method for allowing the execution of only authorized software. Using only authorized software decreases risk by limiting the number of potential vulnerabilities. Verification of allowlisted software occurs prior to execution or at system startup. +Utilizing an allow list provides a configuration management method for allowing the execution of only authorized software. Using only authorized software decreases risk by limiting the number of potential vulnerabilities. Verification of allow listed software occurs prior to execution or at system startup. User home directories/folders may contain information of a sensitive nature. Nonprivileged users should coordinate any sharing of information with an SA through shared resources. -RHEL 9 ships with many optional packages. One such package is a file access policy daemon called "fapolicyd". "fapolicyd" is a userspace daemon that determines access rights to files based on attributes of the process and file. It can be used to either blocklist or allowlist processes or file access. +RHEL 9 ships with many optional packages. One such package is a file access policy daemon called "fapolicyd". "fapolicyd" is a userspace daemon that determines access rights to files based on attributes of the process and file. It can be used to either blocklist or allow list processes or file access. Proceed with caution with enforcing the use of this daemon. Improper configuration may render the system nonfunctional. The "fapolicyd" API is not namespace aware and can cause issues when launching or running containers. @@ -11989,7 +11793,7 @@ Satisfies: SRG-OS-000370-GPOS-00155, SRG-OS-000368-GPOS-00154</VulnDiscussion $ sudo dnf install fapolicyd - + @@ -12024,14 +11828,14 @@ Satisfies: SRG-OS-000370-GPOS-00155, SRG-OS-000368-GPOS-00154</VulnDiscussion $ systemctl enable --now fapolicyd - + SRG-OS-000069-GPOS-00037 <GroupDescription></GroupDescription> - + RHEL-09-611010 RHEL 9 must ensure the password complexity module in the system-auth file is configured for three retries or less. <VulnDiscussion>Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. "pwquality" enforces complex password construction configuration and has the ability to limit brute-force attacks on the system. @@ -12049,21 +11853,22 @@ By limiting the number of attempts to meet the pwquality module complexity requi 5551 CCI-004066 - Configure RHEL 9 to limit the "pwquality" retry option to "3". + CCI-000192 + Configure RHEL 9 to limit the "pwquality" retry option to "3". -Add the following line to the "/etc/pam.d/system-auth" file (or modify the line to have the required value): - -password required pam_pwquality.so retry=3 - +Add or update the following line in the "/etc/security/pwquality.conf" file or a file in the "/etc/security/pwquality.conf.d/" directory to contain the "retry" parameter: + +retry = 3 + - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-611025 RHEL 9 must not allow blank or null passwords. <VulnDiscussion>If an account has an empty password, anyone could log in 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> @@ -12075,19 +11880,23 @@ password required pam_pwquality.so retry=3 5551 CCI-000366 - Remove any instances of the "nullok" option in the "/etc/pam.d/password-auth" and "/etc/pam.d/system-auth" files to prevent logons with empty passwords. + If PAM is managed with authselect, use the following command to remove instances of "nullok": + +$ sudo authselect enable-feature without-nullok + +Otherwise, remove any instances of the "nullok" option in the "/etc/pam.d/password-auth" and "/etc/pam.d/system-auth" files to prevent logons with empty passwords. Note: Manual changes to the listed file may be overwritten by the "authselect" program. - + - + SRG-OS-000069-GPOS-00037 <GroupDescription></GroupDescription> - + RHEL-09-611040 RHEL 9 must ensure the password complexity module is enabled in the password-auth file. <VulnDiscussion>Enabling PAM password complexity permits enforcement of strong passwords and consequently makes the system less prone to dictionary attacks. @@ -12101,6 +11910,8 @@ Satisfies: SRG-OS-000069-GPOS-00037, SRG-OS-000070-GPOS-00038, SRG-OS-000480-GPO 5551 CCI-004066 + CCI-000192 + CCI-000193 Configure RHEL 9 to use "pwquality" to enforce password complexity rules. Add the following line to the "/etc/pam.d/password-auth" file (or modify the line to have the required value): @@ -12108,14 +11919,14 @@ Add the following line to the "/etc/pam.d/password-auth" file (or modify the lin password required pam_pwquality.so - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-611045 RHEL 9 must ensure the password complexity module is enabled in the system-auth file. <VulnDiscussion>Enabling PAM password complexity permits enforcement of strong passwords and consequently makes the system less prone to dictionary attacks.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -12134,14 +11945,14 @@ Add the following line to the "/etc/pam.d/system-auth" file(or modify the line t password required pam_pwquality.so - + SRG-OS-000073-GPOS-00041 <GroupDescription></GroupDescription> - + RHEL-09-611050 RHEL 9 password-auth must be configured to use a sufficient number of hashing rounds. <VulnDiscussion>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. Passwords that are encrypted with a weak algorithm are no more protected than if they are kept in plain text. @@ -12158,21 +11969,24 @@ Satisfies: SRG-OS-000073-GPOS-00041, SRG-OS-000120-GPOS-00061</VulnDiscussion CCI-004062 CCI-000803 - Configure Red Hat Enterprise Linux 9 to use 5000 hashing rounds for hashing passwords. + CCI-000196 + Configure RHEL 9 to use 100000 hashing rounds for hashing passwords. -Add or modify the following line in "/etc/pam.d/password-auth" and set "rounds" to "5000". +Add or modify the following line in "/etc/pam.d/password-auth" and set "rounds" to "100000". -password sufficient pam_unix.so sha512 rounds=5000 - +password sufficient pam_unix.so sha512 rounds=100000 + +Note: Running authselect will overwrite this value unless a custom authselect policy is created. + - + SRG-OS-000073-GPOS-00041 <GroupDescription></GroupDescription> - + RHEL-09-611055 RHEL 9 system-auth must be configured to use a sufficient number of hashing rounds. <VulnDiscussion>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. Passwords that are encrypted with a weak algorithm are no more protected than if they are kept in plain text. @@ -12189,21 +12003,24 @@ Satisfies: SRG-OS-000073-GPOS-00041, SRG-OS-000120-GPOS-00061</VulnDiscussion CCI-004062 CCI-000803 - Configure Red Hat Enterprise Linux 9 to use 5000 hashing rounds for hashing passwords. + CCI-000196 + Configure RHEL 9 to use 100000 hashing rounds for hashing passwords. + +Add or modify the following line in "/etc/pam.d/system-auth" and set "rounds" to 100000. -Add or modify the following line in "/etc/pam.d/system-auth" and set "rounds" to 5000. +password sufficient pam_unix.so sha512 rounds=100000 -password sufficient pam_unix.so sha512 rounds=5000' - +Note: Running authselect will overwrite this value unless a custom authselect policy is created. + - + SRG-OS-000072-GPOS-00040 <GroupDescription></GroupDescription> - + RHEL-09-611060 RHEL 9 must enforce password complexity rules for the root account. <VulnDiscussion>Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. @@ -12219,21 +12036,27 @@ Satisfies: SRG-OS-000072-GPOS-00040, SRG-OS-000071-GPOS-00039, SRG-OS-000070-GPO 5551 CCI-004066 - Configure RHEL 9 to enforce password complexity on the root account. + CCI-000192 + CCI-000193 + CCI-000194 + CCI-000195 + CCI-000205 + CCI-001619 + Configure RHEL 9 to enforce password complexity on the root account. -Add or update the following line in /etc/security/pwquality.conf: +Add or update the following line in the "/etc/security/pwquality.conf" file or a configuration file in the "/etc/security/pwquality.conf.d/" directory to contain the "enforce_for_root" parameter: enforce_for_root - + - + SRG-OS-000070-GPOS-00038 <GroupDescription></GroupDescription> - + RHEL-09-611065 RHEL 9 must enforce password complexity by requiring that at least one lowercase character be used. <VulnDiscussion>Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. @@ -12247,21 +12070,22 @@ Password complexity is one factor of several that determines how long it takes t 5551 CCI-004066 - Configure RHEL 9 to enforce password complexity by requiring at least one lowercase character be used by setting the "lcredit" option. + CCI-000193 + Configure RHEL 9 to enforce password complexity by requiring at least one lowercase character be used by setting the "lcredit" option. -Add the following line to "/etc/security/pwquality.conf" (or modify the line to have the required value): +Add or update the following line in the "/etc/security/pwquality.conf" file or a configuration file in the "/etc/security/pwquality.conf.d/" directory to contain the "lcredit" parameter: lcredit = -1 - + - + SRG-OS-000071-GPOS-00039 <GroupDescription></GroupDescription> - + RHEL-09-611070 RHEL 9 must enforce password complexity by requiring that at least one numeric character be used. <VulnDiscussion>Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. @@ -12275,21 +12099,22 @@ Password complexity is one factor of several that determines how long it takes t 5551 CCI-004066 - Configure RHEL 9 to enforce password complexity by requiring at least one numeric character be used by setting the "dcredit" option. + CCI-000194 + Configure RHEL 9 to enforce password complexity by requiring at least one numeric character be used by setting the "dcredit" option. -Add the following line to "/etc/security/pwquality.conf" (or modify the line to have the required value): +Add or update the following line in the "/etc/security/pwquality.conf" file or a configuration file in the "/etc/security/pwquality.conf.d/" directory to contain the "dcredit" parameter: dcredit = -1 - + - + SRG-OS-000075-GPOS-00043 <GroupDescription></GroupDescription> - + RHEL-09-611075 RHEL 9 passwords for new users or password changes must have a 24 hours minimum password lifetime restriction in /etc/login.defs. <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, then the password could be repeatedly changed in a short period of time to defeat the organization's policy regarding password reuse. @@ -12303,6 +12128,7 @@ Setting the minimum password age protects against users cycling back to a favori 5551 CCI-004066 + CCI-000198 Configure RHEL 9 to enforce 24 hours as the minimum password lifetime. Add the following line in "/etc/login.defs" (or modify the line to have the required value): @@ -12310,14 +12136,14 @@ Add the following line in "/etc/login.defs" (or modify the line to have the requ PASS_MIN_DAYS 1 - + SRG-OS-000075-GPOS-00043 <GroupDescription></GroupDescription> - + RHEL-09-611080 RHEL 9 passwords must have a 24 hours 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> @@ -12329,19 +12155,20 @@ PASS_MIN_DAYS 1 5551 CCI-004066 + CCI-000198 Configure noncompliant accounts to enforce a 24 hour minimum password lifetime: $ sudo passwd -n 1 [user] - + SRG-OS-000373-GPOS-00156 <GroupDescription></GroupDescription> - + RHEL-09-611085 RHEL 9 must require users to provide a password for privilege escalation. <VulnDiscussion>Without reauthentication, users may access resources or perform tasks for which they do not have authorization. @@ -12357,21 +12184,22 @@ Satisfies: SRG-OS-000373-GPOS-00156, SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPO 5551 CCI-004895 - Configure RHEL 9 to not allow users to execute privileged actions without authenticating with a password. + CCI-002038 + Configure RHEL 9 to not allow users to execute privileged actions without authenticating with a password. Remove any occurrence of "NOPASSWD" found in "/etc/sudoers" file or files in the "/etc/sudoers.d" directory. -$ sudo sed -i '/NOPASSWD/ s/^/# /g' /etc/sudoers /etc/sudoers.d/* - +$ sudo find /etc/sudoers /etc/sudoers.d -type f -exec sed -i '/NOPASSWD/ s/^/# /g' {} \; + - + SRG-OS-000078-GPOS-00046 <GroupDescription></GroupDescription> - + RHEL-09-611090 RHEL 9 passwords must be created with a minimum of 15 characters. <VulnDiscussion>The shorter the password, the lower the number of possible combinations that need to be tested before the password is compromised. @@ -12391,51 +12219,22 @@ The DOD minimum password requirement is 15 characters.</VulnDiscussion>< 5551 CCI-004066 - Configure RHEL 9 to enforce a minimum 15-character password length. + CCI-000205 + Configure RHEL 9 to enforce a minimum 15-character password length. -Add the following line to "/etc/security/pwquality.conf" (or modify the line to have the required value): +Add or update the following line in the "/etc/security/pwquality.conf" file or a configuration file in the "/etc/security/pwquality.conf.d/" directory to contain the "minlen" parameter: minlen = 15 - - - - - - - - SRG-OS-000078-GPOS-00046 - <GroupDescription></GroupDescription> - - RHEL-09-611095 - RHEL 9 passwords for new users must have a minimum of 15 characters. - <VulnDiscussion>The shorter the password, the lower the number of possible combinations that need to be tested before the password is compromised. - -Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password length is one factor of several that helps to determine strength and how long it takes to crack a password. Use of more characters in a password helps to increase exponentially the time and/or resources required to compromise the password. - -The DOD minimum password requirement is 15 characters.</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 9 - DISA - DPMS Target - Red Hat Enterprise Linux 9 - 5551 - - CCI-004066 - Configure RHEL 9 to enforce a minimum 15-character password length for new user accounts. - -Add or modify the following line in the "/etc/login.defs" file: - -PASS_MIN_LEN 15 - + - + SRG-OS-000266-GPOS-00101 <GroupDescription></GroupDescription> - + RHEL-09-611100 RHEL 9 must enforce password complexity by requiring that at least one special character be used. <VulnDiscussion>Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. RHEL 9 utilizes "pwquality" as a mechanism to enforce password complexity. Note that to require special characters without degrading the "minlen" value, the credit value must be expressed as a negative number in "/etc/security/pwquality.conf".</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -12447,21 +12246,22 @@ PASS_MIN_LEN 15 5551 CCI-004066 - Configure RHEL 9 to enforce password complexity by requiring at least one special character be used by setting the "ocredit" option. + CCI-001619 + Configure RHEL 9 to enforce password complexity by requiring at least one special character be used by setting the "ocredit" option. -Add the following line to "/etc/security/pwquality.conf" (or modify the line to have the required value): +Add or update the following line in the "/etc/security/pwquality.conf" file or a configuration file in the "/etc/security/pwquality.conf.d/" directory to contain the "ocredit" parameter: ocredit = -1 - + - + SRG-OS-000480-GPOS-00225 <GroupDescription></GroupDescription> - + RHEL-09-611105 RHEL 9 must prevent the use of dictionary words for passwords. <VulnDiscussion>Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. If RHEL 9 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> @@ -12473,21 +12273,21 @@ ocredit = -1 5551 CCI-000366 - Configure RHEL 9 to prevent the use of dictionary words for passwords. + Configure RHEL 9 to prevent the use of dictionary words for passwords. -Add or update the following line in the "/etc/security/pwquality.conf" file or a configuration file in the /etc/pwquality.conf.d/ directory to contain the "dictcheck" parameter: +Add or update the following line in the "/etc/security/pwquality.conf" file or a configuration file in the "/etc/security/pwquality.conf.d/" directory to contain the "dictcheck" parameter: dictcheck=1 - + - + SRG-OS-000069-GPOS-00037 <GroupDescription></GroupDescription> - + RHEL-09-611110 RHEL 9 must enforce password complexity by requiring that at least one uppercase character be used. <VulnDiscussion>Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. Requiring a minimum number of uppercase characters makes password guessing attacks more difficult by ensuring a larger search space.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -12499,21 +12299,22 @@ dictcheck=1 5551 CCI-004066 - Configure RHEL 9 to enforce password complexity by requiring that at least one uppercase character be used by setting the "ucredit" option. + CCI-000192 + Configure RHEL 9 to enforce password complexity by requiring that at least one uppercase character be used by setting the "ucredit" option. -Add the following line to /etc/security/pwquality.conf (or modify the line to have the required value): +Add or update the following line in the "/etc/security/pwquality.conf" file or a configuration file in the "/etc/security/pwquality.conf.d/" directory to contain the "ucredit" parameter: ucredit = -1 - + - + SRG-OS-000072-GPOS-00040 <GroupDescription></GroupDescription> - + RHEL-09-611115 RHEL 9 must require the change of at least eight characters when passwords are changed. <VulnDiscussion>Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. @@ -12527,21 +12328,22 @@ Password complexity is one factor of several that determines how long it takes t 5551 CCI-004066 - Configure RHEL 9 to require the change of at least eight of the total number of characters when passwords are changed by setting the "difok" option. + CCI-000195 + Configure RHEL 9 to require the change of at least eight of the total number of characters when passwords are changed by setting the "difok" option. -Add the following line to "/etc/security/pwquality.conf" (or modify the line to have the required value): +Add or update the following line in the "/etc/security/pwquality.conf" file or a configuration file in the "/etc/security/pwquality.conf.d/" directory to contain the "difok" parameter: difok = 8 - + - + SRG-OS-000072-GPOS-00040 <GroupDescription></GroupDescription> - + RHEL-09-611120 RHEL 9 must require the maximum number of repeating characters of the same character class be limited to four when passwords are changed. <VulnDiscussion>Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. @@ -12555,21 +12357,22 @@ Password complexity is one factor of several that determines how long it takes t 5551 CCI-004066 - Configure RHEL 9 to require the change of the number of repeating characters of the same character class when passwords are changed by setting the "maxclassrepeat" option. + CCI-000195 + Configure RHEL 9 to require the change of the number of repeating characters of the same character class when passwords are changed by setting the "maxclassrepeat" option. -Add the following line to "/etc/security/pwquality.conf" conf (or modify the line to have the required value): +Add or update the following line in the "/etc/security/pwquality.conf" file or a configuration file in the "/etc/security/pwquality.conf.d/" directory to contain the "maxclassrepeat" parameter: maxclassrepeat = 4 - + - + SRG-OS-000072-GPOS-00040 <GroupDescription></GroupDescription> - + RHEL-09-611125 RHEL 9 must require the maximum number of repeating characters be limited to three when passwords are changed. <VulnDiscussion>Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. @@ -12583,21 +12386,22 @@ Password complexity is one factor of several that determines how long it takes t 5551 CCI-004066 - Configure RHEL 9 to require the change of the number of repeating consecutive characters when passwords are changed by setting the "maxrepeat" option. + CCI-000195 + Configure RHEL 9 to require the change of the number of repeating consecutive characters when passwords are changed by setting the "maxrepeat" option. -Add the following line to "/etc/security/pwquality.conf" (or modify the line to have the required value): +Add or update the following line in the "/etc/security/pwquality.conf" file or a configuration file in the "/etc/security/pwquality.conf.d/" directory to contain the "maxrepeat" parameter: maxrepeat = 3 - + - + SRG-OS-000072-GPOS-00040 <GroupDescription></GroupDescription> - + RHEL-09-611130 RHEL 9 must require the change of at least four character classes when passwords are changed. <VulnDiscussion>Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. @@ -12611,21 +12415,22 @@ Password complexity is one factor of several that determines how long it takes t 5551 CCI-004066 - Configure RHEL 9 to require the change of at least four character classes when passwords are changed by setting the "minclass" option. + CCI-000195 + Configure RHEL 9 to require the change of at least four character classes when passwords are changed by setting the "minclass" option. -Add the following line to "/etc/security/pwquality.conf" (or modify the line to have the required value): +Add or update the following line in the "/etc/security/pwquality.conf" file or a configuration file in the "/etc/security/pwquality.conf.d/" directory to contain the "minclass" parameter: minclass = 4 - + - + SRG-OS-000073-GPOS-00041 <GroupDescription></GroupDescription> - + RHEL-09-611135 RHEL 9 must be configured so that user and group account administration utilities are configured to store only encrypted representations of passwords. <VulnDiscussion>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. Passwords that are encrypted with a weak algorithm are no more protected than if they are kept in plain text. @@ -12639,21 +12444,22 @@ This setting ensures user and group account administration utilities are configu 5551 CCI-004062 - Configure RHEL 9 to use the SHA-512 algorithm for password hashing. + CCI-000196 + Configure RHEL 9 to use the SHA-512 algorithm for password hashing. -Add or change the following line in the "[default]" section of "/etc/libuser.conf" file: +Add or change the following line in the "[defaults]" section of "/etc/libuser.conf" file: crypt_style = sha512 - + - + SRG-OS-000073-GPOS-00041 <GroupDescription></GroupDescription> - + RHEL-09-611140 RHEL 9 must be configured to use the shadow file to store only encrypted representations of passwords. <VulnDiscussion>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. Passwords that are encrypted with a weak algorithm are no more protected than if they are kept in plain text. @@ -12667,6 +12473,7 @@ This setting ensures user and group account administration utilities are configu 5551 CCI-004062 + CCI-000196 Configure RHEL 9 to store only SHA512 encrypted representations of passwords. Add or update the following line in the "/etc/login.defs" file: @@ -12674,14 +12481,14 @@ Add or update the following line in the "/etc/login.defs" file: ENCRYPT_METHOD SHA512 - + SRG-OS-000373-GPOS-00156 <GroupDescription></GroupDescription> - + RHEL-09-611145 RHEL 9 must not be configured to bypass password requirements for privilege escalation. <VulnDiscussion>Without reauthentication, users may access resources or perform tasks for which they do not have authorization. When operating systems provide the capability to escalate a functional capability, it is critical the user reauthenticate. @@ -12695,43 +12502,13 @@ Satisfies: SRG-OS-000373-GPOS-00156, SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPO 5551 CCI-004895 + CCI-002038 Configure the operating system to require users to supply a password for privilege escalation. Remove any occurrences of " pam_succeed_if " in the "/etc/pam.d/sudo" file. - - - - - - SRG-OS-000073-GPOS-00041 - <GroupDescription></GroupDescription> - - RHEL-09-611150 - RHEL 9 shadow password suite must be configured to use a sufficient number of hashing rounds. - <VulnDiscussion>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. Passwords that are encrypted with a weak algorithm are no more protected than if they are kept in plain text. - -Using more hashing rounds makes password cracking attacks more difficult. - -Satisfies: SRG-OS-000073-GPOS-00041, SRG-OS-000120-GPOS-00061</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 9 - DISA - DPMS Target - Red Hat Enterprise Linux 9 - 5551 - - CCI-004062 - CCI-000803 - Configure RHEL 9 to encrypt all stored passwords with a strong cryptographic hash. - -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 5000 - - - + @@ -12761,14 +12538,14 @@ To lock an account: $ sudo passwd -l [username] - + SRG-OS-000104-GPOS-00051 <GroupDescription></GroupDescription> - + RHEL-09-611160 RHEL 9 must use the common access card (CAC) smart card driver. <VulnDiscussion>Smart card login provides two-factor authentication stronger than that provided by a username and password combination. Smart cards leverage public key infrastructure to provide and verify credentials. Configuring the smart card driver in use by the organization helps to prevent users from using unauthorized smart cards. @@ -12786,21 +12563,27 @@ Satisfies: SRG-OS-000104-GPOS-00051, SRG-OS-000106-GPOS-00053, SRG-OS-000107-GPO CCI-000765 CCI-004045 CCI-001941 - Configure RHEL 9 to load the CAC driver. + CCI-000767 + CCI-000768 + CCI-000770 + CCI-001942 + Configure RHEL 9 to load the CAC driver. -Add or modify the following line in the "/etc/opensc.conf" file: +$ sudo opensc-tool --set-conf-entry app:default:card_driver:cac -card_drivers = cac; - +Restart the pcscd service to apply the changes: + +$ sudo systemctl restart pcscd + - + SRG-OS-000375-GPOS-00160 <GroupDescription></GroupDescription> - + RHEL-09-611165 RHEL 9 must enable certificate based smart card authentication. <VulnDiscussion>Without the use of multifactor authentication, the ease of access to privileged functions is greatly increased. Multifactor authentication requires using two or more factors to achieve authentication. A privileged account is defined as an information system account with authorizations of a privileged user. The DOD Common Access Card (CAC) with DOD-approved PKI is an example of multifactor authentication. @@ -12816,19 +12599,20 @@ Satisfies: SRG-OS-000375-GPOS-00160, SRG-OS-000105-GPOS-00052</VulnDiscussion CCI-000765 CCI-004046 CCI-004047 - Edit the file "/etc/sssd/sssd.conf" and add or edit the following line: + CCI-001948 + Edit the file "/etc/sssd/sssd.conf" or a configuration file in "/etc/sssd/conf.d" and add or edit the following line: pam_cert_auth = True - + - + SRG-OS-000375-GPOS-00160 <GroupDescription></GroupDescription> - + RHEL-09-611170 RHEL 9 must implement certificate status checking for multifactor authentication. <VulnDiscussion>Using an authentication device, such as a DOD common access card (CAC) or token that is separate from the information system, ensures that even if the information system is compromised, credentials stored on the authentication device will not be affected. @@ -12847,6 +12631,7 @@ Satisfies: SRG-OS-000375-GPOS-00160, SRG-OS-000377-GPOS-00162</VulnDiscussion CCI-004046 CCI-001954 + CCI-001948 Configure RHEL 9 to implement certificate status checking for multifactor authentication. Review the "/etc/sssd/conf.d/certificate_verification.conf" file to determine if the system is configured to prevent OCSP or certificate verification. @@ -12865,14 +12650,14 @@ The "sssd" service must be restarted for the changes to take effect. To restart $ sudo systemctl restart sssd.service - + SRG-OS-000375-GPOS-00160 <GroupDescription></GroupDescription> - + RHEL-09-611175 RHEL 9 must have the pcsc-lite package installed. <VulnDiscussion>The pcsc-lite package must be installed if it is to be available for multifactor authentication using smart cards.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -12884,19 +12669,20 @@ $ sudo systemctl restart sssd.service 5551 CCI-004046 + CCI-001948 The pcsc-lite package can be installed with the following command: $ sudo dnf install pcsc-lite - + SRG-OS-000375-GPOS-00160 <GroupDescription></GroupDescription> - + RHEL-09-611180 The pcscd service on RHEL 9 must be active. <VulnDiscussion>The information system ensures that even if the information system is compromised, that compromise will not affect credentials stored on the authentication device. @@ -12910,19 +12696,20 @@ The daemon program for pcsc-lite and the MuscleCard framework is pcscd. It is a 5551 CCI-004046 - To enable the pcscd service run the following command: + CCI-001948 + To enable the pcscd socket, run the following command: -$ sudo systemctl enable --now pcscd - +$ sudo systemctl enable --now pcscd.socket + - + SRG-OS-000375-GPOS-00160 <GroupDescription></GroupDescription> - + RHEL-09-611185 RHEL 9 must have the opensc package installed. <VulnDiscussion>The use of PIV credentials facilitates standardization and reduces the risk of unauthorized access. @@ -12939,12 +12726,13 @@ Satisfies: SRG-OS-000375-GPOS-00160, SRG-OS-000376-GPOS-00161</VulnDiscussion CCI-004046 CCI-001953 + CCI-001948 The opensc package can be installed with the following command: $ sudo dnf install opensc - + @@ -12972,7 +12760,7 @@ Add or modify the following line in the "/usr/lib/systemd/system/emergency.servi ExecStart=-/usr/lib/systemd/systemd-sulogin-shell emergency - + @@ -13000,14 +12788,14 @@ Add or modify the following line in the "/usr/lib/systemd/system/rescue.service" ExecStart=-/usr/lib/systemd/systemd-sulogin-shell rescue - + SRG-OS-000120-GPOS-00061 <GroupDescription></GroupDescription> - + RHEL-09-611205 RHEL 9 must prevent system daemons from using Kerberos for authentication. <VulnDiscussion>Unapproved mechanisms used for authentication to the cryptographic module are not verified; therefore, cannot be relied upon to provide confidentiality or integrity and DOD data may be compromised. @@ -13025,21 +12813,23 @@ FIPS 140-3 is the current standard for validating that mechanisms used to access 5551 CCI-000803 - Configure RHEL 9 to prevent system daemons from using Kerberos for authentication. + Configure RHEL 9 to prevent system daemons from using Kerberos for authentication. Remove any files with the .keytab extension from the operating system. -rm -f /etc/*.keytab - +rm -f /etc/*.keytab + +If Kerberos authentication is a mission requirement, document its use and justification with the ISSO. + - + SRG-OS-000383-GPOS-00166 <GroupDescription></GroupDescription> - + RHEL-09-631020 RHEL 9 must prohibit the use of cached authenticators after one day. <VulnDiscussion>If cached authentication information is out-of-date, the validity of the authentication information may be questionable.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -13051,21 +12841,21 @@ rm -f /etc/*.keytab 5551 CCI-002007 - Configure the SSSD to prohibit the use of cached authentications after one day. + 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]: +Edit the file "/etc/sssd/sssd.conf" or a configuration file in "/etc/sssd/conf.d" and add or edit the following line just below the line [pam]: offline_credentials_expiration = 1 - + - + SRG-OS-000363-GPOS-00150 <GroupDescription></GroupDescription> - + RHEL-09-651010 RHEL 9 must have the AIDE package installed. <VulnDiscussion>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. @@ -13128,14 +12918,14 @@ AIDE found NO differences between database and filesystem. Looks okay!! ... - + SRG-OS-000256-GPOS-00097 <GroupDescription></GroupDescription> - + RHEL-09-651025 RHEL 9 must use cryptographic mechanisms to protect the integrity of audit tools. <VulnDiscussion>Protecting the integrity of the tools used for auditing purposes is a critical step toward ensuring the integrity of audit information. Audit information includes all information (e.g., audit records, audit settings, and audit reports) needed to successfully audit information system activity. @@ -13168,14 +12958,14 @@ Satisfies: SRG-OS-000256-GPOS-00097, SRG-OS-000257-GPOS-00098, SRG-OS-000258-GPO /usr/sbin/augenrules p+i+n+u+g+s+b+acl+xattrs+sha512 - + SRG-OS-000479-GPOS-00224 <GroupDescription></GroupDescription> - + RHEL-09-652010 RHEL 9 must have the rsyslog package installed. <VulnDiscussion>rsyslogd is a system utility providing support for message logging. Support for both internet and Unix domain sockets enables this utility to support both local and remote logging. Couple this utility with "gnutls" (which is a secure communications library implementing the SSL, TLS, and DTLS protocols), to create a method to securely encrypt and offload auditing. @@ -13189,21 +12979,20 @@ Satisfies: SRG-OS-000479-GPOS-00224, SRG-OS-000051-GPOS-00024, SRG-OS-000480-GPO 5551 CCI-000154 - CCI-000366 CCI-001851 The rsyslogd package can be installed with the following command: $ sudo dnf install rsyslogd - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-652015 RHEL 9 must have the packages required for encrypting offloaded audit logs installed. <VulnDiscussion>The rsyslog-gnutls package provides Transport Layer Security (TLS) support for the rsyslog daemon, which enables secure remote logging. @@ -13216,14 +13005,13 @@ Satisfies: SRG-OS-000480-GPOS-00227, SRG-OS-000120-GPOS-00061</VulnDiscussion Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-000803 The rsyslog-gnutls package can be installed with the following command: $ sudo dnf install rsyslog-gnutls - + @@ -13247,14 +13035,14 @@ $ sudo dnf install rsyslog-gnutls $ sudo systemctl enable --now rsyslog - + SRG-OS-000480-GPOS-00227 <GroupDescription></GroupDescription> - + RHEL-09-652025 RHEL 9 must be configured so that the rsyslog daemon does not accept log messages from other servers unless the server is being used for log aggregation. <VulnDiscussion>Unintentionally running a rsyslog server accepting remote messages puts the system at increased risk. Malicious rsyslog messages sent to the server could exploit vulnerabilities in the server software itself, could introduce misleading information into the system's logs, or could fill the system's storage leading to a denial of service. @@ -13268,30 +13056,29 @@ If the system is intended to be a log aggregation server, its use must be docume 5551 CCI-000366 - Configure RHEL 9 to not receive remote logs using rsyslog. + Configure RHEL 9 to not receive remote logs using rsyslog. Remove the lines in /etc/rsyslog.conf and any files in the /etc/rsyslog.d directory that match any of the following: - -$ModLoad imtcp -$ModLoad imudp -$ModLoad imrelp -$InputTCPServerRun [0-9]* -$UDPServerRun [0-9]* -$InputRELPServerRun [0-9]* +module(load="imtcp") +module(load="imudp") +module(load="imrelp") +input(type="imudp" port="514") +input(type="imtcp" port="514") +input(type="imrelp" port="514") The rsyslog daemon must be restarted for the changes to take effect: $ sudo systemctl restart rsyslog.service - + - + SRG-OS-000032-GPOS-00013 <GroupDescription></GroupDescription> - + RHEL-09-652030 All RHEL 9 remote access methods must be monitored. <VulnDiscussion>Logging remote access methods can be used to trace the decrease in the risks associated with remote user access management. It can also be used to spot cyberattacks and ensure ongoing compliance with organizational policies surrounding the use of remote access methods.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -13303,51 +13090,23 @@ $ sudo systemctl restart rsyslog.service 5551 CCI-000067 - Add or update the following lines to the "/etc/rsyslog.conf" file: + Add or update the following lines to the "/etc/rsyslog.conf" file or a file in "/etc/rsyslog.d": auth.*;authpriv.*;daemon.* /var/log/secure The "rsyslog" service must be restarted for the changes to take effect with the following command: $ sudo systemctl restart rsyslog.service - - - - - - - - SRG-OS-000342-GPOS-00133 - <GroupDescription></GroupDescription> - - RHEL-09-652035 - RHEL 9 must be configured to offload audit records onto a different system from the system being audited via syslog. - <VulnDiscussion>The auditd service does not include the ability to send audit records to a centralized server for management directly. However, it can use a plug-in for audit event multiplexor (audispd) to pass audit records to the local syslog server. - -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 9 - DISA - DPMS Target - Red Hat Enterprise Linux 9 - 5551 - - CCI-001851 - Edit the /etc/audit/plugins.d/syslog.conf file and add or update the "active" option: - -active = yes - -The audit daemon must be restarted for changes to take effect. - + - + SRG-OS-000342-GPOS-00133 <GroupDescription></GroupDescription> - + RHEL-09-652040 RHEL 9 must authenticate the remote logging server for offloading audit logs via rsyslog. <VulnDiscussion>Information stored in one location is vulnerable to accidental or incidental deletion or alteration. @@ -13376,14 +13135,14 @@ Satisfies: SRG-OS-000342-GPOS-00133, SRG-OS-000479-GPOS-00224</VulnDiscussion $ActionSendStreamDriverAuthMode x509/name - + SRG-OS-000342-GPOS-00133 <GroupDescription></GroupDescription> - + RHEL-09-652045 RHEL 9 must encrypt the transfer of audit records offloaded onto a different system or media from the system being audited via rsyslog. <VulnDiscussion>Information stored in one location is vulnerable to accidental or incidental deletion or alteration. @@ -13412,14 +13171,14 @@ Satisfies: SRG-OS-000342-GPOS-00133, SRG-OS-000479-GPOS-00224</VulnDiscussion $ActionSendStreamDriverMode 1 - + SRG-OS-000342-GPOS-00133 <GroupDescription></GroupDescription> - + RHEL-09-652050 RHEL 9 must encrypt via the gtls driver the transfer of audit records offloaded onto a different system or media from the system being audited via rsyslog. <VulnDiscussion>Information stored in one location is vulnerable to accidental or incidental deletion or alteration. @@ -13442,14 +13201,14 @@ Satisfies: SRG-OS-000342-GPOS-00133, SRG-OS-000479-GPOS-00224</VulnDiscussion $DefaultNetstreamDriver gtls - + SRG-OS-000479-GPOS-00224 <GroupDescription></GroupDescription> - + RHEL-09-652055 RHEL 9 must be configured to forward audit records via TCP to a different system or media from the system being audited via rsyslog. <VulnDiscussion>Information stored in one location is vulnerable to accidental or incidental deletion or alteration. @@ -13474,21 +13233,20 @@ Satisfies: SRG-OS-000479-GPOS-00224, SRG-OS-000480-GPOS-00227, SRG-OS-000342-GPO Red Hat Enterprise Linux 9 5551 - CCI-000366 CCI-001851 Configure RHEL 9 to offload audit records onto a different system or media from the system being audited via TCP using rsyslog by specifying the remote logging server in "/etc/rsyslog.conf"" or "/etc/rsyslog.d/[customfile].conf" with the name or IP address of the log aggregation server. *.* @@[remoteloggingserver]:[port]" - + SRG-OS-000062-GPOS-00031 <GroupDescription></GroupDescription> - + RHEL-09-653010 RHEL 9 audit package must be installed. <VulnDiscussion>Without establishing what type of events occurred, the source of events, where events occurred, and the outcome of events, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. @@ -13530,19 +13288,20 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000038-GPO CCI-001889 CCI-001914 CCI-002884 + CCI-001814 Install the audit service package (if the audit service is not already installed) with the following command: $ sudo dnf install audit - + SRG-OS-000062-GPOS-00031 <GroupDescription></GroupDescription> - + RHEL-09-653015 RHEL 9 audit service must be enabled. <VulnDiscussion>Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Ensuring the "auditd" service is active ensures audit records generated by the kernel are appropriately recorded. @@ -13582,19 +13341,20 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000037-GPOS-00015, SRG-OS-000038-GPO CCI-001914 CCI-002884 CCI-004188 + CCI-001814 To enable the auditd service run the following command: $ sudo systemctl enable --now auditd - + SRG-OS-000047-GPOS-00023 <GroupDescription></GroupDescription> - + RHEL-09-653020 RHEL 9 audit system must take appropriate action when an error writing to the audit storage volume occurs. <VulnDiscussion>It is critical that when the operating system is at risk of failing to process audit logs as required, it takes action to mitigate the failure. Audit processing failures include software/hardware errors; failures in the audit capturing mechanisms; and audit storage capacity being reached or exceeded. Responses to audit failure depend upon the nature of the failure mode.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -13615,14 +13375,14 @@ disk_error_action = HALT If availability has been determined to be more important, and this decision is documented with the information system security officer (ISSO), configure the operating system to notify SA staff and ISSO staff in the event of an audit processing failure by setting the "disk_error_action" to "SYSLOG". - + SRG-OS-000047-GPOS-00023 <GroupDescription></GroupDescription> - + RHEL-09-653025 RHEL 9 audit system must take appropriate action when the audit storage volume is full. <VulnDiscussion>It is critical that when the operating system is at risk of failing to process audit logs as required, it takes action to mitigate the failure. Audit processing failures include software/hardware errors; failures in the audit capturing mechanisms; and audit storage capacity being reached or exceeded. Responses to audit failure depend upon the nature of the failure mode.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -13643,14 +13403,14 @@ disk_full_action = HALT If availability has been determined to be more important, and this decision is documented with the information system security officer (ISSO), configure the operating system to notify SA staff and ISSO staff in the event of an audit processing failure by setting the "disk_full_action" to "SYSLOG". - + SRG-OS-000341-GPOS-00132 <GroupDescription></GroupDescription> - + RHEL-09-653030 RHEL 9 must allocate audit record storage capacity to store at least one week's worth of audit records. <VulnDiscussion>To ensure RHEL 9 systems have a sufficient storage capacity in which to write the audit logs, RHEL 9 needs to be able to allocate audit record storage capacity. @@ -13674,7 +13434,7 @@ If audit records are stored on a partition made specifically for 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. - + @@ -13698,7 +13458,7 @@ If audit records are not stored on a partition made specifically for audit recor space_left = 25% - + @@ -13722,7 +13482,7 @@ space_left = 25% space_left_action = email - + @@ -13746,7 +13506,7 @@ space_left_action = email admin_space_left = 5% - + @@ -13774,14 +13534,14 @@ admin_space_left_action = single The audit daemon must be restarted for changes to take effect. - + SRG-OS-000047-GPOS-00023 <GroupDescription></GroupDescription> - + RHEL-09-653055 RHEL 9 audit system must take appropriate action when the audit files have reached maximum size. <VulnDiscussion>It is critical that when the operating system is at risk of failing to process audit logs as required, it takes action to mitigate the failure. Audit processing failures include software/hardware errors; failures in the audit capturing mechanisms; and audit storage capacity being reached or exceeded. Responses to audit failure depend upon the nature of the failure mode.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -13800,7 +13560,7 @@ Add or update the following line in "/etc/audit/auditd.conf" file: max_log_file_action = ROTATE - + @@ -13831,7 +13591,7 @@ name_format = hostname The audit daemon must be restarted for changes to take effect. - + @@ -13861,7 +13621,7 @@ overflow_action = syslog The audit daemon must be restarted for changes to take effect. - + @@ -13896,14 +13656,14 @@ action_mail_acct = root The audit daemon must be restarted for changes to take effect. - + SRG-OS-000062-GPOS-00031 <GroupDescription></GroupDescription> - + RHEL-09-653075 RHEL 9 audit system must audit local events. <VulnDiscussion>Without establishing what type of events occurred, the source of events, where events occurred, and the outcome of events, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. @@ -13919,7 +13679,6 @@ Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000480-GPOS-00227</VulnDiscussion 5551 CCI-000169 - CCI-000366 Configure RHEL 9 to generate audit records for local events by adding or updating the following line in "/etc/audit/auditd.conf": local_events = yes @@ -13927,7 +13686,7 @@ local_events = yes The audit daemon must be restarted for the changes to take effect. - + @@ -13962,14 +13721,14 @@ Change the ownership to that group: $ sudo chgrp ${GROUP} /var/log/audit - + SRG-OS-000057-GPOS-00027 <GroupDescription></GroupDescription> - + RHEL-09-653085 RHEL 9 audit log directory must be owned by root to prevent unauthorized read access. <VulnDiscussion>Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. @@ -13991,14 +13750,14 @@ Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPO $ sudo chown root /var/log/audit - + SRG-OS-000057-GPOS-00027 <GroupDescription></GroupDescription> - + RHEL-09-653090 RHEL 9 audit logs file must have mode 0600 or less permissive to prevent unauthorized access to the audit log. <VulnDiscussion>Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the RHEL 9 system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. @@ -14017,17 +13776,17 @@ Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPO CCI-000163 CCI-000164 CCI-001314 - Configure the audit logs to have a mode of "0600" with the following command: + Configure the audit logs to have a mode of "0600" with the following command: -Replace "[audit_log_file]" to the correct audit log path, by default this location is "/var/log/audit/audit.log". +Replace "[audit_log_file]" with the path to each audit log file. By default, these logs are located in "/var/log/audit/. $ sudo chmod 0600 /var/log/audit/[audit_log_file] Check the group that owns the system audit logs: -$ sudo grep -m 1 -q ^log_group /etc/audit/auditd.conf +$ sudo grep -iw log_group /etc/audit/auditd.conf -If the log_group is not defined or it is set to root, configure the permissions the following way: +If log_group is set to a user other than root, configure the permissions the following way: $ sudo chmod 0640 $log_file $ sudo chmod 0440 $log_file.* @@ -14036,9 +13795,9 @@ Otherwise, configure the permissions the following way: $ sudo chmod 0600 $log_file $ sudo chmod 0400 $log_file.* - + - + @@ -14064,7 +13823,7 @@ freq = 100 The audit daemon must be restarted for the changes to take effect. - + @@ -14097,7 +13856,7 @@ log_format = ENRICHED The audit daemon must be restarted for changes to take effect. - + @@ -14125,14 +13884,14 @@ write_logs = yes The audit daemon must be restarted for changes to take effect. - + SRG-OS-000063-GPOS-00032 <GroupDescription></GroupDescription> - + RHEL-09-653110 RHEL 9 must allow only the information system security manager (ISSM) (or individuals or roles appointed by the ISSM) to select which auditable events are to be audited. <VulnDiscussion>Without the capability to restrict the roles and individuals that can select which events are audited, unauthorized personnel may be able to prevent the auditing of critical events. Misconfigured audits may degrade the system's performance by overwhelming the audit log. Misconfigured audits may also make it more difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -14151,7 +13910,7 @@ $ sudo chmod 0640 /etc/audit/rules.d/[customrulesfile].rules $ sudo chmod 0640 /etc/audit/auditd.conf - + @@ -14175,7 +13934,7 @@ $ sudo chmod 0640 /etc/audit/auditd.conf $ sudo chmod 0640 /etc/audit/auditd.conf - + @@ -14208,14 +13967,14 @@ Satisfies: SRG-OS-000254-GPOS-00095, SRG-OS-000341-GPOS-00132</VulnDiscussion $ sudo grubby --update-kernel=ALL --args=audit_backlog_limit=8192 - + SRG-OS-000342-GPOS-00133 <GroupDescription></GroupDescription> - + RHEL-09-653130 RHEL 9 audispd-plugins package must be installed. <VulnDiscussion>"audispd-plugins" provides plugins for the real-time interface to the audit subsystem, "audispd". These plugins can do things like relay events to remote machines or analyze events for suspicious behavior.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -14232,14 +13991,14 @@ $ sudo grubby --update-kernel=ALL --args=audit_backlog_limit=8192 - + SRG-OS-000326-GPOS-00126 <GroupDescription></GroupDescription> - + RHEL-09-654010 RHEL 9 must audit uses of the "execve" system call. <VulnDiscussion>Misuse of privileged functions, either intentionally or unintentionally by authorized users, or by unauthorized external entities that have compromised information system accounts, is a serious and ongoing concern and can have significant adverse impacts on organizations. Auditing the use of privileged functions is one way to detect such misuse and identify the risk from insider threats and the advanced persistent threat. @@ -14254,7 +14013,7 @@ Satisfies: SRG-OS-000326-GPOS-00126, SRG-OS-000327-GPOS-00127</VulnDiscussion CCI-002233 CCI-002234 - Configure RHEL 9 to audit the execution of the "execve" system call. + Configure RHEL 9 to audit the execution of the "execve" system call. Add or update the following file system rules to "/etc/audit/rules.d/audit.rules": @@ -14263,17 +14022,19 @@ 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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654015 RHEL 9 must audit all uses of the chmod, fchmod, and fchmodat system calls. <VulnDiscussion>Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14297,25 +14058,26 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "chmod", "fchmod", and "fchmodat" syscalls. + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "chmod", "fchmod", and "fchmodat" syscalls. Add or update the following rules in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654020 RHEL 9 must audit all uses of the chown, fchown, fchownat, and lchown system calls. <VulnDiscussion>Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14339,24 +14101,26 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "chown", "fchown", "fchownat", and "lchown"" system calls. + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "chown", "fchown", "fchownat", and "lchown"" system calls. Add or update the following rules in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654025 RHEL 9 must audit all uses of the setxattr, fsetxattr, lsetxattr, removexattr, fremovexattr, and lremovexattr system calls. <VulnDiscussion>Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14380,25 +14144,26 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to audit the execution of the "setxattr", "fsetxattr", "lsetxattr", "removexattr", "fremovexattr", and "lremovexattr" system calls by adding or updating the following lines to "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to audit the execution of the "setxattr", "fsetxattr", "lsetxattr", "removexattr", "fremovexattr", and "lremovexattr" system calls by adding or updating the following lines to "/etc/audit/rules.d/audit.rules": -a always,exit -F arch=b32 -S setxattr,fsetxattr,lsetxattr,removexattr,fremovexattr,lremovexattr -F auid>=1000 -F auid!=unset -k perm_mod -a always,exit -F arch=b64 -S setxattr,fsetxattr,lsetxattr,removexattr,fremovexattr,lremovexattr -F auid>=1000 -F auid!=unset -k perm_mod - -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654030 RHEL 9 must audit all uses of umount system calls. <VulnDiscussion>Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14421,21 +14186,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "umount" command by adding or updating the following rules in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "umount" command by adding or updating the following rules in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654035 RHEL 9 must audit all uses of the chacl command. <VulnDiscussion>Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14459,21 +14226,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "chacl" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "chacl" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654040 RHEL 9 must audit all uses of the setfacl command. <VulnDiscussion>Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14497,21 +14266,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "setfacl" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "setfacl" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654045 RHEL 9 must audit all uses of the chcon command. <VulnDiscussion>Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14535,21 +14306,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "chcon" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "chcon" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654050 RHEL 9 must audit all uses of the semanage command. <VulnDiscussion>Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14573,21 +14346,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "semanage" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "semanage" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654055 RHEL 9 must audit all uses of the setfiles command. <VulnDiscussion>Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14611,21 +14386,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "setfiles" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "setfiles" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654060 RHEL 9 must audit all uses of the setsebool command. <VulnDiscussion>Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14649,21 +14426,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate an audit event for any successful/unsuccessful use of the "setsebool " command by adding or updating the following rules in the "/etc/audit/rules.d/audit.rules" file: + Configure RHEL 9 to generate an audit event for any successful/unsuccessful use of the "setsebool " command by adding or updating the following rules in the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged -The audit daemon must be restarted for the changes to take effect. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654065 RHEL 9 must audit all uses of the rename, unlink, rmdir, renameat, and unlinkat system calls. <VulnDiscussion>Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14687,22 +14466,24 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate an audit event for any successful/unsuccessful use of the "rename", "unlink", "rmdir", "renameat", and "unlinkat" system calls by adding or updating the following rules in the "/etc/audit/rules.d/audit.rules" file: + Configure RHEL 9 to generate an audit event for any successful/unsuccessful use of the "rename", "unlink", "rmdir", "renameat", and "unlinkat" system calls by adding or updating the following rules in the "/etc/audit/rules.d/audit.rules" file: -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654070 RHEL 9 must audit all uses of the truncate, ftruncate, creat, open, openat, and open_by_handle_at system calls. <VulnDiscussion>Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14726,7 +14507,7 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate an audit event for any successful/unsuccessful use of the "truncate", "ftruncate", "creat", "open", "openat", and "open_by_handle_at" system calls by adding or updating the following rules in the "/etc/audit/rules.d/audit.rules" file: + Configure RHEL 9 to generate an audit event for any successful/unsuccessful use of the "truncate", "ftruncate", "creat", "open", "openat", and "open_by_handle_at" system calls by adding or updating the following rules in the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F arch=b32 -S truncate,ftruncate,creat,open,openat,open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k perm_access -a always,exit -F arch=b64 -S truncate,ftruncate,creat,open,openat,open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k perm_access @@ -14734,17 +14515,19 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654075 RHEL 9 must audit all uses of the delete_module system call. <VulnDiscussion>Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14768,22 +14551,24 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate an audit event for any successful/unsuccessful use of the "delete_module" system call by adding or updating the following rules in the "/etc/audit/rules.d/audit.rules" file: + Configure RHEL 9 to generate an audit event for any successful/unsuccessful use of the "delete_module" system call by adding or updating the following rules in the "/etc/audit/rules.d/audit.rules" file: -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654080 RHEL 9 must audit all uses of the init_module and finit_module system calls. <VulnDiscussion>Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14807,22 +14592,24 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate an audit event for any successful/unsuccessful use of the "init_module" and "finit_module" system calls by adding or updating the following rules in the "/etc/audit/rules.d/audit.rules" file: + Configure RHEL 9 to generate an audit event for any successful/unsuccessful use of the "init_module" and "finit_module" system calls by adding or updating the following rules in the "/etc/audit/rules.d/audit.rules" file: -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654085 RHEL 9 must audit all uses of the chage command. <VulnDiscussion>Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14846,21 +14633,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "chage" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "chage" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654090 RHEL 9 must audit all uses of the chsh command. <VulnDiscussion>Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14884,21 +14673,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "chsh" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "chsh" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654095 RHEL 9 must audit all uses of the crontab command. <VulnDiscussion>Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14922,21 +14713,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "crontab" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "crontab" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654100 RHEL 9 must audit all uses of the gpasswd command. <VulnDiscussion>Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14960,21 +14753,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "gpasswd" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "gpasswd" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654105 RHEL 9 must audit all uses of the kmod command. <VulnDiscussion>Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14998,21 +14793,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "kmod" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "kmod" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654110 RHEL 9 must audit all uses of the newgrp command. <VulnDiscussion>Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15036,21 +14833,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "newgrp" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "newgrp" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654115 RHEL 9 must audit all uses of the pam_timestamp_check command. <VulnDiscussion>Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15074,21 +14873,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "pam_timestamp_check" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "pam_timestamp_check" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654120 RHEL 9 must audit all uses of the passwd command. <VulnDiscussion>Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15112,21 +14913,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "passwd" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "passwd" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654125 RHEL 9 must audit all uses of the postdrop command. <VulnDiscussion>Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15150,21 +14953,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "postdrop" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "postdrop" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654130 RHEL 9 must audit all uses of the postqueue command. <VulnDiscussion>Without generating audit record specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15188,21 +14993,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "postqueue" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "postqueue" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654135 RHEL 9 must audit all uses of the ssh-agent command. <VulnDiscussion>Without generating audit record specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15226,21 +15033,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "ssh-agent" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "ssh-agent" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654140 RHEL 9 must audit all uses of the ssh-keysign command. <VulnDiscussion>Without generating audit record specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15264,21 +15073,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "ssh-keysign" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "ssh-keysign" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654145 RHEL 9 must audit all uses of the su command. <VulnDiscussion>Without generating audit record specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15302,21 +15113,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "su" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "su" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654150 RHEL 9 must audit all uses of the sudo command. <VulnDiscussion>Without generating audit record specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15340,21 +15153,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "sudo" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "sudo" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654155 RHEL 9 must audit all uses of the sudoedit command. <VulnDiscussion>Without generating audit record specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15378,21 +15193,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "sudoedit" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "sudoedit" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -a always,exit -F path=/usr/bin/sudoedit -F perm=x -F auid>=1000 -F auid!=unset -k priv_cmd -The audit daemon must be restarted for the changes to take effect. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654160 RHEL 9 must audit all uses of the unix_chkpwd command. <VulnDiscussion>Without generating audit record specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15416,21 +15233,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "unix_chkpwd" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "unix_chkpwd" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654165 RHEL 9 must audit all uses of the unix_update command. <VulnDiscussion>Without generating audit record specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15454,21 +15273,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "unix_update" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "unix_update" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654170 RHEL 9 must audit all uses of the userhelper command. <VulnDiscussion>Without generating audit record specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15492,21 +15313,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "userhelper" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "userhelper" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654175 RHEL 9 must audit all uses of the usermod command. <VulnDiscussion>Without generating audit record specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15530,21 +15353,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "usermod " command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "usermod " command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654180 RHEL 9 must audit all uses of the mount command. <VulnDiscussion>Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15568,21 +15393,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "mount" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": + Configure RHEL 9 to generate audit records upon successful/unsuccessful attempts to use the "mount" command by adding or updating the following rule in "/etc/audit/rules.d/audit.rules": -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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000477-GPOS-00222 <GroupDescription></GroupDescription> - + RHEL-09-654185 Successful/unsuccessful uses of the init command in RHEL 9 must generate an audit record. <VulnDiscussion>Misuse of the init command may cause availability issues for the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -15594,21 +15421,23 @@ The audit daemon must be restarted for the changes to take effect.5551 CCI-000172 - Configure the audit system to generate an audit event for any successful/unsuccessful uses of the "init" command by adding or updating the following rule in the "/etc/audit/rules.d/audit.rules" file: + Configure the audit system to generate an audit event for any successful/unsuccessful uses of the "init" command by adding or updating the following rule in the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/sbin/init -F perm=x -F auid>=1000 -F auid!=unset -k privileged-init -The audit daemon must be restarted for the changes to take effect. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000477-GPOS-00222 <GroupDescription></GroupDescription> - + RHEL-09-654190 Successful/unsuccessful uses of the poweroff command in RHEL 9 must generate an audit record. <VulnDiscussion>Misuse of the poweroff command may cause availability issues for the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -15620,21 +15449,23 @@ The audit daemon must be restarted for the changes to take effect.5551 CCI-000172 - Configure the audit system to generate an audit event for any successful/unsuccessful uses of the "poweroff" command by adding or updating the following rule in the "/etc/audit/rules.d/audit.rules" file: + Configure the audit system to generate an audit event for any successful/unsuccessful uses of the "poweroff" command by adding or updating the following rule in the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/sbin/poweroff -F perm=x -F auid>=1000 -F auid!=unset -k privileged-poweroff -The audit daemon must be restarted for the changes to take effect. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000477-GPOS-00222 <GroupDescription></GroupDescription> - + RHEL-09-654195 Successful/unsuccessful uses of the reboot command in RHEL 9 must generate an audit record. <VulnDiscussion>Misuse of the reboot command may cause availability issues for the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -15646,21 +15477,23 @@ The audit daemon must be restarted for the changes to take effect.5551 CCI-000172 - Configure the audit system to generate an audit event for any successful/unsuccessful uses of the "reboot" command by adding or updating the following rule in the "/etc/audit/rules.d/audit.rules" file: + Configure the audit system to generate an audit event for any successful/unsuccessful uses of the "reboot" command by adding or updating the following rule in the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/sbin/reboot -F perm=x -F auid>=1000 -F auid!=unset -k privileged-reboot -The audit daemon must be restarted for the changes to take effect. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000477-GPOS-00222 <GroupDescription></GroupDescription> - + RHEL-09-654200 Successful/unsuccessful uses of the shutdown command in RHEL 9 must generate an audit record. <VulnDiscussion>Misuse of the shutdown command may cause availability issues for the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -15672,21 +15505,23 @@ The audit daemon must be restarted for the changes to take effect.5551 CCI-000172 - Configure the audit system to generate an audit event for any successful/unsuccessful uses of the "shutdown" command by adding or updating the following rule in the "/etc/audit/rules.d/audit.rules" file: + Configure the audit system to generate an audit event for any successful/unsuccessful uses of the "shutdown" command by adding or updating the following rule in the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/sbin/shutdown -F perm=x -F auid>=1000 -F auid!=unset -k privileged-shutdown -The audit daemon must be restarted for the changes to take effect. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654205 Successful/unsuccessful uses of the umount system call in RHEL 9 must generate an audit record. <VulnDiscussion>The changing of file permissions could indicate that a user is attempting to gain access to information that would otherwise be disallowed. Auditing DAC modifications can facilitate the identification of patterns of abuse among both authorized and unauthorized users. @@ -15703,21 +15538,23 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPO CCI-000169 CCI-000172 CCI-002884 - Configure the audit system to generate an audit event for any successful/unsuccessful use of the "umount" system call by adding or updating the following rules in "/etc/audit/audit.rules" and adding the following rules to "/etc/audit/rules.d/perm_mod.rules" or updating the existing rules in files in the "/etc/audit/rules.d/" directory: + Configure the audit system to generate an audit event for any successful/unsuccessful use of the "umount" system call by adding or updating the following rules in "/etc/audit/audit.rules" and adding the following rules to "/etc/audit/rules.d/perm_mod.rules" or updating the existing rules in files in the "/etc/audit/rules.d/" directory: -a always,exit -F arch=b32 -S umount -F auid>=1000 -F auid!=unset -k privileged-umount -The audit daemon must be restarted for the changes to take effect. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654210 Successful/unsuccessful uses of the umount2 system call in RHEL 9 must generate an audit record. <VulnDiscussion>The changing of file permissions could indicate that a user is attempting to gain access to information that would otherwise be disallowed. Auditing DAC modifications can facilitate the identification of patterns of abuse among both authorized and unauthorized users. @@ -15734,22 +15571,24 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPO CCI-000169 CCI-000172 CCI-002884 - Configure the audit system to generate an audit event for any successful/unsuccessful use of the "umount2" system call by adding or updating the following rules in "/etc/audit/audit.rules" and adding the following rules to "/etc/audit/rules.d/perm_mod.rules" or updating the existing rules in files in the "/etc/audit/rules.d/" directory: + Configure the audit system to generate an audit event for any successful/unsuccessful use of the "umount2" system call by adding or updating the following rules in a file in "/etc/audit/rules.d". --a always,exit -F arch=b32 -S umount2 -F auid>=1000 -F auid!=unset -k perm_mod --a always,exit -F arch=b64 -S umount2 -F auid>=1000 -F auid!=unset -k perm_mod +-a always,exit -F arch=b32 -S umount2 -F auid>=1000 -F auid!=unset -k privileged-umount +-a always,exit -F arch=b64 -S umount2 -F auid>=1000 -F auid!=unset -k privileged-umount -The audit daemon must be restarted for the changes to take effect. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000004-GPOS-00004 <GroupDescription></GroupDescription> - + RHEL-09-654215 RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/sudoers. <VulnDiscussion>The actions taken by system administrators must be audited to keep a record of what was executed on the system, as well as for accountability purposes. Editing the sudoers file may be sign of an attacker trying to establish persistent methods to a system, auditing the editing of the sudoers files mitigates this risk. @@ -15773,23 +15612,26 @@ Satisfies: SRG-OS-000004-GPOS-00004, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO CCI-002130 CCI-000015 CCI-002884 - Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers". + CCI-002132 + Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers". 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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000004-GPOS-00004 <GroupDescription></GroupDescription> - + RHEL-09-654220 RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/sudoers.d/ directory. <VulnDiscussion>The actions taken by system administrators must be audited to keep a record of what was executed on the system, as well as for accountability purposes. Editing the sudoers file may be sign of an attacker trying to establish persistent methods to a system, auditing the editing of the sudoers files mitigates this risk. @@ -15813,23 +15655,26 @@ Satisfies: SRG-OS-000004-GPOS-00004, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO CCI-002130 CCI-000015 CCI-002884 - Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/". + CCI-002132 + Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/". 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. - +To load the rules to the kernel immediately, use the following command: + +$ sudo augenrules --load + - + SRG-OS-000004-GPOS-00004 <GroupDescription></GroupDescription> - + RHEL-09-654225 RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/group. <VulnDiscussion>In addition to auditing new user and group accounts, these watches will alert the system administrator(s) to any modifications. Any unexpected users, groups, or modifications must be investigated for legitimacy. @@ -15853,6 +15698,7 @@ Satisfies: SRG-OS-000004-GPOS-00004, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO CCI-002130 CCI-000015 CCI-002884 + CCI-002132 Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/group". Add or update the following file system rule to "/etc/audit/rules.d/audit.rules": @@ -15862,14 +15708,14 @@ 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. - + SRG-OS-000004-GPOS-00004 <GroupDescription></GroupDescription> - + RHEL-09-654230 RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/gshadow. <VulnDiscussion>In addition to auditing new user and group accounts, these watches will alert the system administrator(s) to any modifications. Any unexpected users, groups, or modifications should be investigated for legitimacy. @@ -15893,6 +15739,7 @@ Satisfies: SRG-OS-000004-GPOS-00004, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO CCI-002130 CCI-000015 CCI-002884 + CCI-002132 Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow". Add or update the following file system rule to "/etc/audit/rules.d/audit.rules": @@ -15902,14 +15749,14 @@ 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. - + SRG-OS-000004-GPOS-00004 <GroupDescription></GroupDescription> - + RHEL-09-654235 RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/opasswd. <VulnDiscussion>In addition to auditing new user and group accounts, these watches will alert the system administrator(s) to any modifications. Any unexpected users, groups, or modifications should be investigated for legitimacy. @@ -15933,6 +15780,7 @@ Satisfies: SRG-OS-000004-GPOS-00004, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO CCI-002130 CCI-000015 CCI-002884 + CCI-002132 Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd". Add or update the following file system rule to "/etc/audit/rules.d/audit.rules": @@ -15942,14 +15790,14 @@ 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. - + SRG-OS-000004-GPOS-00004 <GroupDescription></GroupDescription> - + RHEL-09-654240 RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/passwd. <VulnDiscussion>In addition to auditing new user and group accounts, these watches will alert the system administrator(s) to any modifications. Any unexpected users, groups, or modifications should be investigated for legitimacy. @@ -15973,6 +15821,11 @@ Satisfies: SRG-OS-000004-GPOS-00004, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO CCI-001405 CCI-002130 CCI-002884 + CCI-001683 + CCI-001684 + CCI-001685 + CCI-001686 + CCI-002132 Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd". Add or update the following file system rule to "/etc/audit/rules.d/audit.rules": @@ -15982,14 +15835,14 @@ 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. - + SRG-OS-000004-GPOS-00004 <GroupDescription></GroupDescription> - + RHEL-09-654245 RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/shadow. <VulnDiscussion>In addition to auditing new user and group accounts, these watches will alert the system administrator(s) to any modifications. Any unexpected users, groups, or modifications should be investigated for legitimacy. @@ -16013,6 +15866,7 @@ Satisfies: SRG-OS-000004-GPOS-00004, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPO CCI-002130 CCI-000015 CCI-002884 + CCI-002132 Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/shadow". Add or update the following file system rule to "/etc/audit/rules.d/audit.rules": @@ -16022,14 +15876,14 @@ 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. - + SRG-OS-000392-GPOS-00172 <GroupDescription></GroupDescription> - + RHEL-09-654250 RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /var/log/faillock. <VulnDiscussion>Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -16044,23 +15898,25 @@ Satisfies: SRG-OS-000392-GPOS-00172, SRG-OS-000470-GPOS-00214, SRG-OS-000473-GPO CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/faillock". + Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/faillock". Add or update the following file system rule to "/etc/audit/rules.d/audit.rules": -w /var/log/faillock -p wa -k logins -The audit daemon must be restarted for the changes to take effect. - +The audit daemon must be restarted for the changes to take effect. + +$ sudo service auditd restart + - + SRG-OS-000037-GPOS-00015 <GroupDescription></GroupDescription> - + RHEL-09-654255 RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /var/log/lastlog. <VulnDiscussion>Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -16078,16 +15934,18 @@ Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPO CCI-000169 CCI-000172 CCI-002884 - Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/lastlog". + Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/lastlog". Add or update the following file system rule to "/etc/audit/rules.d/audit.rules": -w /var/log/lastlog -p wa -k logins -The audit daemon must be restarted for the changes to take effect. - +The audit daemon must be restarted for the changes to take effect. + +$ sudo service auditd restart + - + @@ -16118,14 +15976,14 @@ 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. - + SRG-OS-000046-GPOS-00022 <GroupDescription></GroupDescription> - + RHEL-09-654265 RHEL 9 must take appropriate action when a critical audit processing failure occurs. <VulnDiscussion>It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without this notification, the security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected. @@ -16142,14 +16000,14 @@ Satisfies: SRG-OS-000046-GPOS-00022, SRG-OS-000047-GPOS-00023</VulnDiscussion CCI-000139 CCI-000140 - Configure RHEL 9 to shut down when auditing failures occur. + Configure RHEL 9 to shut down when auditing failures occur. -Add the following line to the bottom of the /etc/audit/audit.rules file: +Add the following line to the bottom of the /etc/audit/rules.d/audit.rules file: -f 2 - + - + @@ -16180,7 +16038,7 @@ Satisfies: SRG-OS-000462-GPOS-00206, SRG-OS-000475-GPOS-00220, SRG-OS-000057-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -16214,7 +16072,7 @@ Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPO The audit daemon must be restarted for the changes to take effect. - + @@ -16245,14 +16103,14 @@ $ sudo fips-mode-setup --enable Reboot the system for the changes to take effect. - + SRG-OS-000073-GPOS-00041 <GroupDescription></GroupDescription> - + RHEL-09-671015 RHEL 9 must employ FIPS 140-3 approved cryptographic hashing algorithms for all stored passwords. <VulnDiscussion>The system must use a strong hashing algorithm to store the password. @@ -16269,19 +16127,20 @@ Satisfies: SRG-OS-000073-GPOS-00041, SRG-OS-000120-GPOS-00061</VulnDiscussion CCI-004062 CCI-000803 + CCI-000196 Lock all interactive user accounts not using SHA-512 hashing until the passwords can be regenerated with SHA-512. - + SRG-OS-000033-GPOS-00014 <GroupDescription></GroupDescription> - + RHEL-09-671020 - RHEL 9 IP tunnels must use FIPS 140-2/140-3 approved cryptographic algorithms. + RHEL 9 IP tunnels must use FIPS 140-3 approved cryptographic algorithms. <VulnDiscussion>Overriding the system crypto policy makes the behavior of the Libreswan service violate expectations, and makes system configuration more fragmented.</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 9 @@ -16299,14 +16158,14 @@ Add the following line to "/etc/ipsec.conf": include /etc/crypto-policies/back-ends/libreswan.config - + SRG-OS-000073-GPOS-00041 <GroupDescription></GroupDescription> - + RHEL-09-671025 RHEL 9 pam_unix.so module must be configured in the password-auth file to use a FIPS 140-3 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. @@ -16322,6 +16181,7 @@ FIPS 140-3 is the current standard for validating that mechanisms used to access 5551 CCI-004062 + CCI-000196 Configure RHEL 9 to use a FIPS 140-3 approved cryptographic hashing algorithm for system authentication. Edit/modify the following line in the "/etc/pam.d/password-auth" file to include the sha512 option for pam_unix.so: @@ -16329,17 +16189,17 @@ Edit/modify the following line in the "/etc/pam.d/password-auth" file to include password sufficient pam_unix.so sha512 - + SRG-OS-000396-GPOS-00176 <GroupDescription></GroupDescription> - - RHEL-09-672010 + + RHEL-09-215100 RHEL 9 must have the crypto-policies package installed. - <VulnDiscussion>Centralized cryptographic policies simplify applying secure ciphers across an operating system and the applications that run on that operating system. Use of weak or untested encryption algorithms undermines the purposes of utilizing encryption to protect data. + <VulnDiscussion>Centralized cryptographic policies simplify applying secure ciphers across an operating system and the applications that run on that operating system. Use of weak or untested encryption algorithms undermines the purposes of using encryption to protect data. Satisfies: SRG-OS-000396-GPOS-00176, SRG-OS-000393-GPOS-00173, SRG-OS-000394-GPOS-00174</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -16352,22 +16212,22 @@ Satisfies: SRG-OS-000396-GPOS-00176, SRG-OS-000393-GPOS-00173, SRG-OS-000394-GPO CCI-002450 CCI-002890 CCI-003123 - Install the crypto-policies package (if the package is not already installed) with the following command: + Install the crypto-policies package (if the package is not already installed) with the following command: -$ sudo dnf install crypto-policies - +$ sudo dnf -y install crypto-policies + - + SRG-OS-000396-GPOS-00176 <GroupDescription></GroupDescription> - + RHEL-09-672020 - RHEL 9 crypto policy must not be overridden. - <VulnDiscussion>Centralized cryptographic policies simplify applying secure ciphers across an operating system and the applications that run on that operating system. Use of weak or untested encryption algorithms undermines the purposes of utilizing encryption to protect data. + RHEL 9 cryptographic policy must not be overridden. + <VulnDiscussion>Centralized cryptographic policies simplify applying secure ciphers across an operating system and the applications that run on that operating system. Use of weak or untested encryption algorithms undermines the purposes of using encryption to protect data. Satisfies: SRG-OS-000396-GPOS-00176, SRG-OS-000393-GPOS-00173, SRG-OS-000394-GPOS-00174</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> @@ -16380,26 +16240,32 @@ Satisfies: SRG-OS-000396-GPOS-00176, SRG-OS-000393-GPOS-00173, SRG-OS-000394-GPO CCI-002450 CCI-002890 CCI-003123 - Configure RHEL 9 to FIPS crypto policy. + Configure RHEL 9 to correctly implement the systemwide cryptographic policies by reinstalling the crypto-policies package contents. -$ sudo ln -s /usr/share/crypto-policies/FIPS/<service>.txt /etc/crypto-policies/back-ends/<service>.conf +Reinstall crypto-policies with the following command: -Replace <service> with every service that is not set to FIPS. +$ sudo dnf -y reinstall crypto-policies -The system must be rebooted to make the changes to take effect. - +Set the crypto-policy to FIPS with the following command: + +$ sudo update-crypto-policies --set FIPS + +Setting system policy to FIPS + +Note: Systemwide crypto policies are applied on application startup. It is recommended to restart the system for the change of policies to fully take place. + - + SRG-OS-000120-GPOS-00061 <GroupDescription></GroupDescription> - + RHEL-09-672025 RHEL 9 must use mechanisms meeting the requirements of applicable federal laws, executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module. - <VulnDiscussion>Overriding the system crypto policy makes the behavior of Kerberos violate expectations, and makes system configuration more fragmented.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls> + <VulnDiscussion>Overriding the system crypto policy makes the behavior of Kerberos violate expectations and makes system configuration more fragmented.</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 9 DISA @@ -16408,112 +16274,14 @@ The system must be rebooted to make the changes to take effect. 5551 CCI-000803 - Configure Kerberos to use system crypto policy. + Configure Kerberos to use system cryptographic policy. Create a symlink pointing to system crypto policy in the Kerberos configuration using the following command: $ sudo ln -s /etc/crypto-policies/back-ends/krb5.config /usr/share/crypto-policies/FIPS/krb5.txt - + - - - - - - SRG-OS-000250-GPOS-00093 - <GroupDescription></GroupDescription> - - RHEL-09-672030 - RHEL 9 must implement DOD-approved TLS encryption in the GnuTLS package. - <VulnDiscussion>Without cryptographic integrity protections, information can be altered by unauthorized users without detection. - -Transport Layer Security (TLS) encryption is a required security setting as a number of known vulnerabilities have been reported against Secure Sockets Layer (SSL) and earlier versions of TLS. Encryption of private information is essential to ensuring data confidentiality. If private information is not encrypted, it can be intercepted and easily read by an unauthorized party. SQL Server must use a minimum of FIPS 140-3 approved TLS version 1.2, and all non-FIPS-approved SSL and TLS versions must be disabled. NIST 800-53 specifies the preferred configurations for government systems. - -Cryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash. - -Satisfies: SRG-OS-000250-GPOS-00093, SRG-OS-000423-GPOS-00187</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 9 - DISA - DPMS Target - Red Hat Enterprise Linux 9 - 5551 - - CCI-001453 - CCI-002418 - Configure the RHEL 9 GnuTLS library to use only NIST-approved encryption with the following steps to enable FIPS mode: - -$ sudo fips-mode-setup --enable - -A reboot is required for the changes to take effect. - - - - - - - - SRG-OS-000250-GPOS-00093 - <GroupDescription></GroupDescription> - - RHEL-09-672035 - RHEL 9 must implement DOD-approved encryption in the OpenSSL package. - <VulnDiscussion>Without cryptographic integrity protections, information can be altered by unauthorized users without detection. - -Remote access (e.g., RDP) is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. - -Cryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash. - -The employed algorithms can be viewed in the /etc/crypto-policies/back-ends/openssl.config file.</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 9 - DISA - DPMS Target - Red Hat Enterprise Linux 9 - 5551 - - CCI-001453 - Configure the RHEL 9 OpenSSL library to use the system cryptographic policy. - -Edit the "/etc/pki/tls/openssl.cnf" and add or modify the following line: - -.include = /etc/crypto-policies/back-ends/opensslcnf.config - - - - - - - - SRG-OS-000250-GPOS-00093 - <GroupDescription></GroupDescription> - - RHEL-09-672040 - RHEL 9 must implement DOD-approved TLS encryption in the OpenSSL package. - <VulnDiscussion>Without cryptographic integrity protections, information can be altered by unauthorized users without detection. - -Remote access (e.g., RDP) is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. - -Cryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash. - -The employed algorithms can be viewed in the /etc/crypto-policies/back-ends/openssl.config file.</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 9 - DISA - DPMS Target - Red Hat Enterprise Linux 9 - 5551 - - CCI-001453 - Configure the RHEL 9 OpenSSL library to use only DOD-approved TLS encryption by editing the following line in the "/etc/crypto-policies/back-ends/opensslcnf.config" file: - -TLS.MinProtocol = TLSv1.2 -DTLS.MinProtocol = DTLSv1.2 - -A reboot is required for the changes to take effect. - - - + @@ -16547,18 +16315,18 @@ Add the following line to the "options" section in "/etc/named.conf": include "/etc/crypto-policies/back-ends/bind.config"; - + - + - Security Content Tool 0.7.1-SNAPSHOT + Security Content Tool 1.2.0 5.11 - 2024-07-03T03:54:04 + 2025-12-31T10:20:25 @@ -16596,28 +16364,6 @@ include "/etc/crypto-policies/back-ends/bind.config"; - - - The operating system must be configured so that the Network File System (NFS) is configured to use RPCSEC_GSS. - - - - - - - - - - - All the operating system remote access methods must be monitored. - - - - - - - - The operating system must encrypt all stored passwords with a FIPS 140-2 approved cryptographic hashing algorithm. @@ -16636,16 +16382,6 @@ include "/etc/crypto-policies/back-ends/bind.config"; - - - The operating system shadow password suite must be configured to use a sufficient number of hashing rounds. - - - - - - - The operating system operating systems must require authentication upon booting into rescue mode. @@ -16673,13 +16409,10 @@ include "/etc/crypto-policies/back-ends/bind.config"; - + The operating system must use a Linux Security Module configured to enforce limits on system services. - - Red Hat Enterprise Linux 9 - - SELINUX is active, enforcing, and configured to enforce + @@ -17239,22 +16972,22 @@ include "/etc/crypto-policies/back-ends/bind.config"; - + The operating system must automatically lock an account when three unsuccessful logon attempts occur. - + - + The operating system must automatically lock an account when three unsuccessful logon attempts occur during a 15-minute time period. - + @@ -17266,13 +16999,13 @@ include "/etc/crypto-policies/back-ends/bind.config"; - + - The operating system must ensure account lockouts persist. + The operating system must ensure account lockouts persist - + @@ -17303,25 +17036,6 @@ include "/etc/crypto-policies/back-ends/bind.config"; - - - The operating system must enable a user session lock until that user re-establishes access using established identification and authentication procedures for command line sessions. - - - - - - - - - - The operating system must prevent users from disabling session control mechanisms. - - - - - - The operating system must be able to initiate directly a session lock for all connection types using smartcard when the smartcard is removed. @@ -17331,15 +17045,6 @@ include "/etc/crypto-policies/back-ends/bind.config"; - - - The operating system must automatically lock command line user sessions after 15 minutes of inactivity. - - - - - - The operating system must ensure the password complexity module is enabled in the password-auth file. @@ -17394,6 +17099,24 @@ include "/etc/crypto-policies/back-ends/bind.config"; + + + The operating system must require the change of at least four character classes when passwords are changed. + + + + + + + + + The operating system must require the change of at least 8 characters when passwords are changed. + + + + + + The operating system passwords must have a 24 hours/1 day minimum password lifetime restriction in /etc/shadow. @@ -17432,15 +17155,6 @@ include "/etc/crypto-policies/back-ends/bind.config"; - - - The operating system passwords for new users must have a minimum of 15 characters. - - - - - - The operating system account identifiers (individuals, groups, roles, and devices) must be disabled after 35 days of inactivity. @@ -18162,13 +17876,17 @@ include "/etc/crypto-policies/back-ends/bind.config"; - + The operating system must encrypt the transfer of audit records off-loaded onto a different system or media from the system being audited. - + + + + + @@ -18261,13 +17979,13 @@ include "/etc/crypto-policies/back-ends/bind.config"; - + The operating system file system automounter must be disabled unless required. - + @@ -18658,13 +18376,12 @@ include "/etc/crypto-policies/back-ends/bind.config"; - + The operating system must be configured to prevent unrestricted mail relaying. - - + @@ -18704,15 +18421,6 @@ include "/etc/crypto-policies/back-ends/bind.config"; - - - The gssproxy package must not be installed unless mission essential on the operating system. - - - - - - The iprutils package must not be installed unless mission essential on the operating system. @@ -18806,6 +18514,15 @@ include "/etc/crypto-policies/back-ends/bind.config"; + + + The operating system must display a banner before granting local or remote access to the system via a graphical user logon. + + + + + + The operating system operating systems must require authentication upon booting into emergency mode. @@ -18865,15 +18582,6 @@ include "/etc/crypto-policies/back-ends/bind.config"; - - - The operating system must have the tmux package installed. - - - - - - The operating system must prevent a user from overriding the session idle-delay setting for the graphical user interface. @@ -19032,19 +18740,9 @@ include "/etc/crypto-policies/back-ends/bind.config"; - - - The operating system operating system must implement DoD-approved TLS encryption in the OpenSSL package. - - - - - - - - + - Successful/unsuccessful uses of the "rename" command in TOSS must generate an audit record. + Successful/unsuccessful uses of the "rename" command in the operating system must generate an audit record. @@ -19072,9 +18770,9 @@ include "/etc/crypto-policies/back-ends/bind.config"; - + - Successful/unsuccessful uses of the "unlink" command in TOSS must generate an audit record + Successful/unsuccessful uses of the "unlink" command in the operating system must generate an audit record @@ -19082,14 +18780,14 @@ include "/etc/crypto-policies/back-ends/bind.config"; - + Successful/unsuccessful uses of the "unlinkat" command in the operating system must generate an audit record. - - + + @@ -19339,6 +19037,15 @@ include "/etc/crypto-policies/back-ends/bind.config"; + + + The gssproxy package must not be installed unless mission essential on the operating system. + + + + + + The operating system must not have the quagga package installed. @@ -19943,40 +19650,46 @@ include "/etc/crypto-policies/back-ends/bind.config"; - + The operating system SSH server configuration file must be group-owned by root. - + + + - + The operating system SSH server configuration file must be owned by root. - + + + - + The operating system SSH server configuration file must have mode 0600 or less permissive. + + - + The operating system must be configured so that the SSH daemon does not allow compression or only allows compression after successful authentication. - + @@ -20030,15 +19743,6 @@ include "/etc/crypto-policies/back-ends/bind.config"; - - - The operating system SSH daemon must be configured to use privilege separation. - - - - - - The operating system must prevent a user from overriding the banner-message-enable setting for the graphical user interface. @@ -20309,22 +20013,22 @@ include "/etc/crypto-policies/back-ends/bind.config"; - + The operating system password-auth must be configured to use a sufficient number of hashing rounds. - + - + The operating system system-auth must be configured to use a sufficient number of hashing rounds. - + @@ -20336,24 +20040,6 @@ include "/etc/crypto-policies/back-ends/bind.config"; - - - The operating system must require the change of at least 8 characters when passwords are changed. - - - - - - - - - The operating system must require the change of at least four character classes when passwords are changed. - - - - - - The operating system operating system must not be configured to bypass password requirements for privilege escalation. @@ -20445,40 +20131,51 @@ include "/etc/crypto-policies/back-ends/bind.config"; - + - The operating system must be configured to offload audit records onto a different system from the system being audited via syslog. + All the operating system remote access methods must be monitored. - + + + - + The operating system must authenticate the remote logging server for off-loading audit logs. - + + + + + - + The operating system must encrypt via the gtls driver the transfer of audit records offloaded onto a different system or media from the system being audited via rsyslog. - + + + + + - + The operating system audit records must be off-loaded onto a different system or storage media from the system being audited. - - + + + @@ -20697,35 +20394,22 @@ include "/etc/crypto-policies/back-ends/bind.config"; - - - The operating system must implement DOD-approved TLS encryption in the GnuTLS package. - This OVAL mimics the behavior of update-crypto-policies --show - - - - - - - - - - + - The operating system must implement DOD-approved encryption in the OpenSSL package. + The operating system must implement DOD-approved encryption in the bind package. - + - + - The operating system must implement DOD-approved encryption in the bind package. + The autofs package is installed. - + @@ -20737,13 +20421,13 @@ include "/etc/crypto-policies/back-ends/bind.config"; - + - The Trivial File Transfer Protocol (TFTP) server package is installed. + The postifx package is installed. - + @@ -20764,7 +20448,7 @@ include "/etc/crypto-policies/back-ends/bind.config"; - + Gnome is installed @@ -20772,60 +20456,21 @@ include "/etc/crypto-policies/back-ends/bind.config"; - - - - - - - Linux United Extensible Firmware Interface (UEFI) - - Linux Systems - - - - - - - - - - - - - - - - - - + + - + - Linux BIOS + Linux United Extensible Firmware Interface (UEFI) Linux Systems - - - - - - - - - - - - - - - - + + @@ -20844,67 +20489,6 @@ include "/etc/crypto-policies/back-ends/bind.config"; - - - Oracle Linux 7 is installed. - - Oracle Linux 7 - - - Oracle Linux 7 is installed. - - - - - - - - Oracle Linux 8 is installed. - - Oracle Linux 8 - - - Oracle Linux 8 is installed. - - - - - - - - Red Hat Enterprise Linux 7 - - multi_platform_all - - - - The operating system installed on the system is - Red Hat Enterprise Linux 7 - - - - - - - - - - - - - - - RHEL 8 is installed - - RHEL 8 - - - RHEL 8 is installed - - - - - RHEL-09-211010 - RHEL 9 must be a vendor-supported release. @@ -21577,7 +21161,7 @@ Removing the "telnet-server" package decreases the risk of accidental (or intent - + RHEL-09-215045 - RHEL 9 must not have the gssproxy package installed. @@ -21592,7 +21176,7 @@ The gssproxy package is a proxy for GSS API credential handling and could expose Satisfies: SRG-OS-000095-GPOS-00049, SRG-OS-000480-GPOS-00227 - + @@ -21861,19 +21445,7 @@ Satisfies: SRG-OS-000368-GPOS-00154, SRG-OS-000480-GPOS-00227 - - - RHEL-09-231060 - RHEL 9 must be configured so that the Network File System (NFS) is configured to use RPCSEC_GSS. - - Red Hat Enterprise Linux 9 - - When an NFS server is configured to use RPCSEC_SYS, a selected userid and groupid are used to handle requests from the remote user. The userid and groupid could mistakenly or maliciously be set incorrectly. The RPCSEC_GSS method of authentication uses certificates on the server and client systems to more securely authenticate the remote mount request. - - - - - - + RHEL-09-231065 - RHEL 9 must prevent special devices on file systems that are imported via Network File System (NFS). @@ -23743,28 +23315,32 @@ Satisfies: SRG-OS-000364-GPOS-00151, SRG-OS-000480-GPOS-00227 - + - RHEL-09-255170 - RHEL 9 SSH daemon must be configured to use privilege separation. + RHEL-09-255175 - RHEL 9 SSH daemon must prevent remote hosts from connecting to the proxy display. Red Hat Enterprise Linux 9 - SSH daemon privilege separation causes the SSH process to drop root privileges when not needed, which would decrease the impact of software vulnerabilities in the nonprivileged section. + When X11 forwarding is enabled, there may be additional exposure to the server and client displays if the sshd proxy display is configured to listen on the wildcard address. By default, sshd binds the forwarding server to the loopback address and sets the hostname part of the "DISPLAY" environment variable to localhost. This prevents remote hosts from connecting to the proxy display. - + - + - RHEL-09-255175 - RHEL 9 SSH daemon must prevent remote hosts from connecting to the proxy display. + RHEL-09-271010 - RHEL 9 must display the Standard Mandatory DOD Notice and Consent Banner before granting local or remote access to the system via a graphical user logon. Red Hat Enterprise Linux 9 - When X11 forwarding is enabled, there may be additional exposure to the server and client displays if the sshd proxy display is configured to listen on the wildcard address. By default, sshd binds the forwarding server to the loopback address and sets the hostname part of the "DISPLAY" environment variable to localhost. This prevents remote hosts from connecting to the proxy display. + Display of a standardized and approved use notification before granting access to the operating system ensures privacy and security notification verbiage used is consistent with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance. + +For U.S. Government systems, system use notifications are required only for access via login interfaces with human users and are not required when such human interfaces do not exist. + +Satisfies: SRG-OS-000023-GPOS-00006, SRG-OS-000228-GPOS-00088 - + @@ -24193,7 +23769,7 @@ Owners of inactive accounts will not notice if unauthorized access to their user - + RHEL-09-411075 - RHEL 9 must automatically lock an account when three unsuccessful logon attempts occur. @@ -24204,7 +23780,7 @@ Owners of inactive accounts will not notice if unauthorized access to their user Satisfies: SRG-OS-000329-GPOS-00128, SRG-OS-000021-GPOS-00005 - + @@ -24221,7 +23797,7 @@ Satisfies: SRG-OS-000329-GPOS-00128, SRG-OS-000021-GPOS-00005 - + RHEL-09-411085 - RHEL 9 must automatically lock an account when three unsuccessful logon attempts occur during a 15-minute time period. @@ -24232,7 +23808,7 @@ Satisfies: SRG-OS-000329-GPOS-00128, SRG-OS-000021-GPOS-00005 Satisfies: SRG-OS-000329-GPOS-00128, SRG-OS-000021-GPOS-00005 - + @@ -24261,7 +23837,7 @@ Satisfies: SRG-OS-000329-GPOS-00128, SRG-OS-000021-GPOS-00005 - + RHEL-09-411105 - RHEL 9 must ensure account lockouts persist. @@ -24270,7 +23846,7 @@ Satisfies: SRG-OS-000329-GPOS-00128, SRG-OS-000021-GPOS-00005 Having lockouts persist across reboots ensures that account is only unlocked by an administrator. If the lockouts did not persist across reboots, an attacker could simply reboot the system to continue brute force attacks against the accounts on the system. - + @@ -24285,62 +23861,6 @@ Satisfies: SRG-OS-000329-GPOS-00128, SRG-OS-000021-GPOS-00005 - - - RHEL-09-412010 - RHEL 9 must have the tmux package installed. - - Red Hat Enterprise Linux 9 - - 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-000030-GPOS-00011, SRG-OS-000028-GPOS-00009 - - - - - - - - RHEL-09-412020 - RHEL 9 must enable a user session lock until that user re-establishes access using established identification and authentication procedures for command line sessions. - - Red Hat Enterprise Linux 9 - - 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 9 must 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. - - - - - - - - RHEL-09-412025 - RHEL 9 must automatically lock command line user sessions after 15 minutes of inactivity. - - Red Hat Enterprise Linux 9 - - A session time-out 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 logout because of the temporary nature of the absence. Rather than relying on the user to manually lock their operating system session prior to vacating the vicinity, tmux can be configured to identify when a user's session has idled and take action to initiate a session lock. - -Satisfies: SRG-OS-000029-GPOS-00010, SRG-OS-000031-GPOS-00012 - - - - - - - - RHEL-09-412030 - RHEL 9 must prevent users from disabling session control mechanisms. - - Red Hat Enterprise Linux 9 - - 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 9 must 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. - -Satisfies: SRG-OS-000324-GPOS-00125, SRG-OS-000028-GPOS-00009 - - - - - RHEL-09-412035 - RHEL 9 must automatically exit interactive command shell user sessions after 15 minutes of inactivity. @@ -24850,22 +24370,6 @@ The DOD minimum password requirement is 15 characters. - - - RHEL-09-611095 - RHEL 9 passwords for new users must have a minimum of 15 characters. - - Red Hat Enterprise Linux 9 - - The shorter the password, the lower the number of possible combinations that need to be tested before the password is compromised. - -Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password length is one factor of several that helps to determine strength and how long it takes to crack a password. Use of more characters in a password helps to increase exponentially the time and/or resources required to compromise the password. - -The DOD minimum password requirement is 15 characters. - - - - - RHEL-09-611100 - RHEL 9 must enforce password complexity by requiring that at least one special character be used. @@ -24902,7 +24406,7 @@ The DOD minimum password requirement is 15 characters. - + RHEL-09-611115 - RHEL 9 must require the change of at least eight characters when passwords are changed. @@ -24913,7 +24417,7 @@ The DOD minimum password requirement is 15 characters. Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. Requiring a minimum number of different characters during password changes ensures that newly changed passwords will not resemble previously compromised ones. Note that passwords changed on compromised systems will still be compromised. - + @@ -24944,7 +24448,7 @@ Password complexity is one factor of several that determines how long it takes t - + RHEL-09-611130 - RHEL 9 must require the change of at least four character classes when passwords are changed. @@ -24955,7 +24459,7 @@ Password complexity is one factor of several that determines how long it takes t Password complexity is one factor of several that determines how long it takes to crack a password. The more complex a password, the greater the number of possible combinations that need to be tested before the password is compromised. - + @@ -25000,22 +24504,6 @@ Satisfies: SRG-OS-000373-GPOS-00156, SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPO - - - RHEL-09-611150 - RHEL 9 shadow password suite must be configured to use a sufficient number of hashing rounds. - - Red Hat Enterprise Linux 9 - - 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. Passwords that are encrypted with a weak algorithm are no more protected than if they are kept in plain text. - -Using more hashing rounds makes password cracking attacks more difficult. - -Satisfies: SRG-OS-000073-GPOS-00041, SRG-OS-000120-GPOS-00061 - - - - - RHEL-09-611155 - RHEL 9 must not have accounts configured with blank or null passwords. @@ -25262,7 +24750,7 @@ If the system is intended to be a log aggregation server, its use must be docume - + RHEL-09-652030 - All RHEL 9 remote access methods must be monitored. @@ -25271,21 +24759,7 @@ If the system is intended to be a log aggregation server, its use must be docume Logging remote access methods can be used to trace the decrease in the risks associated with remote user access management. It can also be used to spot cyberattacks and ensure ongoing compliance with organizational policies surrounding the use of remote access methods. - - - - - - RHEL-09-652035 - RHEL 9 must be configured to offload audit records onto a different system from the system being audited via syslog. - - Red Hat Enterprise Linux 9 - - The auditd service does not include the ability to send audit records to a centralized server for management directly. However, it can use a plug-in for audit event multiplexor (audispd) to pass audit records to the local syslog server. - -Satisfies: SRG-OS-000342-GPOS-00133, SRG-OS-000479-GPOS-00224 - - - + @@ -26778,60 +26252,6 @@ Satisfies: SRG-OS-000396-GPOS-00176, SRG-OS-000393-GPOS-00173, SRG-OS-000394-GPO - - - RHEL-09-672030 - RHEL 9 must implement DOD-approved TLS encryption in the GnuTLS package. - - Red Hat Enterprise Linux 9 - - Without cryptographic integrity protections, information can be altered by unauthorized users without detection. - -Transport Layer Security (TLS) encryption is a required security setting as a number of known vulnerabilities have been reported against Secure Sockets Layer (SSL) and earlier versions of TLS. Encryption of private information is essential to ensuring data confidentiality. If private information is not encrypted, it can be intercepted and easily read by an unauthorized party. SQL Server must use a minimum of FIPS 140-3 approved TLS version 1.2, and all non-FIPS-approved SSL and TLS versions must be disabled. NIST 800-53 specifies the preferred configurations for government systems. - -Cryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash. - -Satisfies: SRG-OS-000250-GPOS-00093, SRG-OS-000423-GPOS-00187 - - - - - - - - RHEL-09-672035 - RHEL 9 must implement DOD-approved encryption in the OpenSSL package. - - Red Hat Enterprise Linux 9 - - Without cryptographic integrity protections, information can be altered by unauthorized users without detection. - -Remote access (e.g., RDP) is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. - -Cryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash. - -The employed algorithms can be viewed in the /etc/crypto-policies/back-ends/openssl.config file. - - - - - - - - RHEL-09-672040 - RHEL 9 must implement DOD-approved TLS encryption in the OpenSSL package. - - Red Hat Enterprise Linux 9 - - Without cryptographic integrity protections, information can be altered by unauthorized users without detection. - -Remote access (e.g., RDP) is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. - -Cryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash. - -The employed algorithms can be viewed in the /etc/crypto-policies/back-ends/openssl.config file. - - - - - RHEL-09-672050 - RHEL 9 must implement DOD-approved encryption in the bind package. @@ -26850,71 +26270,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - - - SUSE Linux Enterprise Server 12 is installed - - SLES 12 - - - SUSE Linux Enterprise Server 12 is installed - - - - - - - - SUSE Linux Enterprise Server 15 is installed - - SLES 15 - - - SUSE Linux Enterprise Server 15 is installed - - - - - - - - TOSS 4 is installed. - - TOSS 4 - - - TOSS 4 is installed. - - - - - - - - Ubuntu 18.04 LTS is installed - - Ubuntu 18.04 LTS - - - Ubuntu 18.04 LTS (Bionic Beaver) is installed - - - - - - - - Ubuntu 20.04 LTS is installed - - Ubuntu 20.04 LTS - - - Ubuntu 20.04 LTS is installed - - - - - @@ -26946,15 +26301,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - - - - - - - - - @@ -26962,14 +26308,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - - - - - - - - @@ -26988,14 +26326,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - - - - - - - - @@ -27168,23 +26498,23 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - - - + + + - - - - + + + + - - - + + + @@ -27197,24 +26527,10 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - - - - - - - - - - - - - - @@ -27240,6 +26556,14 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 + + + + + + + + @@ -27251,10 +26575,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - - - - @@ -27642,6 +26962,15 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 + + + + + + + + + @@ -27921,6 +27250,10 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 + + + + @@ -28000,6 +27333,12 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 + + + + + + @@ -28129,18 +27468,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - - - - - - - - - - - - @@ -28257,9 +27584,10 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - + + @@ -28270,9 +27598,10 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - + + @@ -28298,11 +27627,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - - - - - @@ -28390,25 +27714,17 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - + - + - - - - - - - - @@ -28416,8 +27732,8 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - - + + @@ -28427,22 +27743,50 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -28512,24 +27856,16 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - - - - - - - - - - - + + + @@ -28583,13 +27919,13 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - + - + - + - + @@ -28612,6 +27948,10 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 + + + + @@ -28703,9 +28043,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - - - @@ -28738,6 +28075,9 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 + + + @@ -28765,9 +28105,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - - - @@ -28804,9 +28141,9 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - + - + @@ -28831,69 +28168,8 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -29049,9 +28325,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - - - @@ -29168,8 +28441,8 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - - + + @@ -29319,14 +28592,38 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 + + + + + + + + - + + + + + + + + + + + + + + + + + @@ -29395,9 +28692,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - - - @@ -29436,6 +28730,44 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^\s*log_file\s*=\s*(\S+)\s*(?:#.*)?$ 1 + + + oval:mil.disa.stig.ind:obj:20000003 + oval:mil.disa.stig.ind:obj:20000004 + + + + + /etc/rsyslog.conf + ^\*\.\*\s+action\((\s*(?:[^#\)]*(?:#.*$)?\n)*[^#\)]*)\) + 1 + + + + /etc/rsyslog.d + ^.*\.conf$ + ^\*\.\*\s+action\((\s*(?:[^#\)]*(?:#.*$)?\n)*[^#\)]*)\) + 1 + + + + oval:mil.disa.stig.ind:obj:20000006 + oval:mil.disa.stig.ind:obj:20000007 + + + + + /etc/rsyslog.conf + ^\s*module\((\s*(?:[^#\)]*(?:#.*$)?\n)*[^#\)]*)\) + 1 + + + + /etc/rsyslog.d + ^.*\.conf$ + ^\s*module\((\s*(?:[^#\)]*(?:#.*$)?\n)*[^#\)]*)\) + 1 + /etc/libuser.conf ^\[defaults]((?:\r?\n(?:[^[\r\n].*)?)*) @@ -29446,11 +28778,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^\s*crypt_style\s*=\s*(\S+)\s*$ 1 - - /etc/ssh/sshd_config - ^\s*(?i)UsePrivilegeSeparation(?-i)[ \t]+([\w\"]+)[\s]*(?:|(?:#.*))?$ - 1 - /etc/sysctl.d ^.*\.conf$ @@ -29463,21 +28790,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^\s*net\.ipv4\.conf\.default\.rp_filter\s*=\s*(\d+)\s*$ 1 - - /etc/rsyslog.conf - ^[ \t]*(?:\S+;auth\.\*|auth\.\*;\S+|auth\.\*|\S+;auth\.\*;\S+)[ \t]+\S+\s*$ - 1 - - - /etc/rsyslog.conf - ^[ \t]*(?:\S+;authpriv\.\*|authpriv\.\*;\S+|authpriv\.\*|\S+;authpriv\.\*;\S+)[ \t]+\S+\s*$ - 1 - - - /etc/rsyslog.conf - ^[ \t]*(?:\S+;daemon\.\*|daemon\.\*;\S+|daemon\.\*|\S+;daemon\.\*;\S+)[ \t]+\S+\s*$ - 1 - /etc/login.defs ^\s*ENCRYPT_METHOD\s+([^#\r\n]*) @@ -29495,16 +28807,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 oval:mil.disa.stig.ind:ste:23023201 - - /etc/login.defs - ^\s*SHA_CRYPT_MIN_ROUNDS\s+(\d+)\b - 1 - - - /etc/login.defs - ^\s*SHA_CRYPT_MAX_ROUNDS\s+(\d+)\b - 1 - /usr/lib/systemd/system rescue.service @@ -29532,16 +28834,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^\s*(?i)ClientAliveCountMax(?-i)\s+"?(\d+)"?\s*(?:|(?:#.*))?$ 1 - - /etc/crypto-policies/back-ends/opensslcnf.config - ^\s*TLS\.MinProtocol\s*=\s*([\.\w]+)\s*(?:#.*)?$ - 1 - - - /etc/crypto-policies/back-ends/opensslcnf.config - ^\s*DTLS\.MinProtocol\s*=\s*([\.\w]+)\s*(?:#.*)?$ - 1 - /etc/yum.repos.d \.repo$ @@ -29852,12 +29144,12 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^(?i)\s*PermitUserEnvironment\s+(\w+)$ 1 - + /etc/security/faillock.conf ^\s*deny\s*=\s*([\d]+)\s*$ 1 - + /etc/security/faillock.conf ^\s*fail_interval\s*=\s*([\d]+)\s*$ 1 @@ -29867,7 +29159,7 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^\s*unlock_time\s*=\s*([\d]+)\s*$ 1 - + /etc/security/faillock.conf ^\s*dir\s*=\s*(\S+)\s*(?:#.*)?$ 1 @@ -29911,32 +29203,12 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^\s*[^#*\s]+\s+(?:(?:hard)|(?:-))\s+maxlogins\s+(\d+)\s*$ 1 - - /etc/tmux.conf - ^\s*set\s+-g\s+lock-command\s+vlock\s*(?:#.*)?$ - 1 - - - /etc/tmux.conf - ^\s*bind\s+X\s+lock-session\s*(?:#.*)?$ - 1 - - - /etc/shells - ^.*tmux$ - 1 - .* ^\[org/gnome/settings-daemon/peripherals/smartcard](?:\r?\n(?:[^[\r\n].*)?)* 1 - - /etc/tmux.conf - ^\s*(?:set|set-option)\s+-g\s+lock-after-time\s+(\d+)\s*(?:#.*)?$ - 1 - /etc/pam.d/password-auth ^\s*password\s+(?:required|requisite)\s+pam_pwquality\.so\b @@ -30032,11 +29304,42 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^\s*maxrepeat\s*=\s*(-?\d*)\s*(?:#.*)?$ 1 + + + oval:mil.disa.stig.ind:obj:23036201 + oval:mil.disa.stig.ind:obj:23036202 + + /etc/security/pwquality.conf ^\s*minclass\s*=\s*(-?\d*)\s*(?:#.*)?$ 1 + + + /etc/security/pwquality.conf.d + \.conf$ + ^\s*minclass\s*=\s*(-?\d*)\s*(?:#.*)?$ + 1 + + + + oval:mil.disa.stig.ind:obj:23036301 + oval:mil.disa.stig.ind:obj:23036302 + + + + /etc/security/pwquality.conf + ^\s*difok\s*=\s*(-?\d*)\s*(?:#.*)?$ + 1 + + + + /etc/security/pwquality.conf.d + \.conf$ + ^\s*difok\s*=\s*(-?\d*)\s*(?:#.*)?$ + 1 + /etc/shadow ^root:[^:]*:[^:]*:0*: @@ -30075,11 +29378,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^\s*minlen\s*=\s*(-?\d*)\s*(?:#.*)?$ 1 - - /etc/login.defs - ^\s*PASS_MIN_LEN\s+(\d+)\s*$ - 1 - /etc/default/useradd (?i)^\s*INACTIVE\s*=\s*(-?\d+)\s*$ @@ -30289,14 +29587,14 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^\s*-w\s+/etc/sudoers(\s+-p\s*([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*))?(\s+(-k\s+|-F\s+key=)\w+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-w\s+/etc/sudoers.d/(\s+-p\s*([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*))?(\s+(-k\s+|-F\s+key=)[\w-]+)?\s*$ + ^\s*-w\s+/etc/sudoers.d/?(\s+-p\s*([rx]*w[rx]*a[rx]*|[rx]*a[rx]*w[rx]*))?(\s+(-k\s+|-F\s+key=)[\w-]+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/su\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/su\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 @@ -30319,94 +29617,94 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+setxattr\s+|(\s+|,)setxattr(\s+|,))).*-F\s+auid=0(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/chage\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/chage\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=\/usr\/bin\/chcon\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=\/usr\/bin\/chcon\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/ssh-agent\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/ssh-agent\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/passwd\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/passwd\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/mount\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/mount\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/umount\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/umount\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/unix_update\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/unix_update\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/postdrop\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/postdrop\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/postqueue\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/postqueue\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/semanage\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/semanage\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/setfiles\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/setfiles\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/userhelper\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/userhelper\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/setsebool\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/setsebool\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/unix_chkpwd\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/unix_chkpwd\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/libexec/openssh/ssh-keysign\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/libexec/openssh/ssh-keysign\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/setfacl\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/setfacl\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/pam_timestamp_check\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/pam_timestamp_check\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/newgrp\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/newgrp\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 @@ -30429,9 +29727,9 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+finit_module\s+|(\s+|,)finit_module(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/gpasswd\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/gpasswd\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 @@ -30444,14 +29742,14 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+delete_module\s+|(\s+|,)delete_module(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/crontab\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/crontab\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/chsh\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/chsh\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 @@ -30644,24 +29942,24 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+fchmodat\s+|(\s+|,)fchmodat(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/sudo\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/sudo\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/usermod\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/usermod\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/chacl\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/chacl\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/kmod\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/kmod\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 @@ -31275,9 +30573,9 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 oval:mil.disa.stig.ind:obj:23764301 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/bin/sudoedit\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/bin/sudoedit\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 @@ -31302,6 +30600,12 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 (?:^|.*\n)\s*net\.ipv4\.tcp_syncookies\s*=\s*(\d+)\s*$ 1 + + /etc/dconf/db/local.d + .* + ^\s*banner-message-enable\s*=\s*(\w+)$ + 1 + /usr/lib/systemd/system/emergency.service ^ExecStart=(.*)$ @@ -31464,6 +30768,16 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+unlink\s+|(\s+|,)unlink(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ 1 + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+unlinkat\s+|(\s+|,)unlinkat(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 + + + /etc/audit/audit.rules + ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+unlinkat\s+|(\s+|,)unlinkat(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ + 1 + /etc/audit/audit.rules ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+fsetxattr\s+|(\s+|,)fsetxattr(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ @@ -31856,13 +31170,13 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^\s*include\s+(.*)\s*$ 1 - - /etc/crypto-policies/back-ends/openssh.config + + /etc/crypto-policies/back-ends/opensshserver.config ^\s*(?i)Ciphers(?-i)[ \t]+(\S+)[\s]*(?:|(?:#.*))?$ 1 - - /etc/crypto-policies/back-ends/openssh.config + + /etc/crypto-policies/back-ends/opensshserver.config ^\s*MACs\s+(\S+)\s*$ 1 @@ -31970,19 +31284,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^\s*(?i)PrintLastLog(?-i)[ \t]+([\w\"]+)[\s]*(?:|(?:#.*))?$ 1 - - - oval:mil.disa.stig.ind:obj:20460100 - oval:mil.disa.stig.ind:obj:25801001 - - - - - /etc/ssh/sshd_config.d - ^.+\.conf$ - ^\s*(?i)UsePrivilegeSeparation(?-i)[ \t]+([\w\"]+)[\s]*(?:|(?:#.*))?$ - 1 - .* @@ -32162,11 +31463,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^\s*enforce_for_root\s*(?:#.*)?$ 1 - - /etc/security/pwquality.conf - ^\s*difok\s*=\s*(-?\d*)\s*(?:#.*)?$ - 1 - /etc/pam.d/sudo ^\s*[^#\n]*\bpam_succeed_if\b @@ -32182,6 +31478,19 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^\s*pam_cert_auth\s*=\s*(.*)\s*$ 1 + + + /etc/sssd/conf.d + .+ + ^\s*pam_cert_auth\s*=\s*(.*)\s*$ + 1 + + + + oval:mil.disa.stig.ind:obj:25812200 + oval:mil.disa.stig.ind:obj:25812201 + + /etc/sssd/sssd.conf ^\s*certificate_verification\s*=\s*(.*)\s*$ @@ -32218,9 +31527,55 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 1 - - /etc/audit/plugins.d/syslog.conf - ^\s*active\s*=\s*(\w+)\s*$ + + + oval:mil.disa.stig.ind:obj:25814403 + oval:mil.disa.stig.ind:obj:25814406 + + + + + oval:mil.disa.stig.ind:obj:25814404 + oval:mil.disa.stig.ind:obj:25814407 + + + + + oval:mil.disa.stig.ind:obj:25814405 + oval:mil.disa.stig.ind:obj:25814408 + + + + /etc/rsyslog.conf + ^[ \t]*(?:\S+;auth\.\*|auth\.\*;\S+|auth\.\*|\S+;auth\.\*;\S+)[ \t]+\S+\s*$ + 1 + + + /etc/rsyslog.conf + ^[ \t]*(?:\S+;authpriv\.\*|authpriv\.\*;\S+|authpriv\.\*|\S+;authpriv\.\*;\S+)[ \t]+\S+\s*$ + 1 + + + /etc/rsyslog.conf + ^[ \t]*(?:\S+;daemon\.\*|daemon\.\*;\S+|daemon\.\*|\S+;daemon\.\*;\S+)[ \t]+\S+\s*$ + 1 + + + /etc/rsyslog.d + ^.*\.conf$ + ^[ \t]*(?:\S+;auth\.\*|auth\.\*;\S+|auth\.\*|\S+;auth\.\*;\S+)[ \t]+\S+\s*$ + 1 + + + /etc/rsyslog.d + ^.*\.conf$ + ^[ \t]*(?:\S+;authpriv\.\*|authpriv\.\*;\S+|authpriv\.\*|\S+;authpriv\.\*;\S+)[ \t]+\S+\s*$ + 1 + + + /etc/rsyslog.d + ^.*\.conf$ + ^[ \t]*(?:\S+;daemon\.\*|daemon\.\*;\S+|daemon\.\*|\S+;daemon\.\*;\S+)[ \t]+\S+\s*$ 1 @@ -32308,24 +31663,24 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 (?i)^\s*write_logs\s*=\s*(\w+)\s*(?:#.*)?$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/init\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/init\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/poweroff\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/poweroff\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/reboot\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/reboot\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 - + /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+path=/usr/sbin/shutdown\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ + ^\s*-a\s+(always,exit|exit,always)(?:\s+-S\s+all)?\s+-F\s+path=/usr/sbin/shutdown\s+(-F\s+perm=([rwa]*x[rwa]*)\s+)?-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)\S+)?\s*$ 1 @@ -32369,27 +31724,17 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^\s*include\s+(.*)\s*$ 1 - - /etc/crypto-policies/config - ^([^:#\r\n]+)(?::[^#\r\n]*)?(?:#[^\r\n]*)?$ - 1 - - - /etc/pki/tls/openssl.cnf - ^\s*\.include\s*=\s*/etc/crypto-policies/back-ends/opensslcnf\.config\s*(?:#.*)?$ - 1 - /etc/named.conf ^\s*include\s+"(.*)"\s*;\s*$ 1 - - toss-release - gnome-shell + + gnome-shell + ypserv @@ -32466,6 +31811,10 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 rsh-server + + autofs.service + ActiveState + firewalld @@ -32532,9 +31881,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 /boot/efi - - tmux - fapolicyd.service ActiveState @@ -32567,6 +31913,9 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 s-nail + + autofs + .*\/home @@ -32620,7 +31969,7 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 opensc - + rsyslog.service ActiveState @@ -32647,80 +31996,9 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 libreswan - - oraclelinux-release - - - oraclelinux-release - - - redhat-release-client - - - redhat-release-workstation - - - redhat-release-server - - - redhat-release-computenode - - - redhat-release-virtualization-host - - - /etc/redhat-release - ^Red Hat Enterprise Linux release (\d)\.\d+$ - 1 - - - /etc - os-release - ^\s*CPE_NAME="cpe:/o:redhat:enterprise_linux:(\d+)\b - 1 - - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b32\s+(?:.*(-S\s+unlinkat\s+|(\s+|,)unlinkat(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ - 1 - - - /etc/audit/audit.rules - ^\s*-a\s+(always,exit|exit,always)\s+-F\s+arch=b64\s+(?:.*(-S\s+unlinkat\s+|(\s+|,)unlinkat(\s+|,))).*-F\s+auid>=1000\s+-F\s+auid!=(4294967295|-1|unset)(\s+(-k\s+|-F\s+key=)[-\w]+)*\s*$ - 1 - - - /etc - os-release - ^CPE_NAME="cpe:/o:suse:sles:12:?[^"]*"$ - 1 - - - /etc - os-release - ^CPE_NAME="cpe:/o:suse:sles:15:?[^"]*"$ - 1 - - - /etc - lsb-release - ^.*Ubuntu.*\nDISTRIB_RELEASE=(\d{1,2}\.\d{1,2})$ - 1 - - - /etc - lsb-release - ^.*Ubuntu.*\nDISTRIB_RELEASE=(\d{1,2}\.\d{1,2})$ - 1 - - - /boot/efi/EFI/redhat/grub.cfg - - - /etc/grub2-efi.cfg - - - /boot/grub2/grub.cfg + + /sys/firmware/efi + net.ipv6.conf.all.disable_ipv6 @@ -32913,10 +32191,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - - ^(/usr)?/sbin/automount.* - 1 - /etc/systemd/system/ctrl-alt-del.target @@ -33011,10 +32285,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 /boot/grub2/grub.cfg - - /etc/cron.* - - .* oval:mil.disa.stig.unix:ste:25789000 @@ -33125,6 +32395,16 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 /etc/ssh/sshd_config + + + /etc/ssh/sshd_config.d + + + + + /etc/ssh/sshd_config.d + .* + /etc/dconf/db @@ -33187,9 +32467,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 /etc/crypto-policies/back-ends/openssl.config - - /etc/crypto-policies/config - /var/lib/aide/aide.db.gz @@ -33273,8 +32550,11 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 077 - - 900 + + 600 + + + (?i)(?:^|\n)[^#]*\btype\s*=\s*"omfwd" \n\s*crypt_style\s*=\s*(\S*)\s*(\n|$) @@ -33282,9 +32562,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 sha512 - - ^(sandbox|"sandbox")$ - SHA512 @@ -33294,21 +32571,12 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^[$][6] - - 5000 - 0 enforcing - - TLSv1\.[2|3] - - - DTLSv1\.[2|3] - \n\s*gpgcheck\s*=\s*(True|1|yes)\s*(\n|$) @@ -33357,16 +32625,13 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 2 - + 3 - + 900 - - 0 - - + /var/log/faillock @@ -33375,15 +32640,18 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 \nremoval-action='lock-screen'\s*(\n|$) - - 900 - 4 3 + + 4 + + + 8 + 1 @@ -33444,6 +32712,12 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 LinuxAudit + + (?i)(?:^|\n)[^#]*\bStreamDriver\.?Mode\s*=\s*"1" + + + (?i)(?:^|\n)[^#]*\bStreamDriver\.?Mode\b + 25% @@ -33513,6 +32787,9 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^pam_pwquality.so(\s|$) + + ^(delayed|"delayed")$ + 900 @@ -33531,15 +32808,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 1 - - (^|,)sec=[^,]+(,|$) - - - (^|,)sec=([^:,]*:)?krb5[pi]?(:|,|$) - - - (^|,)sec=([^:,]*:)?sys(:|,|$) - (^|,)nodev(,|$) @@ -33567,14 +32835,17 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 /etc/ssh/sshd_config.d/*.conf - - aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes128-gcm@openssh.com,aes128-ctr + + aes256-gcm@openssh.com,aes256-ctr,aes128-gcm@openssh.com,aes128-ctr - - "aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes128-gcm@openssh.com,aes128-ctr" + + "aes256-gcm@openssh.com,aes256-ctr,aes128-gcm@openssh.com,aes128-ctr" - - hmac-sha2-256-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha1,umac-128@openssh.com,hmac-sha2-512 + + hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha2-512 + + + "hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha2-512" 600 @@ -33594,8 +32865,8 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 '' - - \ndisable-restart-buttons='true'\s*(\n|$) + + \ndisable-restart-buttons=(true|'true')\s*(\n|$) 60 @@ -33606,14 +32877,8 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - - 5000 - - - 8 - - - 4 + + 100000 (?i)\bcac\b @@ -33627,12 +32892,27 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 x509/name + + (?i)(?:^|\n)[^#]*\bStreamDriver\.?AuthMode\s*=\s*"x509/name" + + + (?i)(?:^|\n)[^#]*\bStreamDriver\.?AuthMode\b + gtls + + (?i)(?:^|\n)[^#]*\bStreamDriver(?:\.Name)?\s*=\s*"gtls" + + + (?i)(?:^|\n)[^#]*\bStreamDriver(?:\.Name)?\b + ^.+$ + + (?i)(?:^|\n)[^#]*\bprotocol\s*=\s*"tcp" + 10737418240 @@ -33657,15 +32937,9 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 /etc/ipsec.d/*.conf - - FIPS - /etc/crypto-policies/back-ends/bind.config - - ^4\.\d+$ - noexec @@ -33693,12 +32967,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 ^/dev\S*$ - - masked - - - masked - nosuid @@ -33708,39 +32976,6 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 active - - active - - - ^7\.\d+$ - - - ^8\.\d+$ - - - ^7.*$ - - - ^7.*$ - - - ^7.*$ - - - ^7.*$ - - - 7 - - - 8 - - - 18.04 - - - 20.04 - false false @@ -33970,8 +33205,8 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 1000 - - /sbin/nologin + + /sbin/nologin|/usr/sbin/nologin 1000 @@ -34313,13 +33548,19 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - + ^\s*\$ModLoad\s+imtcp ^\s*\$ModLoad\s+imudp ^\s*\$ModLoad\s+imrelp ^\s*\$InputTCPServerRun ^\s*\$UDPServerRun ^\s*\$InputRELPServerRun + ^\s*module\s*\(.*\bload\s*=\s*"imtcp".*\) + ^\s*module\s*\(.*\bload\s*=\s*"imudp".*\) + ^\s*module\s*\(.*\bload\s*=\s*"imrelp".*\) + ^\s*input\s*\(.*\btype\s*=\s*"imtcp".*\) + ^\s*input\s*\(.*\btype\s*=\s*"imudp".*\) + ^\s*input\s*\(.*\btype\s*=\s*"imrelp".*\) @@ -34370,12 +33611,12 @@ Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190 - + - Security Content Tool 0.7.1-SNAPSHOT + Security Content Tool 1.2.0 5.11 - 2024-07-03T03:54:05 + 2025-12-31T10:20:26