What changed in Red Hat Enterprise Linux 9 STIG V2R10V2R10 changes

Red Hat Enterprise Linux 9 STIG V2R10 (2026-09-30) replaced V2R9 (2026-07-01): 2 checks added, 2 removed, 53 updated. It has 445 checks, against 445 in V2R9.

  • 2 added
  • 2 removed
  • 53 updated

Updated fields: Discussion 30Check text 26Fix text 24Title 13Rule version 1

Added in V2R10 (2)

  • V-288832CAT IIRHEL 9 must audit all uses of the useradd command.
  • V-288833CAT IRHEL 9 must implement DoW-approved encryption in the OpenSSL package.

Removed since V2R9 (2)

  • V-257829CAT IIRHEL 9 must not have the ypserv package installed.
  • V-257836CAT IIRHEL 9 must not have the quagga package installed.

Updated in V2R10 (53)

V-257779CAT IIRHEL 9 must display the Standard Mandatory DoW Notice and Consent Banner before granting local or remote access to the system via a command line user logon.Title, Check text, Fix text

Title

RHEL 9 must display the Standard Mandatory DODoW Notice and Consent Banner before granting local or remote access to the system via a command line user logon.

Check text

Verify RHEL 9 displays the Standard Mandatory DODDoW Notice and Consent Banner before granting access to the operating system via a command line user logon. Check that a banner is displayed at the command line login screen with the following command: $ sudo cat /etc/issue If the banner is set correctly it will return the following text: "You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." If the banner text does not match the Standard Mandatory DODDoW Notice and Consent Banner exactly, or the line is commented out, this is a finding.

Fix text

Configure RHEL 9 to display the Standard Mandatory DODDoW Notice and Consent Banner before granting access to the system via command line logon. Edit the "/etc/issue" file to replace the default text with the Standard Mandatory DODDoW Notice and Consent Banner. The DODDoW-required text is: "You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests -- not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details."

V-257784CAT IThe systemd Ctrl-Alt-Delete burst key sequence in RHEL 9 must be disabled.Fix text

Fix text

Configure RHEL 9 to disable the CtrlAltDelBurstAction by adding it to a drop file in a "/etc/systemd/system.conf.d/" configuration file: If no drop file exists, create one with the following command: $ sudo mkdir -p /etc/systemd/system.conf.d && sudo vi /etc/systemd/system.conf.d/55-CtrlAltDel-BurstAction.conf Edit the file to contain the setting by adding the following text: [Manager] CtrlAltDelBurstAction=none Reload the daemon for this change to take effect. $ sudo systemctl daemon-reload

V-257787CAT IIRHEL 9 must require authentication upon booting into single-user and maintenance modes.Title, Check text, Discussion

Title

RHEL 9 must require a boot loader superuser password.RHEL 9 must require authentication upon booting into single-user and maintenance modes.

Check text

Note:Verify Forthat systemsRHEL that9 userequires UEFI,a thispassword isfor notthe applicableGRUB 2 bootloader to prevent unauthorized modifications to boot parameters. VerifyCheck the bootunified loaderconfiguration superuserfile passwordwhere hasthe beenGRUB set2 withpassword theis following commandstored: $# sudo grep password_pbkdf2-iw "GRUB2_PASSWORD" /etcboot/grub2/user.cfg password_pbkdf2 &ltsuperusers-accountname> ${GRUB2_PASSWORD} =grub.pbkdf2.sha512.[password_hash] ToIf verify the boot"GRUB2_PASSWORD" loaderentry superuserdoes accountnot passwordexist, hasis beencommented setout, andor if the passwordhash encrypteddoes not begin with "grub.pbkdf2.sha512", runthis theis followinga command:finding. $Note sudofor catupgraded systems: If the system was upgraded from an early release of RHEL 8 to RHEL 9, legacy configurations might still reside in the EFI partition. If "/boot/grub2/user.cfg" does not exist, verify the legacy path: # grep -iw "GRUB2_PASSWORD=grub" /boot/efi/EFI/redhat/user.pbkdf2.sha512.10000.C4E08AC72FBFF7E837FD267BFAD7AEB3D42DDCcfg 2C99F2A94DD5E2E75C2DC331B719FE55D9411745F82D1B6CFD9E927D61925F9BBDD1CFAA0080E0 916F7AB46E0D.1302284FCCC52CD73BA3671C6C12C26FF50BA873293B24EE2A96EE3B57963E6D7 0C83964B473EC8F93B07FE749AA6710269E904A9B08A6BBACB00A2D242AD828 If athe "GRUB2_PASSWORD" entry does not exist in either location, is commented out, or does not setbegin with "grub.pbkdf2.sha512", this is a finding.

Discussion

To mitigate the risk of unauthorized access to sensitive information by entities that have been issued certificates by DODDoW-approved PKIs, all DODDoW 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. Password protection on the boot loader configuration ensures users with physical access cannot trivially alter important bootloader settings. These include which kernel to use, and whether to enter single-user mode.

V-257797CAT IIRHEL 9 must restrict access to the kernel message buffer.Discussion

Discussion

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 DODDoW 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 nonprivileged user. The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographical order, regardless of the directories in which they reside. 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-000132-GPOS-00067, SRG-OS-000138-GPOS-00069

V-257798CAT IIRHEL 9 must prevent kernel profiling by nonprivileged users.Discussion

Discussion

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 DODDoW 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 nonprivileged user. The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographical order, regardless of the directories in which they reside. 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-000132-GPOS-00067, SRG-OS-000138-GPOS-00069

V-257820CAT IRHEL 9 must check the GPG signature of software packages originating from external software repositories before installation.Check text, Fix text

Check text

Verify thatRHEL 9 dnf always checks the GPG signature of software packages originating from external software repositories before installation with the following command: $ sudo grep -w gpgcheck /etc/dnf/dnf.conf gpgcheck=1 If "gpgcheck" is not set to either "1", "true", or "yes" (keywords containing letters are case insensitive), or if the option is missing or commented out, ask the system administrator (SA) how the GPG signatures of software packages are being verified. If there is no process to verify GPG signatures thathas isbeen approved by the organization, this is a finding.

Fix text

Configure RHEL 9 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: gpgcheck=1 Note: Any of the following are acceptable: "1", "true", or "yes" (keywords containing letters are case insensitive).

V-257821CAT IRHEL 9 must check the GPG signature of locally installed software packages before installation.Check text, Fix text

Check text

Verify thatRHEL 9 dnf always checks the GPG signature of locally installed software packages before installation with the following command: $ sudo grep localpkg_gpgcheck /etc/dnf/dnf.conf localpkg_gpgcheck=1 If "localpkg_gpgcheck" is not set to either "1", "true", or "yes" (keywords containing letters are case insensitive), or if the option is missing or commented out, ask the system administrator how the GPG signatures of local software packages are being verified. If there is no process to verify GPG signatures thathas isbeen approved by the organization, this is a finding.

Fix text

Configure RHEL 9 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: localpkg_gpgcheck=1 Note: Any of the following are acceptable: "1", "true", or "yes" (keywords containing letters are case insensitive).

V-257822CAT IRHEL 9 must have GPG signature verification enabled for all software repositories.Check text, Fix text

Check text

Verify allRHEL 9 software repositories defined in "/etc/yum.repos.d/" have been configured with "gpgcheck" enabled with the following command: $ sudo grep -w gpgcheck /etc/yum.repos.d/*.repo | more /etc/yum.repos.d/redhat.repo:gpgcheck = 1 ForIf all"gpgcheck" listedfor repos,software ifpackages "gpgcheck"and repositories is not set to either "1", "true", or "yes" (keywords containing letters are case insensitive), or if the option is missing or commented out, ask the system administrator how the GPG signatures of local software packages are being verified. If there is no process to verify GPG signatures thathas isbeen approved by the organization, this is a finding.

Fix text

Configure allRHEL 9 software repositories defined in "/etc/yum.repos.d/" to have "gpgcheck" enabled with the following command: $ sudo sed -i 's/gpgcheck1s*=.*/gpgcheck=1/g' /etc/yum.repos.d/* Note: Any of the following are acceptable: "1", "true", or "yes" (keywords containing letters are case insensitive).

V-257824CAT IIIRHEL 9 must remove all software components after updated versions have been installed.Check text, Fix text

Check text

Verify RHEL 9 removes all software components after updated versions have been installed with the following command: $ sudo grep -i clean_requirements_on_remove /etc/dnf/dnf.conf clean_requirements_on_remove=True If "clean_requirements_on_remove" is not set to either "True1", "true", or "yes" (keywords containing letters are case insensitive), this is a finding.

Fix text

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=True Note: Any of the following are acceptable: "1", "true", or "yes" (keywords containing letters are case insensitive).

V-257838CAT IIRHEL 9 must have the openssl-pkcs11 package installed.Discussion

Discussion

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 DODDoW common access card (CAC) with DODDoW-approved PKI is an example of multifactor authentication. Satisfies: SRG-OS-000105-GPOS-00052, SRG-OS-000375-GPOS-00160, SRG-OS-000376-GPOS-00161, SRG-OS-000377-GPOS-00162

V-257849CAT IIThe RHEL 9 file system automounter must be disabled.Title, Check text, Fix text, Discussion

Title

The RHEL 9 file system automounter function must be disabled unless required.

Check text

Note: If the autofs service is not installed, this requirement is Not Applicable. Verify that the RHEL 9 file system automount function has been disabled and masked with the following command: $ $ systemctl is-enabled autofs masked If the returned value is not "masked", "disabled", or "Failed to get unit file state for autofs.service for autofs" and is not documented as an operational requirement with the information system security officer (ISSO)-found", this is a finding.

Fix text

Configure RHEL 9 to disable and mask the ability to automount devices. The "autofs" service can be disabled with the following command: $ sudo systemctl mask --now autofs.service

Discussion

AnWithout authenticationidentifying processdevices, resistsunidentified replayor attacksunknown ifdevices itmay isbe impracticalintroduced, tothereby achievefacilitating amalicious successfulactivity. Peripherals authenticationinclude, bybut recordingare andnot replayinglimited ato, previousdevices authenticationsuch messageas flash drives, external storage, and printers. Satisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163, SRG-OS-000480-GPOS-00227

V-257929CAT IIA sticky bit must be set on all RHEL 9 public directories.Discussion

Discussion

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 DODDoW or other government agencies.

V-257935CAT IIRHEL 9 must have the firewalld package installed.Discussion

Discussion

"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 DODDoW 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. RHEL 9 functionality (e.g., SSH) 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). Satisfies: SRG-OS-000096-GPOS-00050, SRG-OS-000297-GPOS-00115, SRG-OS-000298-GPOS-00116, SRG-OS-000480-GPOS-00227, SRG-OS-000480-GPOS-00232

V-257936CAT IIThe firewalld service on RHEL 9 must be active.Discussion

Discussion

"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 DODDoW 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 9 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). Satisfies: SRG-OS-000096-GPOS-00050, SRG-OS-000297-GPOS-00115, SRG-OS-000480-GPOS-00227, SRG-OS-000480-GPOS-00232

V-257937CAT IIThe RHEL 9 firewall must employ a deny-all, allow-by-exception policy for allowing connections to other systems.Discussion

Discussion

Failure to restrict network connectivity only to authorized systems permits inbound connections from malicious systems. It also permits outbound connections that may facilitate exfiltration of DODDoW data. RHEL 9 incorporates the "firewalld" daemon, which allows for many different configurations. One of these configurations is zones. Zones can be utilized to a deny-all, allow-by-exception approach. The default "drop" zone will drop all incoming network packets unless it is explicitly allowed by the configuration file or is related to an outgoing network connection.

V-257945CAT IIRHEL 9 must securely compare internal information system clocks at least every 24 hours.Check text, Discussion

Check text

Verify RHEL 9 is securely comparing internal information system clocks at least every 24 hours with an NTP server with the following commands: $ sudo grep maxpoll /etc/chrony.conf server 0.us.pool.ntp.mil iburst maxpoll 16 If the "maxpoll" option is set to a number greater than 16 or the line is commented out, this is a finding. Verify the "chrony.conf" file is configured to an authoritative DODDoW time source by running the following command: $ sudo grep -i server /etc/chrony.conf server 0.us.pool.ntp.mil If the parameter "server" is not set or is not set to an authoritative DODDoW time source, this is a finding.

Discussion

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. Synchronizing internal information system clocks provides uniformity of time stamps for information systems with multiple system clocks and systems connected over a network. Depending on the infrastructure being used the "pool" directive may not be supported. Authoritative time sources include the United States Naval Observatory (USNO) time servers, a time server designated for the appropriate DODDoW network (NIPRNet/SIPRNet), and/or the Global Positioning System (GPS). Satisfies: SRG-OS-000355-GPOS-00143, SRG-OS-000356-GPOS-00144, SRG-OS-000359-GPOS-00146

V-257957CAT IIRHEL 9 must be configured to use TCP syncookies.Discussion

Discussion

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 DODDoW 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 nonprivileged user. The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographical order, regardless of the directories in which they reside. 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-000480-GPOS-00227, SRG-OS-000420-GPOS-00186, SRG-OS-000142-GPOS-00071

V-257960CAT IIRHEL 9 must log IPv4 packets with impossible addresses.Discussion

Discussion

The presence of "martian" packets (which have impossible addresses) as well as spoofed packets, source-routed packets, and redirects could be a sign of nefarious network activity. Logging these packets enables this activity to be detected. 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 DODDoW 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 nonprivileged user. The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographical order, regardless of the directories in which they reside. 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

V-257961CAT IIRHEL 9 must log IPv4 packets with impossible addresses by default.Discussion

Discussion

The presence of "martian" packets (which have impossible addresses) as well as spoofed packets, source-routed packets, and redirects could be a sign of nefarious network activity. Logging these packets enables this activity to be detected. 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 DODDoW 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 nonprivileged user. The sysctl --system command will load settings from all system configuration files. All configuration files are sorted by their filename in lexicographical order, regardless of the directories in which they reside. 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

V-257981CAT IIRHEL 9 must display the Standard Mandatory DoW Notice and Consent Banner before granting local or remote access to the system via a SSH logon.Title, Check text, Fix text

Title

RHEL 9 must display the Standard Mandatory DODoW Notice and Consent Banner before granting local or remote access to the system via a SSH logon.

Check text

Verify any SSH connection to RHEL 9 displays the Standard Mandatory DODDoW Notice and Consent Banner before granting access to the system. Check for the location of the banner file being used with the following command: $ sudo /usr/sbin/sshd -dd 2>&1 | awk '/filename/ {print $4}' | tr -d '1r' | tr '1n' ' ' | xargs sudo grep -iH '^1s*banner' /etc/ssh/sshd_config.d/80-bannerPointer.conf:Banner /etc/issue This command will return the banner keyword and the name of the file that contains the SSH banner (in this case "/etc/issue"). If the line is commented out, this is a finding.

Fix text

Configure RHEL 9 to display the Standard Mandatory DODDoW Notice and Consent Banner before granting access to the system via ssh. 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

V-257983CAT IIRHEL 9 SSHD must accept public key authentication.Discussion

Discussion

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 DODDoW common access card (CAC) with DODDoW-approved PKI is an example of multifactor authentication. Satisfies: SRG-OS-000105-GPOS-00052, SRG-OS-000106-GPOS-00053, SRG-OS-000107-GPOS-00054, SRG-OS-000108-GPOS-00055

V-257989CAT IThe RHEL 9 SSH server must be configured to use only DoW-approved encryption ciphers employing FIPS 140-3 validated cryptographic hash algorithms to protect the confidentiality of SSH server connections.Title, Discussion

Title

The RHEL 9 SSH server must be configured to use only DODDoW-approved encryption ciphers employing FIPS 140-3 validated cryptographic hash algorithms to protect the confidentiality of SSH server connections.

Discussion

Without cryptographic integrity protections, information can be altered by unauthorized users without detection. Remote access (e.g., RDP) is access to DODDoW 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 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.

V-257991CAT IThe 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.Discussion

Discussion

Without cryptographic integrity protections, information can be altered by unauthorized users without detection. Remote access (e.g., RDP) is access to DODDoW 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 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.

V-258012CAT IIRHEL 9 must enable the Standard Mandatory DoW Notice and Consent Banner before granting local or remote access to the system via a graphical user logon.Title, Check text, Fix text

Title

RHEL 9 must displenayble the Standard Mandatory DODoW Notice and Consent Banner before granting local or remote access to the system via a graphical user logon.

Check text

Verify RHEL 9 displaysenables the Standard Mandatory DODDoW Notice and Consent Banner before granting access to the operating system via a graphical user logon. Note: This requirement assumes the use of the RHEL 9 default graphical user interface, the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Determine if the operating system displays a banner at the logon screen with the following command: $ gsettings get org.gnome.login-screen banner-message-enable true If the result is "false", this is a finding.

Fix text

Configure RHEL 9 to displayenable the Standard Mandatory DODDoW Notice and Consent Banner before granting access to the system via a graphical user logon. 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

V-258037CAT IIIRHEL 9 must enable Linux audit logging for the USBGuard daemon.Discussion

Discussion

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. DODDoW has defined the list of events for which RHEL 9 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.

V-258039CAT IIRHEL 9 Bluetooth must be disabled.Discussion

Discussion

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 DODDoW 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. Satisfies: SRG-OS-000095-GPOS-00049, SRG-OS-000300-GPOS-00118

V-258040CAT IIRHEL 9 wireless network adapters must be disabled.Discussion

Discussion

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 DODDoW 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. Satisfies: SRG-OS-000299-GPOS-00117, SRG-OS-000300-GPOS-00118, SRG-OS-000424-GPOS-00188, SRG-OS-000481-GPOS-00481

V-258041CAT IIRHEL 9 user account passwords for new users or password changes must have a 180-day maximum password lifetime restriction in /etc/login.defs.Title, Check text, Fix text

Title

RHEL 9 user account passwords for new users or password changes must have a 6180-day maximum password lifetime restriction in /etc/login.defs.

Check text

Verify that RHEL 9 enforces a 60180-day maximum password lifetime for new user accounts by running the following command: $ sudo grep -i pass_max_days /etc/login.defs PASS_MAX_DAYS 60180 If the "PASS_MAX_DAYS" parameter value is greater than "60180", or commented out, this is a finding.

Fix text

Configure RHEL 9 to enforce a 6180-day maximum password lifetime. Add or modify the following line in the "/etc/login.defs" file: PASS_MAX_DAYS 6180

V-258042CAT IIRHEL 9 user account passwords must have a 180-day maximum password lifetime restriction.Title, Check text, Fix text

Title

RHEL 9 user account passwords must have a 6180-day maximum password lifetime restriction.

Check text

Verify the maximum time period for existing passwords is restricted to 60180 days with the following commands: $ sudo awk -F: '$5 > 60180 {printfprint $1 "%s %d1n", $1, $5}' /etc/shadow $ sudo awk -F: '$5 &lt= 0 {printfprint $1 "%s %d1n", $1, $5}' /etc/shadow If any results are returned that are not associated with a system account, this is a finding.

Fix text

Configure noncompliant accounts to enforce a 6180-day maximum password lifetime restriction. $ sudo passwd -x 6180 [user]

V-258046CAT IIRHEL 9 system accounts must not have an interactive login shell.Check text, Fix text

Check text

Verify that RHEL 9 system accounts mustdo not have an interactive login shell. Run with the following command to list any system account (UID &lt 1000) that has an interactive shell, excluding authorized system utility accounts (root, sync, shutdown, halt): $ $ awk -F: '(($3 > 0 &lt1000& $3 &lt 1000) && $1 !~ /^(halt|sync|shutdown)$/ && $7 !~ /(nologin|false)$/) {print $1 ":" $3 ":" $7}' /etc/passwd root:0:/bin/bash bin:1:/sbin/nologin daemon:2:/sbin/nologin adm:3:/sbin/nologin lp:4:/sbin/nologin IdentifyIf the systemcommand accountsreturns from this listing that do not have a nologin shell. If any system account (other than the root account) has a login shell and it is not documented with the information system security officer (ISSO)output, this is a finding.

Fix text

Configure RHEL 9 so that all noninteractive accounts on the system do not have an interactive shell assigned to them. If the system account needs a shell assigned for mission operations, document the need with the information system security officer (ISSO). Run the following command to disable the interactive shell for a specific noninteractive user account: Replace &ltuser> with the user that has a login shell. $ sudo usermod --shell /usr/sbin/nologin &ltuser> Do not perform the steps in this section on the root account. Doing so will cause the system to become inaccessible.

V-258077CAT IIRHEL 9 must terminate idle user sessions.Check text

Check text

Note: For cloud-hosted systems where "ClientAliveInterval" (V-257996) is configured, this setting is not applicable. Verify RHEL 9 logs out sessions that are idle for 10 minutes with the following command: $ systemd-analyze cat-config systemd/logind.conf | grep StopIdleSessionSec #StopIdleSessionSec=infinity StopIdleSessionSec=600 If "StopIdleSessionSec" is not configured to "600" seconds, this is a finding.

V-258084CAT IIRHEL 9 must require reauthentication when using the "sudo" command.Check text, Fix text

Check text

Verify RHEL 9 requires reauthentication when using the "sudo" command to elevate privileges with the following command: $ sudo grep -ir 'timestamp_timeout' /etc/sudoers /etc/sudoers.d/ /etc/sudoers:Defaults timestamp_timeout=0 If results are returned from more than one file location, this is a finding. If "timestamp_timeout" is set to a value other than "0" (including negative numbernumbers), is commented out, or nois resultsmissing are returnedentirely, this is a finding.

Fix text

Configure RHEL 9 to reauthenticate "sudo"every commandsinvocation afterof the specified"sudo" timeout:command. Add the following line to "/etc/sudoers" or a file in "/etc/sudoers.d": Defaults timestamp_timeout=0 Remove any duplicate definitions.

V-258107CAT IIRHEL 9 passwords must be created with a minimum of 15 characters.Discussion

Discussion

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 9 uses "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, but they will not count toward the total "score" of "minlen". This will enable "minlen" to require a 15-character minimum. The DODDoW minimum password requirement is 15 characters.

V-258116CAT IIRHEL 9 must be configured so that user and group account administration utilities are configured to store only encrypted representations of passwords.Check text

Check text

Note: If the libuser package is not installed, this requirement is Not Applicable. Verify the user and group account administration utilities are configured to store only encrypted representations of passwords with the following command: $ grep crypt_style /etc/libuser.conf crypt_style = sha512 If the "crypt_style" variable is not set to "sha512", is not in the defaults section, is commented out, or does not exist, this is a finding.

V-258122CAT IIRHEL 9 must enable certificate based smart card authentication.Discussion

Discussion

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 DODDoW Common Access Card (CAC) with DODDoW-approved PKI is an example of multifactor authentication. Satisfies: SRG-OS-000375-GPOS-00160, SRG-OS-000105-GPOS-00052

V-258123CAT IIRHEL 9 must implement certificate status checking for multifactor authentication.Discussion

Discussion

Using an authentication device, such as a DODDoW 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 DODDoW CAC. RHEL 9 includes multiple options for configuring certificate status checking, but for this requirement focuses on the System Security Services Daemon (SSSD). By default, SSSD performs Online Certificate Status Protocol (OCSP) checking and certificate verification using a sha256 digest function. Satisfies: SRG-OS-000375-GPOS-00160, SRG-OS-000377-GPOS-00162

V-258126CAT IIRHEL 9 must have the opensc package installed.Discussion

Discussion

The use of PIV credentials facilitates standardization and reduces the risk of unauthorized access. The DODDoW has mandated the use of the common access card (CAC) to support identity management and personal authentication for systems covered under Homeland Security Presidential Directive (HSPD) 12, as well as making the CAC a primary component of layered protection for national security systems. Satisfies: SRG-OS-000375-GPOS-00160, SRG-OS-000376-GPOS-00161

V-258128CAT IIRHEL 9 must require authentication to access emergency mode.Check text, Fix text, Discussion

Check text

Verify RHEL 9 requires authentication for emergency mode with the following command: $ grep sulogin /usr/lib/systemd/system/emergency.service ExecStart=-/usr/lib/systemd/systemd-sulogin-shell emergency If the line is not returned from the default systemd file, use the following command to look for modifications to the emergency.service: $ grep sulogin /etc/systemd/system/emergency.service.d/*.conf If the line is not returned from either location this is a finding. Note: The configuration setting can only be in either the default location, or in the drop in file, not both locations.

Fix text

Configure RHEL 9 to require authentication for emergency mode. Create a directory for supplementary configuration files: $ sudo mkdir /etc/systemd/system/emergency.service.d/ CopyCreate thea original file emergency.service file to the new directory with: $ sudo cp /usr/lib/systemd/system/emergency.service /etc/systemd/system/emergency.service.d/emergency.service.conf Open the new file: $ sudo vi /etc/systemd/system/emergency.service.d/emergency.service.conf Add orthese modifylines theto following line in the new file: [Service] ExecStart= ExecStart=-/usr/lib/systemd/systemd-sulogin-shell emergency Comment out or remove the ExecStart and ExecStartPre lines in /usr/lib/systemd/system/emergency.service as they can only exist in one location. Apply changes to unit files without rebooting the system: $ sudo systemctl daemon-reload

Discussion

To mitigate the risk of unauthorized access to sensitive information by entities that have been issued certificates by DODDoW-approved PKIs, all DODDoW 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. This requirement prevents attackers with physical access from trivially bypassing security on the machine and gaining root access. Such accesses are further prevented by configuring the bootloader password.

V-258129CAT IIRHEL 9 must require authentication to access single-user mode.Check text, Fix text, Discussion

Check text

Verify RHEL 9 requires authentication for single-user mode with the following command: $ grep sulogin /usr/lib/systemd/system/rescue.service ExecStart=-/usr/lib/systemd/systemd-sulogin-shell rescue If the line is not returned from the default systemd file, use the following command to look for modifications to the rescue.service: $ grep sulogin /etc/systemd/system/rescue.service.d/*.conf If the line is not returned from either location this is a finding. Note: The configuration setting can only be in either the default location, or in the drop in file, not both locations.

Fix text

Configure RHEL 9 to require authentication for single-user mode. Create a directory for supplementary configuration files: $ sudo mkdir /etc/systemd/system/rescue.service.d/ CopyCreate thea original file rescue.service file to the new directory with: $ sudo cp /usr/lib/systemd/system/rescue.service /etc/systemd/system/rescue.service.d/rescue.service.conf Open the new file: $ sudo vi etc/systemd/system/rescue.service.d/rescue.service.conf Add thisthese linelines to the new file: [Service] ExecStart= ExecStart=-/usr/lib/systemd/systemd-sulogin-shell rescue Comment out or remove the ExecStart and ExecStartPre lines in /usr/lib/systemd/system/rescue.service as they can only exist in one location. Apply changes to unit files without rebooting the system: $ sudo systemctl daemon-reload

Discussion

To mitigate the risk of unauthorized access to sensitive information by entities that have been issued certificates by DODDoW-approved PKIs, all DODDoW 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. This requirement prevents attackers with physical access from trivially bypassing security on the machine and gaining root access. Such accesses are further prevented by configuring the bootloader password. To modify properties, such as dependencies or timeouts, of a service that is handled by a SysV initscript, do not modify the initscript itself. Instead, create a systemd drop-in configuration file for the service. Then manage this service in the same way as a normal systemd service. For example, to extend the configuration of the network service, do not modify the /etc/rc.d/init.d/network initscript file. Instead, create new directory /etc/systemd/system/network.service.d/ and a systemd drop-in file /etc/systemd/system/network.service.d/my_config.conf. Then, put the modified values into the drop-in file. Note: systemd knows the network service as network.service, which is why the created directory must be called "network.service.d".

V-258131CAT IIRHEL 9, for PKI-based authentication, must validate certificates by constructing a certification path (which includes status information) to an accepted trust anchor.Check text, Fix text

Check text

Note: If the system administrator demonstrates the use of an approved alternate multifactor authentication method, this requirement is not applicable. Verify RHEL 9 for PKI-based authentication has valid certificates by constructing a certification path (which includes status information) to an accepted trust anchor. Check that the system has a valid DOD root CA installed with the following command: $ sudo openssl x509 -text -in /etc/sssd/pki/sssd_auth_ca_db.pem Example output: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha256WithRSAEncryption Issuer: C = US, O = U.S. Government, OU = DoDDoW, OU = PKI, CN = DoD Root CA 3 Validity Not Before: Mar 20 18:46:41 2012 GMT Not After: Dec 30 18:46:41 2029 GMT Subject: C = US, O = U.S. Government, OU = DoDDoW, OU = PKI, CN = DoD Root CA 3 Subject Public Key Info: Public Key Algorithm: rsaEncryption If the root CA file is not a DODDoW-issued certificate with a valid date and installed in the "/etc/sssd/pki/sssd_auth_ca_db.pem" location, this is a finding.

Fix text

Configure RHEL 9, for PKI-based authentication, to validate certificates by constructing a certification path (which includes status information) to an accepted trust anchor. Obtain a valid copy of the DOD root CA file from the PKI CA certificate bundle from cyber.mil and copy the DoD_PKE_CA_chainDoW_PKE_CA_chain.pem into the following file: /etc/sssd/pki/sssd_auth_ca_db.pem

V-258134CAT IIRHEL 9 must have the AIDE package installed.Fix text

Fix text

Install AIDE, initialize it, and perform a manual check. Install AIDE: $ sudo dnf install aide Initialize AIDE: $ sudo /usr/sbin/aide --init Example output: Start timestamp: 20232026-0607-0513 1011:0949:0419 -06000400 (AIDE 0.1619.2) AIDE successfully initialized database. New atAIDE database written to /var/lib/aide/aide.db.new.gz Number of entries: 86833186298 --------------------------------------------------- The attributes of the (uncompressed) database(s): --------------------------------------------------- /var/lib/aide/aide.db.new.gz MD5 SHA256 : coZUtPHhoFoeD7StfQ7hBYTf83ZEBRy7I+k54fUvQufhA4Ewhdpsg 0LOAvlSGddY== SHA1 SHA512 : DVpOEMWJwo0uPgrKZAygIUgSxeMVo8jkWTpcRoBfjf3TFcYqANkbpMaol16 2SjE+6gnWFd5qqM6tQYUZu4TiKCIOqnd SM6thAjSZbsKluqI7aHDNQ== SHA256 STRIBOG256: EQiZH0XNEk001tcDmJaVEslFSImVozED21UckdDaw2hmgVJawCC FT+5STFEjDb4MPErBRof3GA= STRIBOG512: GCm3WUKXA2YRo/zAbFK8gsQBxecLgUlT TGdBJbTlkcEUOP8OKQhFlh4ipbVQhwh9jf/uvZKcfc fidl+HNDHFid62mM/ETmcg== SHA512 /256: 86KUqwcR1SOYUC3oN1R2e4UQlLW/juiZceL5E7 xDbRpCSK++PZhoPK0SZvT3zuFq9yu9nnPPDI= SHA3-256 : GyR262apcKopWo9TOe3zLIfP9YDq7N3/ toei0nENVELJ1LPurjoMlRig6q69VR8l26ZIUpe1xt4= SHA3-512 : r5xi/0GmfLv1SCZ0vb8GDWPNUicp42X7 +44EwO9eYyy9nnbzQsfG1gZVZD8xffjLPl7XgyefAg5VTy2qFTnbuu kq83J3d3cu6eRiAzmcj6zg== End timestamp: 20232026-0607-0513 1011:0949:5750 -06000400 (run time: 0m 53s31s) The new database will need to be renamed to be read by AIDE: $ sudo mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz Perform a manual check: $ sudo /usr/sbin/aide --check Example output: 2023Start timestamp: 2026-0607-0513 1011:1653:0834 -06000400 (AIDE 0.1619.2) AIDE found NO differences between database and filesystem. Looks okay!! ...

V-258150CAT IIRHEL 9 must use cron logging.Check text, Fix text

Check text

Verify that "rsyslog" is configured to log cron events with the following command: Note: If another logging package is used, substitute the utility configuration file for "/etc/rsyslog.conf" or "/etc/rsyslog.d/*.conf" files. $ grep -s "cron.1*" /etc/rsyslog.conf /etc/rsyslog.d/*.conf /etc/rsyslog.conf:*.info;mail.none;authpriv.none;d/99-cron-stig.none /var/log/messages /etc/rsyslog.conf:cron.* action(type="omfile" file="/var/log/cron") If the command does not return a responseline demonstrating logging to "/var/log/cron", checkperform fora functional cron loggingtest. Inject alla facilitiesmessage into the cron logging facility with the following command: $ logger -p local0cron.info "Test message for all facilities.STIG-TEST-CRON-LOGGING" Check theif logsit forsuccessfully wrote to the testdedicated messagelog file with the following command: $ sudo tailgrep "STIG-TEST-CRON-LOGGING" /var/log/messagescron Jul 16 11:33:00 RHEL10Sim pdosadmin[33692]: STIG-TEST-CRON-LOGGING If "rsyslog" is not logging messages for the cron facility or all facilities, this is a finding.

Fix text

Configure "rsyslog" to log all cron messages by adding or updating the following line to "/etc/rsyslog.conf" or a configuration file in the "/etc/rsyslog.d/" directory: cron.* /var/log/cron TheRestart the rsyslog daemon must be restarted for the changes to take effect: $ sudo systemctl restart rsyslog.service

V-258158CAT IIRHEL 9 must take action when allocated audit record storage volume reaches 95 percent of the audit record storage capacity.Check text, Discussion

Check text

Verify RHEL 9 takes action when allocated audit record storage volume reaches 95 percent of the repository maximum audit record storage capacity with the following command: $ sudo grep -w admin_space_left /etc/audit/auditd.conf admin_space_left = 5% If the value of the "admin_space_left" keyword is not set to 5 percent of the storage volume allocated to audit logs, or if the line is commented out, ask the system administrator (SA) to indicate how the system is taking action if the allocated storage is about to reach capacity. If the "space_left" value is not configured to the correct value, this is a finding.

Discussion

If action is not taken when storage volume reaches 95 percent utilization, the auditing system may fail when the storage volume reaches capacity. While "%" is fully compliant for auditd.conf, you must account for how auditd processes it. The percentage-to-megabyte conversion occurs only when the audit daemon starts. If you dynamically resize the underlying logical volume/partition where /var/log/audit resides while the system is running, the daemon will not automatically know. You must reload it to trigger a recalculation.

V-258171CAT IIRHEL 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.Check text, Fix text

Check text

Verify that the files in the directory "/etc/audit/rules.d/" and "/etc/audit/auditd.conf" file have a mode of "0600" or less permissive with the following command: $ sudo find /etc/audit/rules.d/ -type f -name "*.rules" -exec stat -c "%a %n" {} 1; 600 /etc/audit/rules.d/audit.rules Verify that the files "/etc/audit/audit.rules" and "/etc/audit/auditd.conf" -typehave fa -execmode of "0600" or less permissive with the following command: $ sudo stat -c "%a %n" {} 1; 600 /etc/audit/rulesaudit.drules /etc/audit/auditd.rulesconf 600 /etc/audit/audit.rules 600 /etc/audit/auditd.conf If any of the audit configuration files have a mode more permissive than "0600", this is a finding.

Fix text

Configure the rules files in the directory "/etc/audit/rules.d/", the "/etc/audit/audit.rules" file, and the "/etc/audit/auditd.conf" file to have a mode of "0600" with the following commands: $ sudo chmodfind 0600 /etc/audit/rules.d/audit -type f -name "*.rules" -exec chmod 0600 {} + $ sudo chmod 0600 /etc/audit/rulesaudit.d/[customrulesfile].rules $ sudo chmod 0600 /etc/audit/auditd.conf

V-258194CAT IIRHEL 9 must audit all uses of the gpasswd command.Check text, Fix text

Check text

Verify that RHEL 9 is configured to audit the execution of the "gpasswd" command with the following command: $ sudo auditctl -l | grep gpasswd -a always,exit -F arch=b32 -S allexecve -F path=/usr/bin/gpasswd -F perm=x -F auid>key=1000identity -a always,exit -F auid!arch=b64 -1S execve -F keypath=privileged-/usr/bin/gpasswd -F perm=x -F key=identity If the command does not return a line, or the line is commented out, this is a finding.

Fix text

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 arch=b32 -F path=/usr/bin/gpasswd -F perm=x -k identity -a always,exit -F auid>arch=1000b64 -F auid!path=unset/usr/bin/gpasswd -kF privilegedperm=x -gpasswdk identity To load the rules to the kernel immediately, use the following command: $ sudo augenrules --load

V-258198CAT IIRHEL 9 must audit all uses of the passwd command.Check text, Fix text

Check text

Verify RHEL 9 generates audit records for all accountuses creations,of modifications,the disabling, and termination events that affect "/etc/gshadowpasswd" command with the following command: $ sudo auditctl -l | egrep '(/usr/bin/passwd)' -a always,exit -SF allarch=b32 -F path=/usr/bin/passwd -F perm=x -k identity -a always,exit -F auid>arch=1000b64 -F auid!path=-1/usr/bin/passwd -F keyperm=privilegedx -passwdk identity If the command does not return a line, or the line is commented out, this is a finding.

Fix text

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 arch=b32 -F path=/usr/bin/passwd -F perm=x -k identity -a always,exit -F auid>arch=1000b64 -F auid!path=unset/usr/bin/passwd -kF privilegedperm=x -passwdk identity To load the rules to the kernel immediately, use the following command: $ sudo augenrules --load

V-258221CAT IIRHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/security/opasswd.Title, Fix text

Title

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

Fix text

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": -a always,exit -F arch=b32 -F path=/etc/security/opasswd -F perm=wa -k identity -a always,exit -F arch=b64 -F path=/etc/security/opasswd -F perm=wa -k identity To load the rules to the kernel immediately, use the following command: $ sudo augenrules --load

V-258233CAT IIRHEL 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.Discussion

Discussion

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 DODDoW data may be compromised. RHEL 9 systems utilizing encryption are required to use FIPS-compliant mechanisms for authenticating to cryptographic modules. FIPS 140-3 is the current standard for validating that mechanisms used to access cryptographic modules utilize authentication that meets DODDoW requirements. This allows for Security Levels 1, 2, 3, or 4 for use on a general-purpose computing system.

V-258241CAT IRHEL 9 must implement a FIPS 140-3-compliant systemwide cryptographic policy.Check text, Fix text

Check text

Verify RHEL 9 is set to use a FIPS 140-3-compliant systemwide cryptographic policy. Verify the current systemwide crypto-policy with the following command: $ update-crypto-policies --show FIPS If the systemwide crypto -policy is not set to "FIPS", this is a finding. Note: If subpolicies have been configured, they could be listed in a colon-separated list starting with "FIPS" as follows FIPS:&ltSUBPOLICY-NAME>. This is not a finding. Note: Subpolicies like AD-SUPPORT must be configured according to the latest guidance from the operating system vendor. Verify the current minimum crypto-policy configuration with the following commands: $ sudo grep -E 'rsa_size|hash' /etc/crypto-policies/state/CURRENT.pol hash = SHA2-256 SHA2-384 SHA2-512 SHA2-224 SHA3-256 SHA3-384 SHA3-512 SHAKE-256 min_rsa_size = 2048 If the "hash" values do not include at least the following FIPS 140-3-compliant algorithms, this is a finding: "SHA2-256 SHA2-384 SHA2-512 SHA2-224 SHA3-256 SHA3-384 SHA3-512 SHAKE-256", this is a finding. If thereany are algorithms that include "SHA1" or a hash value less than "224", this is a finding. If the "min_rsa_size" is not set to a value of at least "2048", this is a finding. If these commands do not return any output, this is a finding.

Fix text

Configure RHEL 9 to use a FIPS 140-3-compliant systemwide cryptographic policy. CreateSet a subpolicy for enhancements to the base systemwide crypto-policy by creating the file /etc/crypto-policies/policies/modules/STIG.pmod with the following content: # Define ciphers and MACs for OpenSSH and libssh cipher@SSH=AES-256-GCM AES-256-CTR AES-128-GCM AES-128-CTR mac@SSH=HMAC-SHA2-512 HMAC-SHA2-256 Apply the policy enhancements to the FIPS systemwide cryptographic policy level with the following command: $ sudo update-crypto-policies --set FIPS:STIG Setting system policy to FIPS Note: IfSystemwide additionalcrypto-policies subpolicies are beingapplied employed,on theyapplication muststartup. beIt addedis recommended to therestart update-crypto-policies command. To make the cryptographicsystem settings effective for alreadythe runningchange servicesof andpolicies applications,to restartfully thetake system: $ sudo rebootplace.

V-258242CAT IRHEL 9 must implement DoW-approved encryption in the bind package.Title

Title

RHEL 9 must implement DODoW-approved encryption in the bind package.

V-270174CAT IIRHEL 9 must display the Standard Mandatory DoW Notice and Consent Banner before granting local or remote access to the system via a graphical user logon.Title, Check text, Fix text, Discussion, Rule version

Title

RHEL 9 must display the Standard Mandatory DODoW Notice and Consent Banner before granting local or remote access to the system via a graphical user logon.

Check text

Note: This requirement assumes the use of the RHEL 9 default graphical user interface, Gnome Shell. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Verify RHEL 9 displays the Standard Mandatory DODDoW Notice and Consent Banner before granting access to the operating system via a graphical user logon. Check that the operating system displays the exact Standard Mandatory DODDoW Notice and Consent Banner text with the command: $ gsettings get org.gnome.login-screen banner-message-text banner-message-text= 'You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.1nBy using this IS (which includes any device attached to this IS), you consent to the following conditions:1n-The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations.1n-At any time, the USG may inspect and seize data stored on this IS.1n-Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose.1n-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy.1n-Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details. ' Note: The "1n " characters are for formatting only. They will not be displayed on the graphical interface. If the banner does not match the Standard Mandatory DODDoW Notice and Consent Banner exactly, this is a finding.

Fix text

Configure theRHEL operating9 system to display the Standard Mandatory DODDoW Notice and Consent Banner before granting access to the system. Add the following lines to the [org/gnome/login-screen] section of the "/etc/dconf/db/local.d/01-banner-message": banner-message-text='You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.1nBy using this IS (which includes any device attached to this IS), you consent to the following conditions:1n-The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations.1n-At any time, the USG may inspect and seize data stored on this IS.1n-Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose.1n-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy.1n-Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details. ' Note: The "1n " characters are for formatting only. They will not be displayed on the graphical interface. Run the following command to update the database: $ sudo dconf update

Discussion

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. The banner must be formatted in accordance with applicable DODDoW policy. Use the following verbiage for operating systems that can accommodate banners of 1300 characters: "You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." Satisfies: SRG-OS-000023-GPOS-00006, SRG-OS-000228-GPOS-00088

Rule version

RHEL-09-1271011

V-270177CAT IThe RHEL 9 SSH client must be configured to use only DoW-approved encryption ciphers employing FIPS 140-3 validated cryptographic hash algorithms to protect the confidentiality of SSH client connections.Title, Discussion

Title

The RHEL 9 SSH client must be configured to use only DODDoW-approved encryption ciphers employing FIPS 140-3 validated cryptographic hash algorithms to protect the confidentiality of SSH client connections.

Discussion

Without cryptographic integrity protections, information can be altered by unauthorized users without detection. Remote access (e.g., RDP) is access to DODDoW 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 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/openssh.config file.

V-270178CAT IThe RHEL 9 SSH client must be configured to use only DoW-approved Message Authentication Codes (MACs) employing FIPS 140-3 validated cryptographic hash algorithms to protect the confidentiality of SSH client connections.Title, Discussion

Title

The RHEL 9 SSH client must be configured to use only DODDoW-approved Message Authentication Codes (MACs) employing FIPS 140-3 validated cryptographic hash algorithms to protect the confidentiality of SSH client connections.

Discussion

Without cryptographic integrity protections, information can be altered by unauthorized users without detection. Remote access (e.g., RDP) is access to DODDoW 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 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/openssh.config file.

How these changes are found

Checks are matched across the two releases by V-number. A check counts as updated when DISA gave it a new rule revision (the r number in its SV-…_rule id) and its title, severity, check text, fix text, discussion, CCIs or other fields changed — the same comparison STIG Compare makes. Added checks are new V-numbers; removed checks are V-numbers V2R10 no longer has.

Comparing other releases, or this one against an older release? Pick any two in STIG Compare.