Red Hat Enterprise Linux 9 STIG SCAP Benchmark

  • Version/Release: V1R1
  • Published: 2023-12-01
  • Severity:
  • Sort:
View

Select any old version/release of this SCAP to view the previous requirements

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.
c
RHEL 9 must be a vendor-supported release.
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
RHEL-09-211010
Vuln IDs
V-257777
Rule IDs
SV-257777r925318_rule
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.
Fix: F-61442r925317_fix

Upgrade to a supported version of RHEL 9.

b
RHEL 9 must implement the Endpoint Security for Linux Threat Prevention tool.
RMF Control
SI-2
Severity
Medium
CCI
CCI-001233
Version
RHEL-09-211025
Vuln IDs
V-257780
Rule IDs
SV-257780r939261_rule
Without the use of automated mechanisms to scan for security flaws on a continuous and/or periodic basis, the operating system or other system components may remain vulnerable to the exploits presented by undetected software flaws. To support this requirement, the operating system may have an integrated solution incorporating continuous scanning using ESS and periodic scanning using other tools, as specified in the requirement.
Fix: F-61445r925326_fix

Install and enable the latest McAfee ENSLTP package.

b
The graphical display manager must not be the default target on RHEL 9 unless approved.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-211030
Vuln IDs
V-257781
Rule IDs
SV-257781r925330_rule
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.
Fix: F-61446r925329_fix

Document the requirement for a graphical user interface with the ISSO or set the default target to multi-user with the following command: $ sudo systemctl set-default multi-user.target

a
RHEL 9 must enable the hardware random number generator entropy gatherer service.
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
RHEL-09-211035
Vuln IDs
V-257782
Rule IDs
SV-257782r942961_rule
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 rngd service feeds random data from hardware device to kernel random device. Quality (nonpredictable) random number generation is important for several security functions (i.e., ciphers).
Fix: F-61447r925332_fix

Install the rng-tools package with the following command: $ sudo dnf install rng-tools Then enable the rngd service run the following command: $ sudo systemctl enable --now rngd

b
RHEL 9 systemd-journald service must be enabled.
RMF Control
SC-24
Severity
Medium
CCI
CCI-001665
Version
RHEL-09-211040
Vuln IDs
V-257783
Rule IDs
SV-257783r925336_rule
In the event of a system failure, RHEL 9 must preserve any information necessary to determine cause of failure and any information necessary to return to operations with least disruption to system processes.
Fix: F-61448r925335_fix

To enable the systemd-journald service, run the following command: $ sudo systemctl enable --now systemd-journald

c
The systemd Ctrl-Alt-Delete burst key sequence in RHEL 9 must be disabled.
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
RHEL-09-211045
Vuln IDs
V-257784
Rule IDs
SV-257784r925339_rule
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. Satisfies: SRG-OS-000324-GPOS-00125, SRG-OS-000480-GPOS-00227
Fix: F-61449r925338_fix

Configure the system to disable the CtrlAltDelBurstAction by added or modifying the following line in the "/etc/systemd/system.conf" configuration file: CtrlAltDelBurstAction=none Reload the daemon for this change to take effect. $ sudo systemctl daemon-reload

c
The x86 Ctrl-Alt-Delete key sequence must be disabled on RHEL 9.
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
RHEL-09-211050
Vuln IDs
V-257785
Rule IDs
SV-257785r925342_rule
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. Satisfies: SRG-OS-000324-GPOS-00125, SRG-OS-000480-GPOS-00227
Fix: F-61450r925341_fix

Configure RHEL 9 to disable the ctrl-alt-del.target with the following command: $ sudo systemctl disable --now ctrl-alt-del.target $ sudo systemctl mask --now ctrl-alt-del.target

b
RHEL 9 debug-shell systemd service must be disabled.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-211055
Vuln IDs
V-257786
Rule IDs
SV-257786r943026_rule
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. Satisfies: SRG-OS-000324-GPOS-00125, SRG-OS-000480-GPOS-00227
Fix: F-61451r943025_fix

Configure RHEL 9 to mask the debug-shell systemd service with the following command: $ sudo systemctl disable --now debug-shell.service $ sudo systemctl mask --now debug-shell.service

b
RHEL 9 must require a boot loader superuser password.
RMF Control
AC-3
Severity
Medium
CCI
CCI-000213
Version
RHEL-09-212010
Vuln IDs
V-257787
Rule IDs
SV-257787r925348_rule
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. 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.
Fix: F-61452r925347_fix

Configure RHEL 9 to require a grub bootloader password for the grub superuser account. Generate an encrypted grub2 password for the grub superuser account with the following command: $ sudo grub2-setpassword Enter password: Confirm password:

b
RHEL 9 must disable the ability of systemd to spawn an interactive boot process.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-212015
Vuln IDs
V-257788
Rule IDs
SV-257788r925351_rule
Using interactive or recovery boot, the console user could disable auditing, firewalls, or other services, weakening system security.
Fix: F-61453r925350_fix

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: $ sudo grubby --update-kernel=ALL --remove-args="systemd.confirm_spawn"

b
RHEL 9 /boot/grub2/grub.cfg file must be group-owned by root.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-212025
Vuln IDs
V-257790
Rule IDs
SV-257790r925357_rule
The "root" group is a highly privileged group. Furthermore, the group-owner of this file should not have any access privileges anyway.
Fix: F-61455r925356_fix

Change the group of the file /boot/grub2/grub.cfg to root by running the following command: $ sudo chgrp root /boot/grub2/grub.cfg

b
RHEL 9 /boot/grub2/grub.cfg file must be owned by root.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-212030
Vuln IDs
V-257791
Rule IDs
SV-257791r925360_rule
The " /boot/grub2/grub.cfg" file stores sensitive system configuration. Protection of this file is critical for system security.
Fix: F-61456r925359_fix

Change the owner of the file /boot/grub2/grub.cfg to root by running the following command: $ sudo chown root /boot/grub2/grub.cfg

b
RHEL 9 must disable virtual system calls.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-212035
Vuln IDs
V-257792
Rule IDs
SV-257792r925363_rule
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. Virtual system calls provide an opportunity of attack for a user who has control of the return instruction pointer. Disabling virtual system calls 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 system calls will need enabled so the components function properly. Satisfies: SRG-OS-000480-GPOS-00227, SRG-OS-000134-GPOS-00068
Fix: F-61457r925362_fix

Document the use of virtual system calls 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"

b
RHEL 9 must clear the page allocator to prevent use-after-free attacks.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-212040
Vuln IDs
V-257793
Rule IDs
SV-257793r925366_rule
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-000480-GPOS-00227, SRG-OS-000134-GPOS-00068
Fix: F-61458r925365_fix

Configure RHEL 9 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"

b
RHEL 9 must clear SLUB/SLAB objects to prevent use-after-free attacks.
RMF Control
SC-3
Severity
Medium
CCI
CCI-001084
Version
RHEL-09-212045
Vuln IDs
V-257794
Rule IDs
SV-257794r925369_rule
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-000433-GPOS-00192, SRG-OS-000134-GPOS-00068
Fix: F-61459r925368_fix

Configure RHEL 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"

a
RHEL 9 must enable mitigations against processor-based vulnerabilities.
RMF Control
CM-7
Severity
Low
CCI
CCI-000381
Version
RHEL-09-212050
Vuln IDs
V-257795
Rule IDs
SV-257795r925372_rule
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). Satisfies: SRG-OS-000433-GPOS-00193, SRG-OS-000095-GPOS-00049
Fix: F-61460r925371_fix

Configure RHEL 9 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"

a
RHEL 9 must enable auditing of processes that start prior to the audit daemon.
RMF Control
AU-3
Severity
Low
CCI
CCI-000130
Version
RHEL-09-212055
Vuln IDs
V-257796
Rule IDs
SV-257796r925375_rule
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. Satisfies: 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, SRG-OS-000254-GPOS-00095
Fix: F-61461r925374_fix

Enable auditing of processes that start prior to the audit daemon with the following command: $ 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"

b
RHEL 9 must restrict access to the kernel message buffer.
RMF Control
SC-2
Severity
Medium
CCI
CCI-001082
Version
RHEL-09-213010
Vuln IDs
V-257797
Rule IDs
SV-257797r942965_rule
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 nonprivileged user. Satisfies: SRG-OS-000132-GPOS-00067, SRG-OS-000138-GPOS-00069
Fix: F-61462r925377_fix

Configure RHEL 9 to restrict access to the kernel message buffer. Add or edit the following line in a system configuration file, in the "/etc/sysctl.d/" directory: kernel.dmesg_restrict = 1 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must prevent kernel profiling by nonprivileged users.
RMF Control
SC-2
Severity
Medium
CCI
CCI-001082
Version
RHEL-09-213015
Vuln IDs
V-257798
Rule IDs
SV-257798r942967_rule
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 nonprivileged user. Satisfies: SRG-OS-000132-GPOS-00067, SRG-OS-000138-GPOS-00069
Fix: F-61463r925380_fix

Configure RHEL 9 to prevent kernel profiling by nonprivileged users. Add or edit the following line in a system configuration file, in the "/etc/sysctl.d/" directory: kernel.perf_event_paranoid = 2 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must prevent the loading of a new kernel for later execution.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-213020
Vuln IDs
V-257799
Rule IDs
SV-257799r942969_rule
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. Satisfies: SRG-OS-000480-GPOS-00227, SRG-OS-000366-GPOS-00153
Fix: F-61464r925383_fix

Add or edit the following line in a system configuration file in the "/etc/sysctl.d/" directory: kernel.kexec_load_disabled = 1 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must restrict exposed kernel pointer addresses access.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-213025
Vuln IDs
V-257800
Rule IDs
SV-257800r942971_rule
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". Satisfies: SRG-OS-000132-GPOS-00067, SRG-OS-000433-GPOS-00192, SRG-OS-000480-GPOS-00227
Fix: F-61465r925386_fix

Add or edit the following line in a system configuration file in the "/etc/sysctl.d/" directory: kernel.kptr_restrict = 1 Reload settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must enable kernel parameters to enforce discretionary access control on hardlinks.
RMF Control
AC-3
Severity
Medium
CCI
CCI-002165
Version
RHEL-09-213030
Vuln IDs
V-257801
Rule IDs
SV-257801r925390_rule
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 mitigates vulnerabilities based on insecure file system accessed by privileged programs, avoiding an exploitation vector exploiting unsafe use of open() or creat(). Satisfies: SRG-OS-000312-GPOS-00123, SRG-OS-000324-GPOS-00125
Fix: F-61466r925389_fix

Configure RHEL 9 to enable DAC on hardlinks with the following: Add or edit the following line in a system configuration file in the "/etc/sysctl.d/" directory: fs.protected_hardlinks = 1 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must enable kernel parameters to enforce discretionary access control on symlinks.
RMF Control
AC-3
Severity
Medium
CCI
CCI-002165
Version
RHEL-09-213035
Vuln IDs
V-257802
Rule IDs
SV-257802r925393_rule
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 user identifier (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(). Satisfies: SRG-OS-000312-GPOS-00123, SRG-OS-000324-GPOS-00125
Fix: F-61467r925392_fix

Configure RHEL 9 to enable DAC on symlinks with the following: Add or edit the following line in a system configuration file in the "/etc/sysctl.d/" directory: fs.protected_symlinks = 1 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must disable the kernel.core_pattern.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-213040
Vuln IDs
V-257803
Rule IDs
SV-257803r942973_rule
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.
Fix: F-61468r925395_fix

Configure RHEL 9 to disable storing core dumps. Add or edit the following line in a system configuration file, in the "/etc/sysctl.d/" directory: kernel.core_pattern = |/bin/false 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

b
RHEL 9 must be configured to disable the Asynchronous Transfer Mode kernel module.
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
RHEL-09-213045
Vuln IDs
V-257804
Rule IDs
SV-257804r925399_rule
Disabling Asynchronous Transfer Mode (ATM) protects the system against exploitation of any flaws in its implementation.
Fix: F-61469r925398_fix

To configure the system to prevent the atm kernel module from being loaded, add the following line to the file /etc/modprobe.d/atm.conf (or create atm.conf if it does not exist): install atm /bin/false blacklist atm

b
RHEL 9 must be configured to disable the Controller Area Network kernel module.
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
RHEL-09-213050
Vuln IDs
V-257805
Rule IDs
SV-257805r925402_rule
Disabling Controller Area Network (CAN) protects the system against exploitation of any flaws in its implementation.
Fix: F-61470r925401_fix

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): install can /bin/false blacklist can

b
RHEL 9 must be configured to disable the FireWire kernel module.
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
RHEL-09-213055
Vuln IDs
V-257806
Rule IDs
SV-257806r942955_rule
Disabling firewire protects the system against exploitation of any flaws in its implementation.
Fix: F-61471r942954_fix

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): install firewire-core /bin/false blacklist firewire-core

b
RHEL 9 must disable the Stream Control Transmission Protocol (SCTP) kernel module.
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
RHEL-09-213060
Vuln IDs
V-257807
Rule IDs
SV-257807r925408_rule
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.
Fix: F-61472r925407_fix

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): install sctp/bin/false blacklist sctp

b
RHEL 9 must disable the Transparent Inter Process Communication (TIPC) kernel module.
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
RHEL-09-213065
Vuln IDs
V-257808
Rule IDs
SV-257808r925411_rule
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) is a protocol that is specially designed for intra-cluster communication. It can be configured to transmit messages either on UDP or directly across Ethernet. Message delivery is sequence guaranteed, loss free and flow controlled. Disabling TIPC protects the system against exploitation of any flaws in its implementation.
Fix: F-61473r925410_fix

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): install tipc /bin/false blacklist tipc

b
RHEL 9 must implement address space layout randomization (ASLR) to protect its memory from unauthorized code execution.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-213070
Vuln IDs
V-257809
Rule IDs
SV-257809r942975_rule
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. Satisfies: SRG-OS-000433-GPOS-00193, SRG-OS-000480-GPOS-00227
Fix: F-61474r925413_fix

Add or edit the following line in a system configuration file in the "/etc/sysctl.d/" directory: kernel.randomize_va_space = 2 Reload settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must disable access to network bpf system call from nonprivileged processes.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-213075
Vuln IDs
V-257810
Rule IDs
SV-257810r942977_rule
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. Satisfies: SRG-OS-000132-GPOS-00067, SRG-OS-000480-GPOS-00227
Fix: F-61475r925416_fix

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: 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: $ sudo sysctl --system

b
RHEL 9 must restrict usage of ptrace to descendant processes.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-213080
Vuln IDs
V-257811
Rule IDs
SV-257811r942979_rule
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). Satisfies: SRG-OS-000132-GPOS-00067, SRG-OS-000480-GPOS-00227
Fix: F-61476r925419_fix

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: $ sudo sysctl --system

b
RHEL 9 must disable core dump backtraces.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-213085
Vuln IDs
V-257812
Rule IDs
SV-257812r925423_rule
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. Enabling core dumps on production systems is not recommended; however, there may be overriding operational requirements to enable advanced debugging. Permitting temporary enablement of core dumps during such situations must be reviewed through local needs and policy.
Fix: F-61477r925422_fix

Configure the operating system to disable core dump backtraces. Add or modify the following line in /etc/systemd/coredump.conf: ProcessSizeMax=0

b
RHEL 9 must disable storing core dumps.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-213090
Vuln IDs
V-257813
Rule IDs
SV-257813r925426_rule
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. Enabling core dumps on production systems is not recommended; however, there may be overriding operational requirements to enable advanced debugging. Permitting temporary enablement of core dumps during such situations must be reviewed through local needs and policy.
Fix: F-61478r925425_fix

Configure the operating system to disable storing core dumps for all users. Add or modify the following line in /etc/systemd/coredump.conf: Storage=none

b
RHEL 9 must disable core dumps for all users.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-213095
Vuln IDs
V-257814
Rule IDs
SV-257814r925429_rule
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.
Fix: F-61479r925428_fix

Configure the operating system to disable core dumps for all users. Add the following line to the top of the /etc/security/limits.conf or in a single ".conf" file defined in /etc/security/limits.d/: * hard core 0

b
RHEL 9 must disable acquiring, saving, and processing core dumps.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-213100
Vuln IDs
V-257815
Rule IDs
SV-257815r925432_rule
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.
Fix: F-61480r925431_fix

Configure the system to disable the systemd-coredump.socket with the following command: $ sudo systemctl mask --now 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

b
RHEL 9 must disable the use of user namespaces.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-213105
Vuln IDs
V-257816
Rule IDs
SV-257816r942981_rule
User namespaces are used primarily for Linux containers. The value "0" disallows the use of user namespaces.
Fix: F-61481r925434_fix

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. 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

b
The kdump service on RHEL 9 must be disabled.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-213115
Vuln IDs
V-257818
Rule IDs
SV-257818r925441_rule
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.
Fix: F-61483r925440_fix

Disable and mask the kdump service on RHEL 9. To disable the kdump service run the following command: $ sudo systemctl disable --now kdump To mask the kdump service run the following command: $ sudo systemctl mask --now kdump

c
RHEL 9 must check the GPG signature of software packages originating from external software repositories before installation.
RMF Control
CM-5
Severity
High
CCI
CCI-001749
Version
RHEL-09-214015
Vuln IDs
V-257820
Rule IDs
SV-257820r925447_rule
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. All software packages must be signed with a cryptographic key recognized and approved by the organization. Verifying the authenticity of software prior to installation validates the integrity of the software package received from a vendor. This verifies the software has not been tampered with and that it has been provided by a trusted vendor.
Fix: F-61485r925446_fix

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: gpgcheck=1

c
RHEL 9 must check the GPG signature of locally installed software packages before installation.
RMF Control
CM-5
Severity
High
CCI
CCI-001749
Version
RHEL-09-214020
Vuln IDs
V-257821
Rule IDs
SV-257821r925450_rule
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. All software packages must be signed with a cryptographic key recognized and approved by the organization. Verifying the authenticity of software prior to installation validates the integrity of the software package received from a vendor. This verifies the software has not been tampered with and that it has been provided by a trusted vendor.
Fix: F-61486r925449_fix

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: localpkg_gpgcheck=1

c
RHEL 9 must have GPG signature verification enabled for all software repositories.
RMF Control
CM-5
Severity
High
CCI
CCI-001749
Version
RHEL-09-214025
Vuln IDs
V-257822
Rule IDs
SV-257822r925453_rule
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. All software packages must be signed with a cryptographic key recognized and approved by the organization. Verifying the authenticity of software prior to installation validates the integrity of the software package received from a vendor. This verifies the software has not been tampered with and that it has been provided by a trusted vendor.
Fix: F-61487r925452_fix

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/*

a
RHEL 9 must remove all software components after updated versions have been installed.
RMF Control
SI-2
Severity
Low
CCI
CCI-002617
Version
RHEL-09-214035
Vuln IDs
V-257824
Rule IDs
SV-257824r925459_rule
Previous versions of software components that are not removed from the information system after updates have been installed may be exploited by some adversaries.
Fix: F-61489r925458_fix

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

b
RHEL 9 subscription-manager package must be installed.
RMF Control
CM-5
Severity
Medium
CCI
CCI-001749
Version
RHEL-09-215010
Vuln IDs
V-257825
Rule IDs
SV-257825r925462_rule
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.
Fix: F-61490r925461_fix

The subscription-manager package can be installed with the following command: $ sudo dnf install subscription-manager

c
RHEL 9 must not have a File Transfer Protocol (FTP) server package installed.
RMF Control
IA-5
Severity
High
CCI
CCI-000197
Version
RHEL-09-215015
Vuln IDs
V-257826
Rule IDs
SV-257826r925465_rule
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. Removing the "vsftpd" package decreases the risk of accidental activation. Satisfies: SRG-OS-000074-GPOS-00042, SRG-OS-000095-GPOS-00049, SRG-OS-000480-GPOS-00227
Fix: F-61491r925464_fix

The ftp package can be removed with the following command (using vsftpd as an example): $ sudo dnf remove vsftpd

b
RHEL 9 must not have the sendmail package installed.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-215020
Vuln IDs
V-257827
Rule IDs
SV-257827r925468_rule
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. Satisfies: SRG-OS-000480-GPOS-00227, SRG-OS-000095-GPOS-00049
Fix: F-61492r925467_fix

Remove the sendmail package with the following command: $ sudo dnf remove sendmail

b
RHEL 9 must not have the nfs-utils package installed.
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
RHEL-09-215025
Vuln IDs
V-257828
Rule IDs
SV-257828r925471_rule
"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.
Fix: F-61493r925470_fix

Remove the nfs-utils package with the following command: $ sudo dnf remove nfs-utils

b
RHEL 9 must not have the ypserv package installed.
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
RHEL-09-215030
Vuln IDs
V-257829
Rule IDs
SV-257829r925474_rule
The NIS service provides an unencrypted authentication service, which does not provide for the confidentiality and integrity of user passwords or the remote session. Removing the "ypserv" package decreases the risk of the accidental (or intentional) activation of NIS or NIS+ services.
Fix: F-61494r925473_fix

Remove the ypserv package with the following command: $ sudo dnf remove ypserv

b
RHEL 9 must not have the rsh-server package installed.
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
RHEL-09-215035
Vuln IDs
V-257830
Rule IDs
SV-257830r925477_rule
The "rsh-server" service provides unencrypted remote access service, which 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 login using this service, the privileged user password could be compromised. The "rsh-server" package provides several obsolete and insecure network services. Removing it decreases the risk of accidental (or intentional) activation of those services.
Fix: F-61495r925476_fix

Remove the rsh-server package with the following command: $ sudo dnf remove rsh-server

b
RHEL 9 must not have the telnet-server package installed.
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
RHEL-09-215040
Vuln IDs
V-257831
Rule IDs
SV-257831r925480_rule
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. The telnet service provides an unencrypted remote access service, which does not provide for the confidentiality and integrity of user passwords or the remote session. If a privileged user were to login using this service, the privileged user password could be compromised. Removing the "telnet-server" package decreases the risk of accidental (or intentional) activation of the telnet service.
Fix: F-61496r925479_fix

Remove the telnet-server package with the following command: $ sudo dnf remove telnet-server

b
RHEL 9 must not have the gssproxy package installed.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-215045
Vuln IDs
V-257832
Rule IDs
SV-257832r925483_rule
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). 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. Satisfies: SRG-OS-000095-GPOS-00049, SRG-OS-000480-GPOS-00227
Fix: F-61497r925482_fix

Remove the gssproxy package with the following command: $ sudo dnf remove gssproxy

b
RHEL 9 must not have the iprutils package installed.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-215050
Vuln IDs
V-257833
Rule IDs
SV-257833r925486_rule
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). The iprutils package provides a suite of utilities to manage and configure SCSI devices supported by the ipr SCSI storage device driver. Satisfies: SRG-OS-000095-GPOS-00049, SRG-OS-000480-GPOS-00227
Fix: F-61498r925485_fix

Remove the iprutils package with the following command: $ sudo dnf remove iprutils

b
RHEL 9 must not have the tuned package installed.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-215055
Vuln IDs
V-257834
Rule IDs
SV-257834r925489_rule
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). 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. Satisfies: SRG-OS-000095-GPOS-00049, SRG-OS-000480-GPOS-00227
Fix: F-61499r925488_fix

Remove the tuned package with the following command: $ sudo dnf remove tuned

c
RHEL 9 must not have a Trivial File Transfer Protocol (TFTP) server package installed.
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
RHEL-09-215060
Vuln IDs
V-257835
Rule IDs
SV-257835r925492_rule
Removing the "tftp-server" package decreases the risk of the accidental (or intentional) activation of tftp services. If TFTP is required for operational support (such as transmission of router configurations), its use must be documented with the information systems security manager (ISSM), restricted to only authorized personnel, and have access control rules established.
Fix: F-61500r925491_fix

The tftp package can be removed with the following command: $ sudo dnf remove tftp

b
RHEL 9 must not have the quagga package installed.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-215065
Vuln IDs
V-257836
Rule IDs
SV-257836r925495_rule
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. If there is no need to make the router software available, removing it provides a safeguard against its activation.
Fix: F-61501r925494_fix

Remove the quagga package with the following command: $ sudo dnf remove quagga

b
A graphical display manager must not be installed on RHEL 9 unless approved.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-215070
Vuln IDs
V-257837
Rule IDs
SV-257837r925498_rule
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.
Fix: F-61502r925497_fix

Document the requirement for a graphical user interface with the ISSO or remove all xorg packages with the following command: Warning: If you are accessing the system through the graphical user interface, change to the multi-user.target with the following command: $ sudo systemctl isolate multi-user.target Warning: Removal of the graphical user interface will immediately render it useless. The following commands must not be run from a virtual terminal emulator in the graphical interface. $ sudo dnf remove "xorg*" $ sudo systemctl set-default multi-user.target

b
RHEL 9 must have the openssl-pkcs11 package installed.
RMF Control
IA-2
Severity
Medium
CCI
CCI-000765
Version
RHEL-09-215075
Vuln IDs
V-257838
Rule IDs
SV-257838r925501_rule
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 CAC with DOD-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
Fix: F-61503r925500_fix

The openssl-pkcs11 package can be installed with the following command: $ sudo dnf install openssl-pkcs11

b
RHEL 9 must have the gnutls-utils package installed.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-215080
Vuln IDs
V-257839
Rule IDs
SV-257839r925504_rule
GnuTLS is a secure communications library implementing the SSL, TLS and DTLS protocols and technologies around them. It provides a simple C language application programming interface (API) to access the secure communications protocols as well as APIs to parse and write X.509, PKCS #12, OpenPGP and other required structures. This package contains command line TLS client and server and certificate manipulation tools.
Fix: F-61504r925503_fix

The gnutls-utils package can be installed with the following command: $ sudo dnf install gnutls-utils

b
RHEL 9 must have the nss-tools package installed.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-215085
Vuln IDs
V-257840
Rule IDs
SV-257840r925507_rule
Network Security Services (NSS) is a set of libraries designed to support cross-platform development of security-enabled client and server applications. Install the "nss-tools" package to install command-line tools to manipulate the NSS certificate and key database.
Fix: F-61505r925506_fix

The nss-tools package can be installed with the following command: $ sudo dnf install nss-tools

b
RHEL 9 must have the rng-tools package installed.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-215090
Vuln IDs
V-257841
Rule IDs
SV-257841r925510_rule
"rng-tools" provides hardware random number generator tools, such as those used in the formation of x509/PKI certificates.
Fix: F-61506r925509_fix

The rng-tools package can be installed with the following command: $ sudo dnf install rng-tools

b
RHEL 9 must have the s-nail package installed.
RMF Control
CM-3
Severity
Medium
CCI
CCI-001744
Version
RHEL-09-215095
Vuln IDs
V-257842
Rule IDs
SV-257842r942959_rule
The "s-nail" package provides the mail command required to allow sending email notifications of unauthorized configuration changes to designated personnel.
Fix: F-61507r925512_fix

The s-nail package can be installed with the following command: $ sudo dnf install s-nail

b
A separate RHEL 9 file system must be used for user home directories (such as /home or an equivalent).
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-231010
Vuln IDs
V-257843
Rule IDs
SV-257843r925516_rule
Ensuring that "/home" is mounted on its own partition enables the setting of more restrictive mount options, and also helps ensure that users cannot trivially fill partitions used for log or audit data storage.
Fix: F-61508r925515_fix

Migrate the "/home" directory onto a separate file system/partition.

b
RHEL 9 must use a separate file system for /tmp.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-231015
Vuln IDs
V-257844
Rule IDs
SV-257844r925519_rule
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.
Fix: F-61509r925518_fix

Migrate the "/tmp" path onto a separate file system.

a
RHEL 9 must use a separate file system for /var.
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
RHEL-09-231020
Vuln IDs
V-257845
Rule IDs
SV-257845r925522_rule
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.
Fix: F-61510r925521_fix

Migrate the "/var" path onto a separate file system.

a
RHEL 9 must use a separate file system for /var/log.
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
RHEL-09-231025
Vuln IDs
V-257846
Rule IDs
SV-257846r925525_rule
Placing "/var/log" in its own partition enables better separation between log files and other files in "/var/".
Fix: F-61511r925524_fix

Migrate the "/var/log" path onto a separate file system.

a
RHEL 9 must use a separate file system for the system audit data path.
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
RHEL-09-231030
Vuln IDs
V-257847
Rule IDs
SV-257847r925528_rule
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. Satisfies: SRG-OS-000341-GPOS-00132, SRG-OS-000480-GPOS-00227
Fix: F-61512r925527_fix

Migrate the system audit data path onto a separate file system.

b
RHEL 9 must use a separate file system for /var/tmp.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-231035
Vuln IDs
V-257848
Rule IDs
SV-257848r925531_rule
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.
Fix: F-61513r925530_fix

Migrate the "/var/tmp" path onto a separate file system.

b
RHEL 9 file system automount function must be disabled unless required.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-231040
Vuln IDs
V-257849
Rule IDs
SV-257849r925534_rule
An authentication process resists replay attacks if it is impractical to achieve a successful authentication by recording and replaying a previous authentication message. Satisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163, SRG-OS-000480-GPOS-00227
Fix: F-61514r925533_fix

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

b
RHEL 9 must prevent device files from being interpreted on file systems that contain user home directories.
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
RHEL-09-231045
Vuln IDs
V-257850
Rule IDs
SV-257850r925537_rule
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. The only legitimate location for device files is the "/dev" directory located on the root partition, with the exception of chroot jails if implemented.
Fix: F-61515r925536_fix

Modify "/etc/fstab" to use the "nodev" option on the "/home" directory.

b
RHEL 9 must prevent files with the setuid and setgid bit set from being executed on file systems that contain user home directories.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-231050
Vuln IDs
V-257851
Rule IDs
SV-257851r925540_rule
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. Satisfies: SRG-OS-000368-GPOS-00154, SRG-OS-000480-GPOS-00227
Fix: F-61516r925539_fix

Modify "/etc/fstab" to use the "nosuid" option on the "/home" directory.

b
RHEL 9 must prevent code from being executed on file systems that contain user home directories.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-231055
Vuln IDs
V-257852
Rule IDs
SV-257852r925543_rule
The "noexec" mount option causes the system to not execute binary files. This option must be used for mounting any file system not containing approved binary files, as they may be incompatible. Executing files from untrusted file systems increases the opportunity for nonprivileged users to attain unauthorized administrative access.
Fix: F-61517r925542_fix

Modify "/etc/fstab" to use the "noexec" option on the "/home" directory.

b
RHEL 9 must be configured so that the Network File System (NFS) is configured to use RPCSEC_GSS.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-231060
Vuln IDs
V-257853
Rule IDs
SV-257853r925546_rule
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.
Fix: F-61518r925545_fix

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".

b
RHEL 9 must prevent special devices on file systems that are imported via Network File System (NFS).
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-231065
Vuln IDs
V-257854
Rule IDs
SV-257854r925549_rule
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.
Fix: F-61519r925548_fix

Update each NFS mounted file system to use the "nodev" option on file systems that are being imported via NFS.

b
RHEL 9 must prevent code from being executed on file systems that are imported via Network File System (NFS).
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-231070
Vuln IDs
V-257855
Rule IDs
SV-257855r925552_rule
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.
Fix: F-61520r925551_fix

Update each NFS mounted file system to use the "noexec" option on file systems that are being imported via NFS.

b
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).
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-231075
Vuln IDs
V-257856
Rule IDs
SV-257856r925555_rule
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.
Fix: F-61521r925554_fix

Update each NFS mounted file system to use the "nosuid" option on file systems that are being imported via NFS.

b
RHEL 9 must mount /boot with the nodev option.
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
RHEL-09-231095
Vuln IDs
V-257860
Rule IDs
SV-257860r925567_rule
The only legitimate location for device files is the "/dev" directory located on the root partition. The only exception to this is chroot jails.
Fix: F-61525r925566_fix

Modify "/etc/fstab" to use the "nodev" option on the "/boot" directory.

b
RHEL 9 must prevent files with the setuid and setgid bit set from being executed on the /boot directory.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-231100
Vuln IDs
V-257861
Rule IDs
SV-257861r925570_rule
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. Satisfies: SRG-OS-000368-GPOS-00154, SRG-OS-000480-GPOS-00227
Fix: F-61526r925569_fix

Modify "/etc/fstab" to use the "nosuid" option on the "/boot" directory.

b
RHEL 9 must prevent files with the setuid and setgid bit set from being executed on the /boot/efi directory.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-231105
Vuln IDs
V-257862
Rule IDs
SV-257862r925573_rule
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. Satisfies: SRG-OS-000368-GPOS-00154, SRG-OS-000480-GPOS-00227
Fix: F-61527r925572_fix

Modify "/etc/fstab" to use the "nosuid" option on the "/boot/efi" directory.

b
RHEL 9 must mount /dev/shm with the nodev option.
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
RHEL-09-231110
Vuln IDs
V-257863
Rule IDs
SV-257863r925576_rule
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. The only legitimate location for device files is the "/dev" directory located on the root partition, with the exception of chroot jails if implemented.
Fix: F-61528r925575_fix

Modify "/etc/fstab" to use the "nodev" option on the "/dev/shm" file system.

b
RHEL 9 must mount /dev/shm with the noexec option.
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
RHEL-09-231115
Vuln IDs
V-257864
Rule IDs
SV-257864r925579_rule
The "noexec" mount option causes the system to not execute binary files. This option must be used for mounting any file system not containing approved binary files, as they may be incompatible. Executing files from untrusted file systems increases the opportunity for nonprivileged users to attain unauthorized administrative access.
Fix: F-61529r925578_fix

Modify "/etc/fstab" to use the "noexec" option on the "/dev/shm" file system.

b
RHEL 9 must mount /dev/shm with the nosuid option.
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
RHEL-09-231120
Vuln IDs
V-257865
Rule IDs
SV-257865r925582_rule
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.
Fix: F-61530r925581_fix

Modify "/etc/fstab" to use the "nosuid" option on the "/dev/shm" file system.

b
RHEL 9 must mount /tmp with the nodev option.
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
RHEL-09-231125
Vuln IDs
V-257866
Rule IDs
SV-257866r925585_rule
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. The only legitimate location for device files is the "/dev" directory located on the root partition, with the exception of chroot jails if implemented.
Fix: F-61531r925584_fix

Modify "/etc/fstab" to use the "nodev" option on the "/tmp" directory.

b
RHEL 9 must mount /tmp with the noexec option.
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
RHEL-09-231130
Vuln IDs
V-257867
Rule IDs
SV-257867r925588_rule
The "noexec" mount option causes the system to not execute binary files. This option must be used for mounting any file system not containing approved binary files, as they may be incompatible. Executing files from untrusted file systems increases the opportunity for nonprivileged users to attain unauthorized administrative access.
Fix: F-61532r925587_fix

Modify "/etc/fstab" to use the "noexec" option on the "/tmp" directory.

b
RHEL 9 must mount /tmp with the nosuid option.
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
RHEL-09-231135
Vuln IDs
V-257868
Rule IDs
SV-257868r925591_rule
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.
Fix: F-61533r925590_fix

Modify "/etc/fstab" to use the "nosuid" option on the "/tmp" directory.

b
RHEL 9 must mount /var with the nodev option.
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
RHEL-09-231140
Vuln IDs
V-257869
Rule IDs
SV-257869r925594_rule
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. The only legitimate location for device files is the "/dev" directory located on the root partition, with the exception of chroot jails if implemented.
Fix: F-61534r925593_fix

Modify "/etc/fstab" to use the "nodev" option on the "/var" directory.

b
RHEL 9 must mount /var/log with the nodev option.
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
RHEL-09-231145
Vuln IDs
V-257870
Rule IDs
SV-257870r925597_rule
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. The only legitimate location for device files is the "/dev" directory located on the root partition, with the exception of chroot jails if implemented.
Fix: F-61535r925596_fix

Modify "/etc/fstab" to use the "nodev" option on the "/var/log" directory.

b
RHEL 9 must mount /var/log with the noexec option.
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
RHEL-09-231150
Vuln IDs
V-257871
Rule IDs
SV-257871r925600_rule
The "noexec" mount option causes the system to not execute binary files. This option must be used for mounting any file system not containing approved binary files, as they may be incompatible. Executing files from untrusted file systems increases the opportunity for nonprivileged users to attain unauthorized administrative access.
Fix: F-61536r925599_fix

Modify "/etc/fstab" to use the "noexec" option on the "/var/log" directory.

b
RHEL 9 must mount /var/log with the nosuid option.
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
RHEL-09-231155
Vuln IDs
V-257872
Rule IDs
SV-257872r925603_rule
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.
Fix: F-61537r925602_fix

Modify "/etc/fstab" to use the "nosuid" option on the "/var/log" directory.

b
RHEL 9 must mount /var/log/audit with the nodev option.
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
RHEL-09-231160
Vuln IDs
V-257873
Rule IDs
SV-257873r925606_rule
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. The only legitimate location for device files is the "/dev" directory located on the root partition, with the exception of chroot jails if implemented.
Fix: F-61538r925605_fix

Modify "/etc/fstab" to use the "nodev" option on the "/var/log/audit" directory.

b
RHEL 9 must mount /var/log/audit with the noexec option.
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
RHEL-09-231165
Vuln IDs
V-257874
Rule IDs
SV-257874r925609_rule
The "noexec" mount option causes the system to not execute binary files. This option must be used for mounting any file system not containing approved binary files, as they may be incompatible. Executing files from untrusted file systems increases the opportunity for nonprivileged users to attain unauthorized administrative access.
Fix: F-61539r925608_fix

Modify "/etc/fstab" to use the "noexec" option on the "/var/log/audit" directory.

b
RHEL 9 must mount /var/log/audit with the nosuid option.
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
RHEL-09-231170
Vuln IDs
V-257875
Rule IDs
SV-257875r925612_rule
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.
Fix: F-61540r925611_fix

Modify "/etc/fstab" to use the "nosuid" option on the "/var/log/audit" directory.

b
RHEL 9 must mount /var/tmp with the nodev option.
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
RHEL-09-231175
Vuln IDs
V-257876
Rule IDs
SV-257876r925615_rule
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. The only legitimate location for device files is the "/dev" directory located on the root partition, with the exception of chroot jails if implemented.
Fix: F-61541r925614_fix

Modify "/etc/fstab" to use the "nodev" option on the "/var/tmp" directory.

b
RHEL 9 must mount /var/tmp with the noexec option.
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
RHEL-09-231180
Vuln IDs
V-257877
Rule IDs
SV-257877r925618_rule
The "noexec" mount option causes the system to not execute binary files. This option must be used for mounting any file system not containing approved binary files, as they may be incompatible. Executing files from untrusted file systems increases the opportunity for nonprivileged users to attain unauthorized administrative access.
Fix: F-61542r925617_fix

Modify "/etc/fstab" to use the "noexec" option on the "/var/tmp" directory.

b
RHEL 9 must mount /var/tmp with the nosuid option.
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
RHEL-09-231185
Vuln IDs
V-257878
Rule IDs
SV-257878r925621_rule
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.
Fix: F-61543r925620_fix

Modify "/etc/fstab" to use the "nosuid" option on the "/var/tmp" directory.

a
RHEL 9 must disable mounting of cramfs.
RMF Control
CM-7
Severity
Low
CCI
CCI-000381
Version
RHEL-09-231195
Vuln IDs
V-257880
Rule IDs
SV-257880r942957_rule
It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Removing support for unneeded filesystem types reduces the local attack surface of the server. Compressed ROM/RAM file system (or cramfs) is a read-only file system designed for simplicity and space-efficiency. It is mainly used in embedded and small-footprint systems.
Fix: F-61545r942956_fix

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): install cramfs /bin/false blacklist cramfs

b
RHEL 9 must prevent special devices on non-root local partitions.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-231200
Vuln IDs
V-257881
Rule IDs
SV-257881r925630_rule
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. The only legitimate location for device files is the "/dev" directory located on the root partition, with the exception of chroot jails if implemented.
Fix: F-61546r925629_fix

Configure the "/etc/fstab" to use the "nodev" option on all non-root local partitions.

b
RHEL 9 system commands must have mode 755 or less permissive.
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
RHEL-09-232010
Vuln IDs
V-257882
Rule IDs
SV-257882r925633_rule
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. This requirement applies to RHEL 9 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.
Fix: F-61547r925632_fix

Configure the system commands to be protected from unauthorized access. Run the following command, replacing "[FILE]" with any system command with a mode more permissive than "755". $ sudo chmod 755 [FILE]

b
RHEL 9 library directories must have mode 755 or less permissive.
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
RHEL-09-232015
Vuln IDs
V-257883
Rule IDs
SV-257883r925636_rule
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. This requirement applies to RHEL 9 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.
Fix: F-61548r925635_fix

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 with a mode more permissive than 755. $ sudo chmod 755 [DIRECTORY]

b
RHEL 9 library files must have mode 755 or less permissive.
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
RHEL-09-232020
Vuln IDs
V-257884
Rule IDs
SV-257884r925639_rule
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. This requirement applies to RHEL 9 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.
Fix: F-61549r925638_fix

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]

b
RHEL 9 /var/log directory must have mode 0755 or less permissive.
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
RHEL-09-232025
Vuln IDs
V-257885
Rule IDs
SV-257885r925642_rule
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. 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.
Fix: F-61550r925641_fix

Configure the "/var/log" directory to a mode of "0755" by running the following command: $ sudo chmod 0755 /var/log

b
RHEL 9 /var/log/messages file must have mode 0640 or less permissive.
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
RHEL-09-232030
Vuln IDs
V-257886
Rule IDs
SV-257886r925645_rule
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. 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.
Fix: F-61551r925644_fix

Configure the "/var/log/messages" file to have a mode of "0640" by running the following command: $ sudo chmod 0640 /var/log/messages

b
RHEL 9 audit tools must have a mode of 0755 or less permissive.
RMF Control
AU-9
Severity
Medium
CCI
CCI-001493
Version
RHEL-09-232035
Vuln IDs
V-257887
Rule IDs
SV-257887r925648_rule
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 9 systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools, and the corresponding rights the user enjoys, to make access decisions regarding the access to audit tools. 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.
Fix: F-61552r925647_fix

Configure the audit tools to have a mode of "0755" by running the following command: $ sudo chmod 0755 [audit_tool] Replace "[audit_tool]" with each audit tool that has a more permissive mode than 0755.

b
RHEL 9 cron configuration directories must have a mode of 0700 or less permissive.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232040
Vuln IDs
V-257888
Rule IDs
SV-257888r925651_rule
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.
Fix: F-61553r925650_fix

Configure any RHEL 9 cron configuration directory with a mode more permissive than "0700" as follows: chmod 0700 [cron configuration directory]

b
All RHEL 9 local initialization files must have mode 0740 or less permissive.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232045
Vuln IDs
V-257889
Rule IDs
SV-257889r925654_rule
Local initialization files are used to configure the user's shell environment upon logon. Malicious modification of these files could compromise accounts upon logon.
Fix: F-61554r925653_fix

Set the mode of the local initialization files to "0740" with the following command: Note: The example will be for the wadea user, who has a home directory of "/home/wadea". $ sudo chmod 0740 /home/wadea/.<INIT_FILE>

b
All RHEL 9 local interactive user home directories must have mode 0750 or less permissive.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232050
Vuln IDs
V-257890
Rule IDs
SV-257890r925657_rule
Excessive permissions on local interactive user home directories may allow unauthorized access to user files by other users.
Fix: F-61555r925656_fix

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 "wadea". $ sudo chmod 0750 /home/wadea

b
RHEL 9 /etc/group file must have mode 0644 or less permissive to prevent unauthorized access.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232055
Vuln IDs
V-257891
Rule IDs
SV-257891r925660_rule
The "/etc/group" file contains information regarding groups that are configured on the system. Protection of this file is important for system security.
Fix: F-61556r925659_fix

Change the mode of the file "/etc/group" to "0644" by running the following command: $ sudo chmod 0644 /etc/group

b
RHEL 9 /etc/group- file must have mode 0644 or less permissive to prevent unauthorized access.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232060
Vuln IDs
V-257892
Rule IDs
SV-257892r925663_rule
The "/etc/group-" file is a backup file of "/etc/group", and as such, contains information regarding groups that are configured on the system. Protection of this file is important for system security.
Fix: F-61557r925662_fix

Change the mode of the file "/etc/group-" to "0644" by running the following command: $ sudo chmod 0644 /etc/group-

b
RHEL 9 /etc/gshadow file must have mode 0000 or less permissive to prevent unauthorized access.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232065
Vuln IDs
V-257893
Rule IDs
SV-257893r925666_rule
The "/etc/gshadow" file contains group password hashes. Protection of this file is critical for system security.
Fix: F-61558r925665_fix

Change the mode of the file "/etc/gshadow" to "0000" by running the following command: $ sudo chmod 0000 /etc/gshadow

b
RHEL 9 /etc/gshadow- file must have mode 0000 or less permissive to prevent unauthorized access.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232070
Vuln IDs
V-257894
Rule IDs
SV-257894r925669_rule
The "/etc/gshadow-" file is a backup of "/etc/gshadow", and as such, contains group password hashes. Protection of this file is critical for system security.
Fix: F-61559r925668_fix

Change the mode of the file "/etc/gshadow-" to "0000" by running the following command: $ sudo chmod 0000 /etc/gshadow-

b
RHEL 9 /etc/passwd file must have mode 0644 or less permissive to prevent unauthorized access.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232075
Vuln IDs
V-257895
Rule IDs
SV-257895r925672_rule
If the "/etc/passwd" file is writable by a group-owner or the world the risk of its compromise is increased. The file contains the list of accounts on the system and associated information, and protection of this file is critical for system security.
Fix: F-61560r925671_fix

Change the mode of the file "/etc/passwd" to "0644" by running the following command: $ sudo chmod 0644 /etc/passwd

b
RHEL 9 /etc/passwd- file must have mode 0644 or less permissive to prevent unauthorized access.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232080
Vuln IDs
V-257896
Rule IDs
SV-257896r925675_rule
The "/etc/passwd-" file is a backup file of "/etc/passwd", and as such, contains information about the users that are configured on the system. Protection of this file is critical for system security.
Fix: F-61561r925674_fix

Change the mode of the file "/etc/passwd-" to "0644" by running the following command: $ sudo chmod 0644 /etc/passwd-

b
RHEL 9 /etc/shadow- file must have mode 0000 or less permissive to prevent unauthorized access.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232085
Vuln IDs
V-257897
Rule IDs
SV-257897r925678_rule
The "/etc/shadow-" file is a backup file of "/etc/shadow", and as such, contains the list of local system accounts and password hashes. Protection of this file is critical for system security.
Fix: F-61562r925677_fix

Change the mode of the file "/etc/shadow-" to "0000" by running the following command: $ sudo chmod 0000 /etc/shadow-

b
RHEL 9 /etc/group file must be owned by root.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232090
Vuln IDs
V-257898
Rule IDs
SV-257898r925681_rule
The "/etc/group" file contains information regarding groups that are configured on the system. Protection of this file is important for system security.
Fix: F-61563r925680_fix

Change the owner of the file /etc/group to root by running the following command: $ sudo chown root /etc/group

b
RHEL 9 /etc/group file must be group-owned by root.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232095
Vuln IDs
V-257899
Rule IDs
SV-257899r925684_rule
The "/etc/group" file contains information regarding groups that are configured on the system. Protection of this file is important for system security.
Fix: F-61564r925683_fix

Change the group of the file /etc/group to root by running the following command: $ sudo chgrp root /etc/group

b
RHEL 9 /etc/group- file must be owned by root.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232100
Vuln IDs
V-257900
Rule IDs
SV-257900r925687_rule
The "/etc/group-" file is a backup file of "/etc/group", and as such, contains information regarding groups that are configured on the system. Protection of this file is important for system security.
Fix: F-61565r925686_fix

Change the owner of the file /etc/group- to root by running the following command: $ sudo chown root /etc/group-

b
RHEL 9 /etc/group- file must be group-owned by root.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232105
Vuln IDs
V-257901
Rule IDs
SV-257901r925690_rule
The "/etc/group-" file is a backup file of "/etc/group", and as such, contains information regarding groups that are configured on the system. Protection of this file is important for system security.
Fix: F-61566r925689_fix

Change the group of the file /etc/group- to root by running the following command: $ sudo chgrp root /etc/group-

b
RHEL 9 /etc/gshadow file must be owned by root.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232110
Vuln IDs
V-257902
Rule IDs
SV-257902r925693_rule
The "/etc/gshadow" file contains group password hashes. Protection of this file is critical for system security.
Fix: F-61567r925692_fix

Change the owner of the file /etc/gshadow to root by running the following command: $ sudo chown root /etc/gshadow

b
RHEL 9 /etc/gshadow file must be group-owned by root.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232115
Vuln IDs
V-257903
Rule IDs
SV-257903r925696_rule
The "/etc/gshadow" file contains group password hashes. Protection of this file is critical for system security.
Fix: F-61568r925695_fix

Change the group of the file /etc/gshadow to root by running the following command: $ sudo chgrp root /etc/gshadow

b
RHEL 9 /etc/gshadow- file must be owned by root.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232120
Vuln IDs
V-257904
Rule IDs
SV-257904r925699_rule
The "/etc/gshadow-" file is a backup of "/etc/gshadow", and as such, contains group password hashes. Protection of this file is critical for system security.
Fix: F-61569r925698_fix

Change the owner of the file /etc/gshadow- to root by running the following command: $ sudo chown root /etc/gshadow-

b
RHEL 9 /etc/gshadow- file must be group-owned by root.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232125
Vuln IDs
V-257905
Rule IDs
SV-257905r925702_rule
The "/etc/gshadow-" file is a backup of "/etc/gshadow", and as such, contains group password hashes. Protection of this file is critical for system security.
Fix: F-61570r925701_fix

Change the group of the file /etc/gshadow- to root by running the following command: $ sudo chgrp root /etc/gshadow-

b
RHEL 9 /etc/passwd file must be owned by root.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232130
Vuln IDs
V-257906
Rule IDs
SV-257906r925705_rule
The "/etc/passwd" file contains information about the users that are configured on the system. Protection of this file is critical for system security.
Fix: F-61571r925704_fix

Change the owner of the file /etc/passwd to root by running the following command: $ sudo chown root /etc/passwd

b
RHEL 9 /etc/passwd file must be group-owned by root.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232135
Vuln IDs
V-257907
Rule IDs
SV-257907r925708_rule
The "/etc/passwd" file contains information about the users that are configured on the system. Protection of this file is critical for system security.
Fix: F-61572r925707_fix

Change the group of the file /etc/passwd to root by running the following command: $ sudo chgrp root /etc/passwd

b
RHEL 9 /etc/passwd- file must be owned by root.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232140
Vuln IDs
V-257908
Rule IDs
SV-257908r925711_rule
The "/etc/passwd-" file is a backup file of "/etc/passwd", and as such, contains information about the users that are configured on the system. Protection of this file is critical for system security.
Fix: F-61573r925710_fix

Change the owner of the file /etc/passwd- to root by running the following command: $ sudo chown root /etc/passwd-

b
RHEL 9 /etc/passwd- file must be group-owned by root.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232145
Vuln IDs
V-257909
Rule IDs
SV-257909r925714_rule
The "/etc/passwd-" file is a backup file of "/etc/passwd", and as such, contains information about the users that are configured on the system. Protection of this file is critical for system security.
Fix: F-61574r925713_fix

Change the group of the file /etc/passwd- to root by running the following command: $ sudo chgrp root /etc/passwd-

b
RHEL 9 /etc/shadow file must be owned by root.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232150
Vuln IDs
V-257910
Rule IDs
SV-257910r925717_rule
The "/etc/shadow" file contains the list of local system accounts and stores password hashes. Protection of this file is critical for system security. Failure to give ownership of this file to root provides the designated owner with access to sensitive information, which could weaken the system security posture.
Fix: F-61575r925716_fix

Change the owner of the file /etc/shadow to root by running the following command: $ sudo chown root /etc/shadow

b
RHEL 9 /etc/shadow file must be group-owned by root.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232155
Vuln IDs
V-257911
Rule IDs
SV-257911r925720_rule
The "/etc/shadow" file stores password hashes. Protection of this file is critical for system security.
Fix: F-61576r925719_fix

Change the group of the file /etc/shadow to root by running the following command: $ sudo chgrp root /etc/shadow

b
RHEL 9 /etc/shadow- file must be owned by root.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232160
Vuln IDs
V-257912
Rule IDs
SV-257912r925723_rule
The "/etc/shadow-" file is a backup file of "/etc/shadow", and as such, contains the list of local system accounts and password hashes. Protection of this file is critical for system security.
Fix: F-61577r925722_fix

Change the owner of the file /etc/shadow- to root by running the following command: $ sudo chown root /etc/shadow-

b
RHEL 9 /etc/shadow- file must be group-owned by root.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232165
Vuln IDs
V-257913
Rule IDs
SV-257913r925726_rule
The "/etc/shadow-" file is a backup file of "/etc/shadow", and as such, contains the list of local system accounts and password hashes. Protection of this file is critical for system security.
Fix: F-61578r925725_fix

Change the group of the file /etc/shadow- to root by running the following command: $ sudo chgrp root /etc/shadow-

b
RHEL 9 /var/log directory must be owned by root.
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
RHEL-09-232170
Vuln IDs
V-257914
Rule IDs
SV-257914r925729_rule
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. 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.
Fix: F-61579r925728_fix

Configure the owner of the directory "/var/log" to "root" by running the following command: $ sudo chown root /var/log

b
RHEL 9 /var/log directory must be group-owned by root.
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
RHEL-09-232175
Vuln IDs
V-257915
Rule IDs
SV-257915r925732_rule
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. 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.
Fix: F-61580r925731_fix

Configure the group owner of the directory "/var/log" to "root" by running the following command: $ sudo chgrp root /var/log

b
RHEL 9 /var/log/messages file must be owned by root.
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
RHEL-09-232180
Vuln IDs
V-257916
Rule IDs
SV-257916r925735_rule
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. 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.
Fix: F-61581r925734_fix

Change the owner of the "/var/log/messages" file to "root" by running the following command: $ sudo chown root /var/log/messages

b
RHEL 9 /var/log/messages file must be group-owned by root.
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
RHEL-09-232185
Vuln IDs
V-257917
Rule IDs
SV-257917r925738_rule
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. 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.
Fix: F-61582r925737_fix

Change the group owner of the "/var/log/messages" file to "root" by running the following command: $ sudo chgrp root /var/log/messages

b
RHEL 9 system commands must be owned by root.
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
RHEL-09-232190
Vuln IDs
V-257918
Rule IDs
SV-257918r925741_rule
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. This requirement applies to RHEL 9 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.
Fix: F-61583r925740_fix

Configure the system commands to be protected from unauthorized access. Run the following command, replacing "[FILE]" with any system command file not owned by "root". $ sudo chown root [FILE]

b
RHEL 9 system commands must be group-owned by root or a system account.
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
RHEL-09-232195
Vuln IDs
V-257919
Rule IDs
SV-257919r925744_rule
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. This requirement applies to RHEL 9 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.
Fix: F-61584r925743_fix

Configure the system commands to be protected from unauthorized access. Run the following command, replacing "[FILE]" with any system command file not group-owned by "root" or a required system account. $ sudo chgrp root [FILE]

b
RHEL 9 library files must be owned by root.
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
RHEL-09-232200
Vuln IDs
V-257920
Rule IDs
SV-257920r925747_rule
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. This requirement applies to RHEL 9 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.
Fix: F-61585r925746_fix

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]

b
RHEL 9 library files must be group-owned by root or a system account.
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
RHEL-09-232205
Vuln IDs
V-257921
Rule IDs
SV-257921r925750_rule
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. This requirement applies to RHEL 9 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.
Fix: F-61586r925749_fix

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]

b
RHEL 9 library directories must be owned by root.
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
RHEL-09-232210
Vuln IDs
V-257922
Rule IDs
SV-257922r925753_rule
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. This requirement applies to RHEL 9 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.
Fix: F-61587r925752_fix

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]

b
RHEL 9 library directories must be group-owned by root or a system account.
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
RHEL-09-232215
Vuln IDs
V-257923
Rule IDs
SV-257923r925756_rule
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. This requirement applies to RHEL 9 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.
Fix: F-61588r925755_fix

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]

b
RHEL 9 audit tools must be owned by root.
RMF Control
AU-9
Severity
Medium
CCI
CCI-001493
Version
RHEL-09-232220
Vuln IDs
V-257924
Rule IDs
SV-257924r925759_rule
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 9 systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools, and the corresponding rights the user enjoys, to make access decisions regarding the access to audit tools. 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.
Fix: F-61589r925758_fix

Configure the audit tools to be owned by "root" by running the following command: $ sudo chown root [audit_tool] Replace "[audit_tool]" with each audit tool not owned by "root".

b
RHEL 9 audit tools must be group-owned by root.
RMF Control
AU-9
Severity
Medium
CCI
CCI-001493
Version
RHEL-09-232225
Vuln IDs
V-257925
Rule IDs
SV-257925r925762_rule
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 9 systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools, and the corresponding rights the user enjoys, to make access decisions regarding the access to audit tools. 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.
Fix: F-61590r925761_fix

Configure the audit tools to be group-owned by "root" by running the following command: $ sudo chgrp root [audit_tool] Replace "[audit_tool]" with each audit tool not group-owned by "root".

b
RHEL 9 cron configuration files directory must be owned by root.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232230
Vuln IDs
V-257926
Rule IDs
SV-257926r925765_rule
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 must be owned by the correct group to prevent unauthorized changes.
Fix: F-61591r925764_fix

Configure any cron configuration not owned by root with the following command: $ sudo chown root [cron config file]

b
RHEL 9 cron configuration files directory must be group-owned by root.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232235
Vuln IDs
V-257927
Rule IDs
SV-257927r925768_rule
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.
Fix: F-61592r925767_fix

Configure any cron configuration not group-owned by root with the following command: $ sudo chgrp root [cron config file]

b
RHEL 9 /etc/crontab file must have mode 0600.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232265
Vuln IDs
V-257933
Rule IDs
SV-257933r925786_rule
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 must have the correct access rights to prevent unauthorized changes.
Fix: F-61598r925785_fix

Configure the RHEL 9 file /etc/crontab with mode 600. $ sudo chmod 0600 /etc/crontab

b
RHEL 9 /etc/shadow file must have mode 0000 to prevent unauthorized access.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-232270
Vuln IDs
V-257934
Rule IDs
SV-257934r925789_rule
The "/etc/shadow" file contains the list of local system accounts and stores password hashes. Protection of this file is critical for system security. Failure to give ownership of this file to root provides the designated owner with access to sensitive information, which could weaken the system security posture.
Fix: F-61599r925788_fix

Change the mode of the file "/etc/shadow" to "0000" by running the following command: $ sudo chmod 0000 /etc/shadow

b
RHEL 9 must have the firewalld package installed.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-251010
Vuln IDs
V-257935
Rule IDs
SV-257935r928954_rule
"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, 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
Fix: F-61600r925791_fix

To install the "firewalld" package run the following command: $ sudo dnf install firewalld

b
The firewalld service on RHEL 9 must be active.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-251015
Vuln IDs
V-257936
Rule IDs
SV-257936r925795_rule
"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 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
Fix: F-61601r925794_fix

To enable the firewalld service run the following command: $ sudo systemctl enable --now firewalld

b
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.
RMF Control
SC-5
Severity
Medium
CCI
CCI-002385
Version
RHEL-09-251030
Vuln IDs
V-257939
Rule IDs
SV-257939r925804_rule
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 9 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.
Fix: F-61604r925803_fix

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.

b
RHEL 9 network interfaces must not be in promiscuous mode.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-251040
Vuln IDs
V-257941
Rule IDs
SV-257941r925810_rule
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 systems security officer (ISSO) and restricted to only authorized personnel.
Fix: F-61606r925809_fix

Configure network interfaces to turn off promiscuous mode unless approved by the ISSO and documented. Set the promiscuous mode of an interface to off with the following command: $ sudo ip link set dev <devicename> multicast off promisc off

b
RHEL 9 must enable hardening for the Berkeley Packet Filter just-in-time compiler.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-251045
Vuln IDs
V-257942
Rule IDs
SV-257942r925813_rule
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".
Fix: F-61607r925812_fix

Configure RHEL 9 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 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

b
RHEL 9 must have the chrony package installed.
RMF Control
AU-8
Severity
Medium
CCI
CCI-001891
Version
RHEL-09-252010
Vuln IDs
V-257943
Rule IDs
SV-257943r925816_rule
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.
Fix: F-61608r925815_fix

The chrony package can be installed with the following command: $ sudo dnf install chrony

b
RHEL 9 chronyd service must be enabled.
RMF Control
AU-8
Severity
Medium
CCI
CCI-001891
Version
RHEL-09-252015
Vuln IDs
V-257944
Rule IDs
SV-257944r925819_rule
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.
Fix: F-61609r925818_fix

To enable the chronyd service run the following command: $ sudo systemctl enable --now chronyd

a
RHEL 9 must disable the chrony daemon from acting as a server.
RMF Control
CM-7
Severity
Low
CCI
CCI-000381
Version
RHEL-09-252025
Vuln IDs
V-257946
Rule IDs
SV-257946r925825_rule
Minimizing the exposure of the server functionality of the chrony daemon diminishes the attack surface. Satisfies: SRG-OS-000096-GPOS-00050, SRG-OS-000095-GPOS-00049
Fix: F-61611r925824_fix

Configure RHEL 9 to disable the chrony daemon from acting as a server by adding/modifying the following line in the /etc/chrony.conf file: port 0

a
RHEL 9 must disable network management of the chrony daemon.
RMF Control
CM-7
Severity
Low
CCI
CCI-000381
Version
RHEL-09-252030
Vuln IDs
V-257947
Rule IDs
SV-257947r925828_rule
Not exposing the management interface of the chrony daemon on the network diminishes the attack space. Satisfies: SRG-OS-000096-GPOS-00050, SRG-OS-000095-GPOS-00049
Fix: F-61612r925827_fix

Configure RHEL 9 to disable network management of the chrony daemon by adding/modifying the following line in the /etc/chrony.conf file: cmdport 0

b
RHEL 9 systems using Domain Name Servers (DNS) resolution must have at least two name servers configured.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-252035
Vuln IDs
V-257948
Rule IDs
SV-257948r925831_rule
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.
Fix: F-61613r925830_fix

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": 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] 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.

b
RHEL 9 must configure a DNS processing mode set be Network Manager.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-252040
Vuln IDs
V-257949
Rule IDs
SV-257949r925834_rule
In order to ensure that DNS resolver settings are respected, a DNS mode in Network Manager must be configured.
Fix: F-61614r925833_fix

Configure NetworkManager in RHEL 9 to use a DNS mode. In "/etc/NetworkManager/NetworkManager.conf" add the following line in the "[main]" section: dns = none NetworkManager must be reloaded for the change to take effect. $ sudo systemctl reload NetworkManager

b
RHEL 9 must be configured to prevent unrestricted mail relaying.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-252050
Vuln IDs
V-257951
Rule IDs
SV-257951r925840_rule
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.
Fix: F-61616r925839_fix

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'

b
RHEL 9 must forward mail from postmaster to the root account using a postfix alias.
RMF Control
AU-5
Severity
Medium
CCI
CCI-000139
Version
RHEL-09-252060
Vuln IDs
V-257953
Rule IDs
SV-257953r925846_rule
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.
Fix: F-61618r925845_fix

Configure a valid email address as an alias for the root account. Append the following line to "/etc/aliases": postmaster: root Then, run the following command: $ sudo newaliases

b
RHEL 9 libreswan package must be installed.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-252065
Vuln IDs
V-257954
Rule IDs
SV-257954r925849_rule
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. Satisfies: SRG-OS-000480-GPOS-00227, SRG-OS-000120-GPOS-00061
Fix: F-61619r925848_fix

Install the libreswan service (if it is not already installed) with the following command: $ sudo dnf install libreswan

c
There must be no shosts.equiv files on RHEL 9.
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
RHEL-09-252070
Vuln IDs
V-257955
Rule IDs
SV-257955r925852_rule
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.
Fix: F-61620r925851_fix

Remove any found "shosts.equiv" files from the system. $ sudo rm /[path]/[to]/[file]/shosts.equiv

c
There must be no .shosts files on RHEL 9.
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
RHEL-09-252075
Vuln IDs
V-257956
Rule IDs
SV-257956r925855_rule
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.
Fix: F-61621r925854_fix

Remove any found ".shosts" files from the system. $ sudo rm /[path]/[to]/[file]/.shosts

b
RHEL 9 must be configured to use TCP syncookies.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-253010
Vuln IDs
V-257957
Rule IDs
SV-257957r942983_rule
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. Managing excess capacity ensures that sufficient capacity is available to counter flooding attacks. Employing increased capacity and service redundancy may reduce the susceptibility to some DoS attacks. Managing excess capacity may include, for example, establishing selected usage priorities, quotas, or partitioning. Satisfies: SRG-OS-000480-GPOS-00227, SRG-OS-000420-GPOS-00186, SRG-OS-000142-GPOS-00071
Fix: F-61622r925857_fix

Configure RHEL 9 to use TCP syncookies. Add or edit the following line in a system configuration file in the "/etc/sysctl.d/" directory: net.ipv4.tcp_syncookies = 1 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must ignore Internet Protocol version 4 (IPv4) Internet Control Message Protocol (ICMP) redirect messages.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-253015
Vuln IDs
V-257958
Rule IDs
SV-257958r942985_rule
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. This feature of the IPv4 protocol has few legitimate uses. It should be disabled unless absolutely required.
Fix: F-61623r925860_fix

Configure RHEL 9 to ignore IPv4 ICMP redirect messages. Add or edit the following line in a single system configuration file, in the "/etc/sysctl.d/" directory: net.ipv4.conf.all.accept_redirects = 0 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must not forward Internet Protocol version 4 (IPv4) source-routed packets.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-253020
Vuln IDs
V-257959
Rule IDs
SV-257959r942987_rule
Source-routed packets allow the source of the packet to suggest 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-routerd traffic, such as when IPv4 forwarding is enabled and the system is functioning as a router. Accepting source-routed packets in the IPv4 protocol has few legitimate uses. It must be disabled unless it is absolutely required.
Fix: F-61624r925863_fix

Configure RHEL 9 to ignore IPv4 source-routed packets. Add or edit the following line in a single system configuration file, in the "/etc/sysctl.d/" directory: net.ipv4.conf.all.accept_source_route = 0 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must log IPv4 packets with impossible addresses.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-253025
Vuln IDs
V-257960
Rule IDs
SV-257960r925867_rule
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.
Fix: F-61625r925866_fix

Configure RHEL 9 to log martian packets on IPv4 interfaces. Add or edit the following line in a single system configuration file, in the "/etc/sysctl.d/" directory: net.ipv4.conf.all.log_martians=1 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must log IPv4 packets with impossible addresses by default.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-253030
Vuln IDs
V-257961
Rule IDs
SV-257961r925870_rule
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.
Fix: F-61626r925869_fix

Configure RHEL 9 to log martian packets on IPv4 interfaces by default. Add or edit the following line in a single system configuration file, in the "/etc/sysctl.d/" directory: net.ipv4.conf.default.log_martians=1 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must use reverse path filtering on all IPv4 interfaces.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-253035
Vuln IDs
V-257962
Rule IDs
SV-257962r942989_rule
Enabling reverse path filtering drops packets with source addresses that should not have been able to be received on the interface on which they were received. It must not be used on systems that are routers for complicated networks, but is helpful for end hosts and routers serving small networks.
Fix: F-61627r925872_fix

Configure RHEL 9 to use reverse path filtering on all IPv4 interfaces. Add or edit the following line in a single system configuration file, in the "/etc/sysctl.d/" directory: net.ipv4.conf.all.rp_filter = 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: $ sudo sysctl --system

b
RHEL 9 must prevent IPv4 Internet Control Message Protocol (ICMP) redirect messages from being accepted.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-253040
Vuln IDs
V-257963
Rule IDs
SV-257963r942991_rule
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. This feature of the IPv4 protocol has few legitimate uses. It must be disabled unless absolutely required.
Fix: F-61628r925875_fix

Configure RHEL 9 to prevent IPv4 ICMP redirect messages from being accepted. Add or edit the following line in a single system configuration file, in the "/etc/sysctl.d/" directory: net.ipv4.conf.default.accept_redirects = 0 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must not forward IPv4 source-routed packets by default.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-253045
Vuln IDs
V-257964
Rule IDs
SV-257964r942993_rule
Source-routed packets allow the source of the packet to suggest routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures. Accepting source-routed packets in the IPv4 protocol has few legitimate uses. It must be disabled unless it is absolutely required, such as when IPv4 forwarding is enabled and the system is legitimately functioning as a router.
Fix: F-61629r925878_fix

Configure RHEL 9 to not forward IPv4 source-routed packets by default. Add or edit the following line in a single system configuration file, in the "/etc/sysctl.d/" directory: net.ipv4.conf.default.accept_source_route = 0 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must use a reverse-path filter for IPv4 network traffic when possible by default.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-253050
Vuln IDs
V-257965
Rule IDs
SV-257965r925882_rule
Enabling reverse path filtering drops packets with source addresses that should not have been able to be received on the interface on which they were received. It must not be used on systems that are routers for complicated networks, but is helpful for end hosts and routers serving small networks.
Fix: F-61630r925881_fix

Configure RHEL 9 to use reverse path filtering on IPv4 interfaces by default. Add or edit the following line in a single system configuration file, in the "/etc/sysctl.d/" directory: net.ipv4.conf.default.rp_filter = 1 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must not respond to Internet Control Message Protocol (ICMP) echoes sent to a broadcast address.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-253055
Vuln IDs
V-257966
Rule IDs
SV-257966r942995_rule
Responding to broadcast (ICMP) echoes facilitates network mapping and provides a vector for amplification attacks. Ignoring ICMP echo requests (pings) sent to broadcast or multicast addresses makes the system slightly more difficult to enumerate on the network.
Fix: F-61631r925884_fix

Configure RHEL 9 to not respond to IPv4 ICMP echoes sent to a broadcast address. Add or edit the following line in a single system configuration file, in the "/etc/sysctl.d/" directory: net.ipv4.icmp_echo_ignore_broadcasts = 1 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must limit the number of bogus Internet Control Message Protocol (ICMP) response errors logs.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-253060
Vuln IDs
V-257967
Rule IDs
SV-257967r925888_rule
Some routers will send responses to broadcast frames that violate RFC-1122, which fills up a log file system with many useless error messages. An attacker may take advantage of this and attempt to flood the logs with bogus error logs. Ignoring bogus ICMP error responses reduces log size, although some activity would not be logged.
Fix: F-61632r925887_fix

Configure RHEL 9 to not log bogus ICMP errors: Add or edit the following line in a single system configuration file, in the "/etc/sysctl.d/" directory: net.ipv4.icmp_ignore_bogus_error_responses = 1 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must not send Internet Control Message Protocol (ICMP) redirects.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-253065
Vuln IDs
V-257968
Rule IDs
SV-257968r942997_rule
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. The ability to send ICMP redirects is only appropriate for systems acting as routers.
Fix: F-61633r925890_fix

Configure RHEL 9 to not allow interfaces to perform IPv4 ICMP redirects. Add or edit the following line in a single system configuration file, in the "/etc/sysctl.d/" directory: net.ipv4.conf.all.send_redirects = 0 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must not allow interfaces to perform Internet Control Message Protocol (ICMP) redirects by default.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-253070
Vuln IDs
V-257969
Rule IDs
SV-257969r942999_rule
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. The ability to send ICMP redirects is only appropriate for systems acting as routers.
Fix: F-61634r925893_fix

Configure RHEL 9 to not allow interfaces to perform Internet Protocol version 4 (IPv4) ICMP redirects by default. Add or edit the following line in a single system configuration file, in the "/etc/sysctl.d/" directory: net.ipv4.conf.default.send_redirects = 0 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must not enable IPv4 packet forwarding unless the system is a router.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-253075
Vuln IDs
V-257970
Rule IDs
SV-257970r943001_rule
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.
Fix: F-61635r925896_fix

Configure RHEL 9 to not allow IPv4 packet forwarding, unless the system is a router. Add or edit the following line in a single system configuration file, in the "/etc/sysctl.d/" directory: net.ipv4.conf.all.forwarding = 0 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must not accept router advertisements on all IPv6 interfaces.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-254010
Vuln IDs
V-257971
Rule IDs
SV-257971r925900_rule
An illicit router advertisement message could result in a man-in-the-middle attack.
Fix: F-61636r925899_fix

Configure RHEL 9 to not accept router advertisements on all IPv6 interfaces unless the system is a router. Add or edit the following line in a single system configuration file, in the "/etc/sysctl.d/" directory: net.ipv6.conf.all.accept_ra = 0 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must ignore IPv6 Internet Control Message Protocol (ICMP) redirect messages.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-254015
Vuln IDs
V-257972
Rule IDs
SV-257972r925903_rule
An illicit ICMP redirect message could result in a man-in-the-middle attack.
Fix: F-61637r925902_fix

Configure RHEL 9 to ignore IPv6 ICMP redirect messages. Add or edit the following line in a single system configuration file, in the "/etc/sysctl.d/" directory: net.ipv6.conf.all.accept_redirects = 0 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must not forward IPv6 source-routed packets.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-254020
Vuln IDs
V-257973
Rule IDs
SV-257973r943003_rule
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.
Fix: F-61638r925905_fix

Configure RHEL 9 to not forward IPv6 source-routed packets. Add or edit the following line in a single system configuration file, in the "/etc/sysctl.d/" directory: net.ipv6.conf.all.accept_source_route = 0 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must not enable IPv6 packet forwarding unless the system is a router.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-254025
Vuln IDs
V-257974
Rule IDs
SV-257974r943005_rule
IP forwarding permits the kernel to forward packets from one network interface to another. The ability to forward packets between two networks is only appropriate for systems acting as routers.
Fix: F-61639r925908_fix

Configure RHEL 9 to not allow IPv6 packet forwarding, unless the system is a router. Add or edit the following line in a single system configuration file, in the "/etc/sysctl.d/" directory: net.ipv6.conf.all.forwarding = 0 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must not accept router advertisements on all IPv6 interfaces by default.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-254030
Vuln IDs
V-257975
Rule IDs
SV-257975r943007_rule
An illicit router advertisement message could result in a man-in-the-middle attack.
Fix: F-61640r925911_fix

Configure RHEL 9 to not accept router advertisements on all IPv6 interfaces by default unless the system is a router. Add or edit the following line in a single system configuration file, in the "/etc/sysctl.d/" directory: net.ipv6.conf.default.accept_ra = 0 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must prevent IPv6 Internet Control Message Protocol (ICMP) redirect messages from being accepted.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-254035
Vuln IDs
V-257976
Rule IDs
SV-257976r943009_rule
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.
Fix: F-61641r925914_fix

Configure RHEL 9 to prevent IPv6 ICMP redirect messages from being accepted. Add or edit the following line in a single system configuration file, in the "/etc/sysctl.d/" directory: net.ipv6.conf.default.accept_redirects = 0 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
RHEL 9 must not forward IPv6 source-routed packets by default.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-254040
Vuln IDs
V-257977
Rule IDs
SV-257977r943011_rule
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. Accepting source-routed packets in the IPv6 protocol has few legitimate uses. It must be disabled unless it is absolutely required.
Fix: F-61642r925917_fix

Configure RHEL 9 to not forward IPv6 source-routed packets by default. Add or edit the following line in a single system configuration file, in the "/etc/sysctl.d/" directory: net.ipv6.conf.default.accept_source_route = 0 Load settings from all system configuration files with the following command: $ sudo sysctl --system

b
All RHEL 9 networked systems must have SSH installed.
RMF Control
SC-8
Severity
Medium
CCI
CCI-002418
Version
RHEL-09-255010
Vuln IDs
V-257978
Rule IDs
SV-257978r925921_rule
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
Fix: F-61643r925920_fix

The openssh-server package can be installed with the following command: $ sudo dnf install openssh-server

b
All RHEL 9 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.
RMF Control
SC-8
Severity
Medium
CCI
CCI-002418
Version
RHEL-09-255015
Vuln IDs
V-257979
Rule IDs
SV-257979r925924_rule
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
Fix: F-61644r925923_fix

To enable the sshd service run the following command: $ systemctl enable --now sshd

b
RHEL 9 must have the openssh-clients package installed.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-255020
Vuln IDs
V-257980
Rule IDs
SV-257980r928960_rule
This package includes utilities to make encrypted connections and transfer files securely to SSH servers.
Fix: F-61645r928960_fix

The openssh-clients package can be installed with the following command: $ sudo dnf install openssh-clients

b
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.
RMF Control
AC-8
Severity
Medium
CCI
CCI-000048
Version
RHEL-09-255025
Vuln IDs
V-257981
Rule IDs
SV-257981r943028_rule
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. Satisfies: SRG-OS-000023-GPOS-00006, SRG-OS-000228-GPOS-00088
Fix: F-61646r925929_fix

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). An example configuration line is: Banner /etc/issue

b
RHEL 9 must log SSH connection attempts and failures to the server.
RMF Control
AC-17
Severity
Medium
CCI
CCI-000067
Version
RHEL-09-255030
Vuln IDs
V-257982
Rule IDs
SV-257982r943030_rule
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.
Fix: F-61647r925932_fix

Configure RHEL 9 to log connection attempts add or modify the following line in "/etc/ssh/sshd_config". LogLevel VERBOSE Restart the SSH daemon for the settings to take effect: $ sudo systemctl restart sshd.service

b
RHEL 9 SSHD must accept public key authentication.
RMF Control
IA-2
Severity
Medium
CCI
CCI-000765
Version
RHEL-09-255035
Vuln IDs
V-257983
Rule IDs
SV-257983r943032_rule
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 CAC with DOD-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
Fix: F-61648r925935_fix

To configure the system add or modify the following line in "/etc/ssh/sshd_config". PubkeyAuthentication yes Restart the SSH daemon for the settings to take effect: $ sudo systemctl restart sshd.service

c
RHEL 9 SSHD must not allow blank passwords.
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
RHEL-09-255040
Vuln IDs
V-257984
Rule IDs
SV-257984r943034_rule
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. Satisfies: SRG-OS-000106-GPOS-00053, SRG-OS-000480-GPOS-00229, SRG-OS-000480-GPOS-00227
Fix: F-61649r925938_fix

To configure the system to prevent SSH users from logging on with blank passwords edit the following line in "etc/ssh/sshd_config": PermitEmptyPasswords no Restart the SSH daemon for the settings to take effect: $ sudo systemctl restart sshd.service

b
RHEL 9 must not permit direct logons to the root account using remote access via SSH.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-255045
Vuln IDs
V-257985
Rule IDs
SV-257985r943036_rule
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. Satisfies: SRG-OS-000109-GPOS-00056, SRG-OS-000480-GPOS-00227
Fix: F-61650r925941_fix

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". PermitRootLogin no Restart the SSH daemon for the settings to take effect: $ sudo systemctl restart sshd.service

c
RHEL 9 must enable the Pluggable Authentication Module (PAM) interface for SSHD.
RMF Control
MA-4
Severity
High
CCI
CCI-000877
Version
RHEL-09-255050
Vuln IDs
V-257986
Rule IDs
SV-257986r943038_rule
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.
Fix: F-61651r925944_fix

Configure the RHEL 9 SSHD to use the UsePAM interface add or modify the following line in "/etc/ssh/sshd_config". UsePAM yes Restart the SSH daemon for the settings to take effect: $ sudo systemctl restart sshd.service

b
RHEL 9 SSH daemon must be configured to use system-wide crypto policies.
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
RHEL-09-255055
Vuln IDs
V-257987
Rule IDs
SV-257987r925948_rule
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.
Fix: F-61652r925947_fix

Configure the RHEL 9 SSH daemon to use system-wide crypto policies by running the following commands: $ sudo dnf reinstall openssh-server

b
RHEL 9 must implement DOD-approved encryption ciphers to protect the confidentiality of SSH client connections.
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
RHEL-09-255060
Vuln IDs
V-257988
Rule IDs
SV-257988r925951_rule
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 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.
Fix: F-61653r925950_fix

Configure the RHEL 9 SSH daemon to use system-wide crypto policies by running the following commands: $ sudo dnf reinstall openssh-clients

b
RHEL 9 must implement DOD-approved encryption ciphers to protect the confidentiality of SSH server connections.
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
RHEL-09-255065
Vuln IDs
V-257989
Rule IDs
SV-257989r943014_rule
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.
Fix: F-61654r943013_fix

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: Ciphers aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes128-gcm@openssh.com,aes128-ctr A reboot is required for the changes to take effect.

b
RHEL 9 SSH client must be configured to use only Message Authentication Codes (MACs) employing FIPS 140-3 validated cryptographic hash algorithms.
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
RHEL-09-255070
Vuln IDs
V-257990
Rule IDs
SV-257990r925957_rule
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 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.
Fix: F-61655r925956_fix

Configure the RHEL 9 SSH client 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: MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-512,hmac-sha2-256-etm@openssh.com,hmac-sha2-256 A reboot is required for the changes to take effect.

b
RHEL 9 SSH server must be configured to use only Message Authentication Codes (MACs) employing FIPS 140-3 validated cryptographic hash algorithms.
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
RHEL-09-255075
Vuln IDs
V-257991
Rule IDs
SV-257991r925960_rule
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.
Fix: F-61656r925959_fix

Configure the RHEL 9 SSH client 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: 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 A reboot is required for the changes to take effect.

b
RHEL 9 must not allow a noncertificate trusted host SSH logon to the system.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-255080
Vuln IDs
V-257992
Rule IDs
SV-257992r943040_rule
SSH trust relationships mean a compromise on one host can allow an attacker to move trivially to other hosts.
Fix: F-61657r925962_fix

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". HostbasedAuthentication no Restart the SSH daemon for the settings to take effect: $ sudo systemctl restart sshd.service

b
RHEL 9 must not allow users to override SSH environment variables.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-255085
Vuln IDs
V-257993
Rule IDs
SV-257993r943042_rule
SSH environment options potentially allow users to bypass access restriction in some configurations.
Fix: F-61658r925965_fix

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: PermitUserEnvironment no Restart the SSH daemon for the setting to take effect: $ sudo systemctl restart sshd.service

b
RHEL 9 must force a frequent session key renegotiation for SSH connections to the server.
RMF Control
AC-17
Severity
Medium
CCI
CCI-000068
Version
RHEL-09-255090
Vuln IDs
V-257994
Rule IDs
SV-257994r943044_rule
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. Session key regeneration limits the chances of a session key becoming compromised. Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000033-GPOS-00014, SRG-OS-000424-GPOS-00188
Fix: F-61659r925968_fix

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: RekeyLimit 1G 1h Restart the SSH daemon for the settings to take effect. $ sudo systemctl restart sshd.service

b
RHEL 9 must be configured so that all network connections associated with SSH traffic terminate after becoming unresponsive.
RMF Control
SC-10
Severity
Medium
CCI
CCI-001133
Version
RHEL-09-255095
Vuln IDs
V-257995
Rule IDs
SV-257995r942963_rule
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 the operating system terminates all sessions or network access; it only ends the unresponsive session and releases the resources associated with that session. RHEL 9 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-000279-GPOS-00109
Fix: F-61660r925971_fix

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: ClientAliveCountMax 1 In order for the changes to take effect, the SSH daemon must be restarted. $ sudo systemctl restart sshd.service

b
RHEL 9 must be configured so that all network connections associated with SSH traffic are terminated after 10 minutes of becoming unresponsive.
RMF Control
MA-4
Severity
Medium
CCI
CCI-000879
Version
RHEL-09-255100
Vuln IDs
V-257996
Rule IDs
SV-257996r943046_rule
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 the operating system terminates all sessions or network access; it only ends the unresponsive session and releases the resources associated with that session. RHEL 9 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-000126-GPOS-00066, SRG-OS-000163-GPOS-00072, SRG-OS-000279-GPOS-00109, SRG-OS-000395-GPOS-00175
Fix: F-61661r925974_fix

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: ClientAliveInterval 600 In order for the changes to take effect, the SSH daemon must be restarted. $ sudo systemctl restart sshd.service

b
RHEL 9 SSH server configuration file must be group-owned by root.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-255105
Vuln IDs
V-257997
Rule IDs
SV-257997r925978_rule
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.
Fix: F-61662r925977_fix

Configure the "/etc/ssh/sshd_config" file to be group-owned by root with the following command: $ sudo chgrp root /etc/ssh/sshd_config

b
RHEL 9 SSH server configuration file must be owned by root.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-255110
Vuln IDs
V-257998
Rule IDs
SV-257998r925981_rule
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.
Fix: F-61663r925980_fix

Configure the "/etc/ssh/sshd_config" file to be owned by root with the following command: $ sudo chown root /etc/ssh/sshd_config

b
RHEL 9 SSH server configuration file must have mode 0600 or less permissive.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-255115
Vuln IDs
V-257999
Rule IDs
SV-257999r925984_rule
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.
Fix: F-61664r925983_fix

Configure the "/etc/ssh/sshd_config" permissions to be "0600" with the following command: $ sudo chmod 0600 /etc/ssh/sshd_config

b
RHEL 9 SSH private host key files must have mode 0640 or less permissive.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-255120
Vuln IDs
V-258000
Rule IDs
SV-258000r925987_rule
If an unauthorized user obtains the private SSH host key file, the host could be impersonated.
Fix: F-61665r925986_fix

Configure the mode of SSH private host key files under "/etc/ssh" to "0640" with the following command: $ sudo chmod 0640 /etc/ssh/ssh_host*key Restart the SSH daemon for the changes to take effect: $ sudo systemctl restart sshd.service

b
RHEL 9 SSH public host key files must have mode 0644 or less permissive.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-255125
Vuln IDs
V-258001
Rule IDs
SV-258001r925990_rule
If a public host key file is modified by an unauthorized user, the SSH service may be compromised.
Fix: F-61666r925989_fix

Change the mode of public host key files under "/etc/ssh" to "0644" with the following command: $ sudo chmod 0644 /etc/ssh/*key.pub Restart the SSH daemon for the changes to take effect: $ sudo systemctl restart sshd.service

b
RHEL 9 SSH daemon must not allow compression or must only allow compression after successful authentication.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-255130
Vuln IDs
V-258002
Rule IDs
SV-258002r925993_rule
If compression is allowed in an SSH connection prior to authentication, vulnerabilities in the compression software could result in compromise of the system from an unauthenticated connection, potentially with root privileges.
Fix: F-61667r925992_fix

Configure the SSH daemon to not allow compression. Uncomment the "Compression" keyword in "/etc/ssh/sshd_config" on the system and set the value to "delayed" or "no": Compression no The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service

b
RHEL 9 SSH daemon must not allow GSSAPI authentication.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-255135
Vuln IDs
V-258003
Rule IDs
SV-258003r925996_rule
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. Satisfies: SRG-OS-000364-GPOS-00151, SRG-OS-000480-GPOS-00227
Fix: F-61668r925995_fix

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": GSSAPIAuthentication no The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service

b
RHEL 9 SSH daemon must not allow Kerberos authentication.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-255140
Vuln IDs
V-258004
Rule IDs
SV-258004r925999_rule
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. Satisfies: SRG-OS-000364-GPOS-00151, SRG-OS-000480-GPOS-00227
Fix: F-61669r925998_fix

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": KerberosAuthentication no The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service

b
RHEL 9 SSH daemon must not allow rhosts authentication.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-255145
Vuln IDs
V-258005
Rule IDs
SV-258005r926002_rule
SSH trust relationships mean a compromise on one host can allow an attacker to move trivially to other hosts.
Fix: F-61670r926001_fix

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": IgnoreRhosts yes The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service

b
RHEL 9 SSH daemon must not allow known hosts authentication.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-255150
Vuln IDs
V-258006
Rule IDs
SV-258006r926005_rule
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.
Fix: F-61671r926004_fix

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": IgnoreUserKnownHosts yes The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service

b
RHEL 9 SSH daemon must disable remote X connections for interactive users.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-255155
Vuln IDs
V-258007
Rule IDs
SV-258007r943048_rule
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.
Fix: F-61672r943047_fix

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": X11forwarding no The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service

b
RHEL 9 SSH daemon must perform strict mode checking of home directory configuration files.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-255160
Vuln IDs
V-258008
Rule IDs
SV-258008r926011_rule
If other users have access to modify user-specific SSH configuration files, they may be able to log into the system as another user.
Fix: F-61673r926010_fix

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": StrictModes yes The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service

b
RHEL 9 SSH daemon must display the date and time of the last successful account logon upon an SSH logon.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-255165
Vuln IDs
V-258009
Rule IDs
SV-258009r926014_rule
Providing users feedback on when account accesses last occurred facilitates user recognition and reporting of unauthorized account use.
Fix: F-61674r926013_fix

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": PrintLastLog yes The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service

b
RHEL 9 SSH daemon must be configured to use privilege separation.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-255170
Vuln IDs
V-258010
Rule IDs
SV-258010r926017_rule
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.
Fix: F-61675r926016_fix

Configure the SSH daemon to perform privilege separation. Add the following line in "/etc/ssh/sshd_config", or uncomment the line and set the value to "yes" or "sandbox": UsePrivilegeSeparation sandbox The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service

b
RHEL 9 SSH daemon must prevent remote hosts from connecting to the proxy display.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-255175
Vuln IDs
V-258011
Rule IDs
SV-258011r943050_rule
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.
Fix: F-61676r926019_fix

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": X11UseLocalhost yes The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service

b
RHEL 9 must prevent a user from overriding the banner-message-enable setting for the graphical user interface.
RMF Control
AC-8
Severity
Medium
CCI
CCI-000048
Version
RHEL-09-271015
Vuln IDs
V-258013
Rule IDs
SV-258013r926026_rule
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
Fix: F-61678r926025_fix

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: $ sudo touch /etc/dconf/db/local.d/locks/session Add the following setting to prevent nonprivileged users from modifying it: banner-message-enable Run the following command to update the database: $ sudo dconf update

b
RHEL 9 must disable the graphical user interface automount function unless required.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-271020
Vuln IDs
V-258014
Rule IDs
SV-258014r926029_rule
Automatically mounting file systems permits easy introduction of unknown devices, thereby facilitating malicious activity. Satisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163, SRG-OS-000480-GPOS-00227
Fix: F-61679r926028_fix

Configure the GNOME desktop to disable automated mounting of removable media. The dconf settings can be edited in the /etc/dconf/db/* location. Update the [org/gnome/desktop/media-handling] section of the "/etc/dconf/db/local.d/00-security-settings" database file and add or update the following lines: [org/gnome/desktop/media-handling] automount-open=false Then update the dconf system databases: $ sudo dconf update

b
RHEL 9 must prevent a user from overriding the disabling of the graphical user interface automount function.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-271025
Vuln IDs
V-258015
Rule IDs
SV-258015r926032_rule
A nonprivileged account is any operating system account with authorizations of a nonprivileged user. Satisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163, SRG-OS-000480-GPOS-00227
Fix: F-61680r926031_fix

Configure the GNOME desktop to not allow a user to change the setting that disables automated mounting of removable media. Add the following line to "/etc/dconf/db/local.d/locks/00-security-settings-lock" to prevent user modification: /org/gnome/desktop/media-handling/automount-open Then update the dconf system databases: $ sudo dconf update

b
RHEL 9 must prevent a user from overriding the disabling of the graphical user interface autorun function.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-271035
Vuln IDs
V-258017
Rule IDs
SV-258017r926038_rule
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. Satisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163, SRG-OS-000480-GPOS-00227
Fix: F-61682r926037_fix

Configure the GNOME desktop to not allow a user to change the setting that disables autorun on removable media. Add the following line to "/etc/dconf/db/local.d/locks/00-security-settings-lock" to prevent user modification: /org/gnome/desktop/media-handling/autorun-never Then update the dconf system databases: $ sudo dconf update

c
RHEL 9 must not allow unattended or automatic logon via the graphical user interface.
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
RHEL-09-271040
Vuln IDs
V-258018
Rule IDs
SV-258018r926041_rule
Failure to restrict system access to authenticated users negatively impacts operating system security.
Fix: F-61683r926040_fix

Configure the GNOME desktop display manager to disable automatic login. Set AutomaticLoginEnable to false in the [daemon] section in /etc/gdm/custom.conf. For example: [daemon] AutomaticLoginEnable=false

b
RHEL 9 must be able to initiate directly a session lock for all connection types using smart card when the smart card is removed.
RMF Control
AC-11
Severity
Medium
CCI
CCI-000056
Version
RHEL-09-271045
Vuln IDs
V-258019
Rule IDs
SV-258019r926044_rule
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 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
Fix: F-61684r926043_fix

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: $ sudo authselect select sssd with-smartcard with-smartcard-lock-on-removal Alternatively, the dconf settings can be edited in the /etc/dconf/db/* location. Add or update the [org/gnome/settings-daemon/peripherals/smartcard] section of the /etc/dconf/db/local.d/00-security-settings" database file and add or update the following lines: [org/gnome/settings-daemon/peripherals/smartcard] removal-action='lock-screen' Then update the dconf system databases: $ sudo dconf update

b
RHEL 9 must prevent a user from overriding the disabling of the graphical user smart card removal action.
RMF Control
AC-11
Severity
Medium
CCI
CCI-000056
Version
RHEL-09-271050
Vuln IDs
V-258020
Rule IDs
SV-258020r926047_rule
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 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
Fix: F-61685r926046_fix

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 Then update the dconf system databases: $ sudo dconf update

b
RHEL 9 must enable a user session lock until that user re-establishes access using established identification and authentication procedures for graphical user sessions.
RMF Control
AC-11
Severity
Medium
CCI
CCI-000056
Version
RHEL-09-271055
Vuln IDs
V-258021
Rule IDs
SV-258021r926050_rule
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
Fix: F-61686r926049_fix

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: $ 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

b
RHEL 9 must prevent a user from overriding the screensaver lock-enabled setting for the graphical user interface.
RMF Control
AC-11
Severity
Medium
CCI
CCI-000056
Version
RHEL-09-271060
Vuln IDs
V-258022
Rule IDs
SV-258022r926053_rule
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. Satisfies: SRG-OS-000028-GPOS-00009, SRG-OS-000030-GPOS-00011
Fix: F-61687r926052_fix

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: 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 nonprivileged users from modifying it: /org/gnome/desktop/screensaver/lock-enabled

b
RHEL 9 must automatically lock graphical user sessions after 15 minutes of inactivity.
RMF Control
AC-11
Severity
Medium
CCI
CCI-000057
Version
RHEL-09-271065
Vuln IDs
V-258023
Rule IDs
SV-258023r926056_rule
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 a session lock. Satisfies: SRG-OS-000029-GPOS-00010, SRG-OS-000031-GPOS-00012
Fix: F-61688r926055_fix

Configure RHEL 9 to initiate a screensaver after a 15-minute period of inactivity for graphical user interfaces. Create a database to contain the system-wide screensaver settings (if it does not already exist) with the following command: $ sudo touch /etc/dconf/db/local.d/00-screensaver Edit /etc/dconf/db/local.d/00-screensaver and add or update the following lines: [org/gnome/desktop/session] # Set the lock time out to 900 seconds before the session is considered idle idle-delay=uint32 900 Update the system databases: $ sudo dconf update

b
RHEL 9 must prevent a user from overriding the session idle-delay setting for the graphical user interface.
RMF Control
AC-11
Severity
Medium
CCI
CCI-000057
Version
RHEL-09-271070
Vuln IDs
V-258024
Rule IDs
SV-258024r926059_rule
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. Satisfies: SRG-OS-000029-GPOS-00010, SRG-OS-000031-GPOS-00012
Fix: F-61689r926058_fix

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: 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 nonprivileged users from modifying it: /org/gnome/desktop/session/idle-delay

b
RHEL 9 must prevent a user from overriding the session lock-delay setting for the graphical user interface.
RMF Control
AC-11
Severity
Medium
CCI
CCI-000057
Version
RHEL-09-271080
Vuln IDs
V-258026
Rule IDs
SV-258026r926065_rule
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.
Fix: F-61691r926064_fix

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: 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 nonprivileged users from modifying it: /org/gnome/desktop/screensaver/lock-delay

b
RHEL 9 must conceal, via the session lock, information previously visible on the display with a publicly viewable image.
RMF Control
AC-11
Severity
Medium
CCI
CCI-000060
Version
RHEL-09-271085
Vuln IDs
V-258027
Rule IDs
SV-258027r926068_rule
Setting the screensaver mode to blank-only conceals the contents of the display from passersby.
Fix: F-61692r926067_fix

The dconf settings can be edited in the /etc/dconf/db/* location. 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: [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: /org/gnome/desktop/screensaver/picture-uri Finally, update the dconf system databases: $ sudo dconf update

b
RHEL 9 must disable the ability of a user to restart the system from the login screen.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-271095
Vuln IDs
V-258029
Rule IDs
SV-258029r943059_rule
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.
Fix: F-61694r943058_fix

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' Then update the dconf system databases: $ sudo dconf update

b
RHEL 9 must prevent a user from overriding the disable-restart-buttons setting for the graphical user interface.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-271100
Vuln IDs
V-258030
Rule IDs
SV-258030r926077_rule
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.
Fix: F-61695r926076_fix

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: $ sudo touch /etc/dconf/db/local.d/locks/session Add the following line to prevent nonprivileged users from modifying it: /org/gnome/login-screen/disable-restart-buttons Run the following command to update the database: $ sudo dconf update

b
RHEL 9 must prevent a user from overriding the Ctrl-Alt-Del sequence settings for the graphical user interface.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-271110
Vuln IDs
V-258032
Rule IDs
SV-258032r926083_rule
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.
Fix: F-61697r926082_fix

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: $ sudo touch /etc/dconf/db/local.d/locks/session Add the following line to the session locks file to prevent nonprivileged users from modifying the Ctrl-Alt-Del setting: /org/gnome/settings-daemon/plugins/media-keys/logout Run the following command to update the database: $ sudo dconf update

b
RHEL 9 must disable the user list at logon for graphical user interfaces.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-271115
Vuln IDs
V-258033
Rule IDs
SV-258033r926086_rule
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.
Fix: F-61698r926085_fix

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. $ 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

b
RHEL 9 must be configured to disable USB mass storage.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-291010
Vuln IDs
V-258034
Rule IDs
SV-258034r926089_rule
USB mass storage permits easy introduction of unknown devices, thereby facilitating malicious activity. Satisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163, SRG-OS-000480-GPOS-00227
Fix: F-61699r926088_fix

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): install usb-storage /bin/false blacklist usb-storage

b
RHEL 9 must have the USBGuard package installed.
RMF Control
IA-3
Severity
Medium
CCI
CCI-001958
Version
RHEL-09-291015
Vuln IDs
V-258035
Rule IDs
SV-258035r926092_rule
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.
Fix: F-61700r926091_fix

Install the usbguard package with the following command: $ sudo dnf install usbguard

b
RHEL 9 must have the USBGuard package enabled.
RMF Control
IA-3
Severity
Medium
CCI
CCI-001958
Version
RHEL-09-291020
Vuln IDs
V-258036
Rule IDs
SV-258036r926095_rule
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.
Fix: F-61701r926094_fix

To enable the USBGuard service run the following command: $ sudo systemctl enable --now usbguard

a
RHEL 9 must enable Linux audit logging for the USBGuard daemon.
RMF Control
AU-12
Severity
Low
CCI
CCI-000169
Version
RHEL-09-291025
Vuln IDs
V-258037
Rule IDs
SV-258037r926098_rule
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 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.
Fix: F-61702r926097_fix

Configure RHEL 9 USBGuard AuditBackend to use the audit system. Add or edit the following line in /etc/usbguard/usbguard-daemon.conf AuditBackend=LinuxAudit

b
RHEL 9 Bluetooth must be disabled.
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
RHEL-09-291035
Vuln IDs
V-258039
Rule IDs
SV-258039r926104_rule
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. Satisfies: SRG-OS-000095-GPOS-00049, SRG-OS-000300-GPOS-00118
Fix: F-61704r926103_fix

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: install bluetooth /bin/false blacklist bluetooth Reboot the system for the settings to take effect.

b
RHEL 9 user account passwords for new users or password changes must have a 60-day maximum password lifetime restriction in /etc/login.defs.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000199
Version
RHEL-09-411010
Vuln IDs
V-258041
Rule IDs
SV-258041r926110_rule
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. Setting the password maximum age ensures users are required to periodically change their passwords. Requiring shorter password lifetimes increases the risk of users writing down the password in a convenient location subject to physical compromise.
Fix: F-61706r926109_fix

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

b
RHEL 9 user account passwords must have a 60-day maximum password lifetime restriction.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000199
Version
RHEL-09-411015
Vuln IDs
V-258042
Rule IDs
SV-258042r926113_rule
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.
Fix: F-61707r926112_fix

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

b
All RHEL 9 local interactive user accounts must be assigned a home directory upon creation.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-411020
Vuln IDs
V-258043
Rule IDs
SV-258043r926116_rule
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.
Fix: F-61708r926115_fix

Configure RHEL 9 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

b
RHEL 9 duplicate User IDs (UIDs) must not exist for interactive users.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000135
Version
RHEL-09-411030
Vuln IDs
V-258045
Rule IDs
SV-258045r926122_rule
To ensure accountability and prevent unauthenticated access, interactive users must be identified and authenticated to prevent potential misuse and compromise of the system. Satisfies: SRG-OS-000104-GPOS-00051, SRG-OS-000121-GPOS-00062, SRG-OS-000042-GPOS-00020
Fix: F-61710r926121_fix

Edit the file "/etc/passwd" and provide each interactive user account that has a duplicate UID with a unique UID.

b
RHEL 9 system accounts must not have an interactive login shell.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-411035
Vuln IDs
V-258046
Rule IDs
SV-258046r926125_rule
Ensuring shells are not given to system accounts upon login makes it more difficult for attackers to make use of system accounts.
Fix: F-61711r926124_fix

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 <user> with the user that has a login shell. $ 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.

b
All RHEL 9 interactive users must have a primary group that exists.
RMF Control
IA-2
Severity
Medium
CCI
CCI-000764
Version
RHEL-09-411045
Vuln IDs
V-258048
Rule IDs
SV-258048r926131_rule
If a user is assigned the Group Identifier (GID) of a group that does not exist on the system, and a group with the GID is subsequently created, the user may have unintended rights to any files associated with the group.
Fix: F-61713r926130_fix

Configure the system so that all GIDs are referenced in "/etc/passwd" are defined in "/etc/group". Edit the file "/etc/passwd" and ensure that every user's GID is a valid GID.

b
RHEL 9 must disable account identifiers (individuals, groups, roles, and devices) after 35 days of inactivity.
RMF Control
IA-4
Severity
Medium
CCI
CCI-000795
Version
RHEL-09-411050
Vuln IDs
V-258049
Rule IDs
SV-258049r926134_rule
Inactive identifiers pose a risk to systems and applications because attackers may exploit an inactive identifier and potentially obtain undetected access to the system. Disabling inactive accounts ensures that accounts which may not have been responsibly removed are not available to attackers who may have compromised their credentials. Owners of inactive accounts will not notice if unauthorized access to their user account has been obtained.
Fix: F-61714r926133_fix

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: $ sudo useradd -D -f 35 The recommendation is 35 days, but a lower value is acceptable.

b
All RHEL 9 local interactive users must have a home directory assigned in the /etc/passwd file.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-411060
Vuln IDs
V-258051
Rule IDs
SV-258051r926140_rule
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.
Fix: F-61716r926139_fix

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

b
RHEL 9 must automatically lock an account when three unsuccessful logon attempts occur.
RMF Control
AC-7
Severity
Medium
CCI
CCI-000044
Version
RHEL-09-411075
Vuln IDs
V-258054
Rule IDs
SV-258054r926149_rule
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. Satisfies: SRG-OS-000329-GPOS-00128, SRG-OS-000021-GPOS-00005
Fix: F-61719r926148_fix

Configure RHEL 9 to lock an account when three unsuccessful logon attempts occur. Add/modify the "/etc/security/faillock.conf" file to match the following line: deny = 3

b
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.
RMF Control
AC-7
Severity
Medium
CCI
CCI-000044
Version
RHEL-09-411080
Vuln IDs
V-258055
Rule IDs
SV-258055r926152_rule
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. Satisfies: SRG-OS-000329-GPOS-00128, SRG-OS-000021-GPOS-00005
Fix: F-61720r926151_fix

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: $ sudo authselect enable-feature with-faillock Then edit the "/etc/security/faillock.conf" file as follows: add or uncomment the following line: even_deny_root

b
RHEL 9 must automatically lock an account when three unsuccessful logon attempts occur during a 15-minute time period.
RMF Control
AC-7
Severity
Medium
CCI
CCI-000044
Version
RHEL-09-411085
Vuln IDs
V-258056
Rule IDs
SV-258056r926155_rule
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. Satisfies: SRG-OS-000329-GPOS-00128, SRG-OS-000021-GPOS-00005
Fix: F-61721r926154_fix

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: $ authselect enable-feature with-faillock Then edit the "/etc/security/faillock.conf" file as follows: fail_interval = 900

b
RHEL 9 must maintain an account lock until the locked account is released by an administrator.
RMF Control
AC-7
Severity
Medium
CCI
CCI-000044
Version
RHEL-09-411090
Vuln IDs
V-258057
Rule IDs
SV-258057r926158_rule
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. Satisfies: SRG-OS-000329-GPOS-00128, SRG-OS-000021-GPOS-00005
Fix: F-61722r926157_fix

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 Then edit the "/etc/security/faillock.conf" file as follows: unlock_time = 0

c
The root account must be the only account having unrestricted access to RHEL 9 system.
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
RHEL-09-411100
Vuln IDs
V-258059
Rule IDs
SV-258059r926164_rule
An account has root authority if it has a user identifier (UID) of "0". Multiple accounts with a UID of "0" afford more opportunity for potential intruders to guess a password for a privileged account. Proper configuration of sudo is recommended to afford multiple system administrators access to root privileges in an accountable manner.
Fix: F-61724r926163_fix

Change the UID of any account on the system, other than root, that has a UID of "0". If the account is associated with system commands or applications, the UID should be changed to one greater than "0" but less than "1000". Otherwise, assign a UID of greater than "1000" that has not already been assigned.

b
RHEL 9 must ensure account lockouts persist.
RMF Control
AC-7
Severity
Medium
CCI
CCI-000044
Version
RHEL-09-411105
Vuln IDs
V-258060
Rule IDs
SV-258060r926167_rule
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.
Fix: F-61725r926166_fix

Configure RHEL 9 maintain the contents of the faillock directory after a reboot. Add/modify the "/etc/security/faillock.conf" file to match the following line: dir = /var/log/faillock

b
RHEL 9 groups must have unique Group ID (GID).
RMF Control
IA-2
Severity
Medium
CCI
CCI-000764
Version
RHEL-09-411110
Vuln IDs
V-258061
Rule IDs
SV-258061r926170_rule
To ensure accountability and prevent unauthenticated access, groups must be identified uniquely to prevent potential misuse and compromise of the system.
Fix: F-61726r926169_fix

Edit the file "/etc/group" and provide each group that has a duplicate GID with a unique GID.

b
RHEL 9 must have the tmux package installed.
RMF Control
AC-11
Severity
Medium
CCI
CCI-000056
Version
RHEL-09-412010
Vuln IDs
V-258063
Rule IDs
SV-258063r926176_rule
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
Fix: F-61728r926175_fix

The tmux package can be installed with the following command: $ sudo dnf install tmux

b
RHEL 9 must enable a user session lock until that user re-establishes access using established identification and authentication procedures for command line sessions.
RMF Control
AC-11
Severity
Medium
CCI
CCI-000056
Version
RHEL-09-412020
Vuln IDs
V-258065
Rule IDs
SV-258065r926182_rule
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.
Fix: F-61730r926181_fix

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

b
RHEL 9 must automatically lock command line user sessions after 15 minutes of inactivity.
RMF Control
AC-11
Severity
Medium
CCI
CCI-000057
Version
RHEL-09-412025
Vuln IDs
V-258066
Rule IDs
SV-258066r926185_rule
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
Fix: F-61731r926184_fix

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

a
RHEL 9 must prevent users from disabling session control mechanisms.
RMF Control
AC-11
Severity
Low
CCI
CCI-000056
Version
RHEL-09-412030
Vuln IDs
V-258067
Rule IDs
SV-258067r926188_rule
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
Fix: F-61732r926187_fix

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.

b
RHEL 9 must automatically exit interactive command shell user sessions after 15 minutes of inactivity.
RMF Control
AC-11
Severity
Medium
CCI
CCI-000057
Version
RHEL-09-412035
Vuln IDs
V-258068
Rule IDs
SV-258068r926191_rule
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. Satisfies: SRG-OS-000163-GPOS-00072, SRG-OS-000029-GPOS-00010
Fix: F-61733r926190_fix

Configure RHEL 9 to exit interactive command shell user sessions after 15 minutes of inactivity. Add or edit the following line in "/etc/profile.d/tmout.sh": #!/bin/bash declare -xr TMOUT=900

a
RHEL 9 must limit the number of concurrent sessions to ten for all accounts and/or account types.
RMF Control
AC-10
Severity
Low
CCI
CCI-000054
Version
RHEL-09-412040
Vuln IDs
V-258069
Rule IDs
SV-258069r926194_rule
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 denial-of-service (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 must be defined based on mission needs and the operational environment for each system.
Fix: F-61734r926193_fix

Configure RHEL 9 to limit the number of concurrent sessions to "10" for all accounts and/or account types. Add the following line to the top of the /etc/security/limits.conf or in a ".conf" file defined in /etc/security/limits.d/: * hard maxlogins 10

b
RHEL 9 must log username information when unsuccessful logon attempts occur.
RMF Control
AC-7
Severity
Medium
CCI
CCI-000044
Version
RHEL-09-412045
Vuln IDs
V-258070
Rule IDs
SV-258070r926197_rule
Without auditing of these events, it may be harder or impossible to identify what an attacker did after an attack.
Fix: F-61735r926196_fix

Configure RHEL 9 to log username information when unsuccessful logon attempts occur. Add/modify the "/etc/security/faillock.conf" file to match the following line: audit

b
RHEL 9 must enforce a delay of at least four seconds between logon prompts following a failed logon attempt.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-412050
Vuln IDs
V-258071
Rule IDs
SV-258071r926200_rule
Increasing the time between a failed authentication attempt and reprompting to enter credentials helps to slow a single-threaded brute force attack.
Fix: F-61736r926199_fix

Configure the RHEL 9 to enforce a delay of at least four seconds between logon prompts following a failed console logon attempt. Modify the "/etc/login.defs" file to set the "FAIL_DELAY" parameter to 4 or greater: FAIL_DELAY 4

b
RHEL 9 must define default permissions for the bash shell.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-412055
Vuln IDs
V-258072
Rule IDs
SV-258072r926203_rule
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. Satisfies: SRG-OS-000480-GPOS-00228, SRG-OS-000480-GPOS-00227
Fix: F-61737r926202_fix

Configure RHEL 9 to define default permissions for all authenticated users using the bash shell. Add or edit the lines for the "umask" parameter in the "/etc/bashrc" file to "077": umask 077

b
RHEL 9 must define default permissions for the c shell.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-412060
Vuln IDs
V-258073
Rule IDs
SV-258073r926206_rule
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. Satisfies: SRG-OS-000480-GPOS-00228, SRG-OS-000480-GPOS-00227
Fix: F-61738r926205_fix

Configure RHEL 9 to define default permissions for all authenticated users using the c shell. Add or edit the lines for the "umask" parameter in the "/etc/csh.cshrc" file to "077": umask 077

b
RHEL 9 must define default permissions for all authenticated users in such a way that the user can only read and modify their own files.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-412065
Vuln IDs
V-258074
Rule IDs
SV-258074r926209_rule
Setting the most restrictive default permissions ensures that when new accounts are created, they do not have unnecessary access.
Fix: F-61739r926208_fix

Configure RHEL 9 to define default permissions for all authenticated users in such a way that the user can only read and modify their own files. Add or edit the lines for the "UMASK" parameter in the "/etc/login.defs" file to "077": UMASK 077

b
RHEL 9 must define default permissions for the system default profile.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-412070
Vuln IDs
V-258075
Rule IDs
SV-258075r926212_rule
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. Satisfies: SRG-OS-000480-GPOS-00228, SRG-OS-000480-GPOS-00227
Fix: F-61740r926211_fix

Configure RHEL 9 to define default permissions for all authenticated users in such a way that the user can only read and modify their own files. Add or edit the lines for the "umask" parameter in the "/etc/profile" file to "077": umask 077

a
RHEL 9 must display the date and time of the last successful account logon upon logon.
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
RHEL-09-412075
Vuln IDs
V-258076
Rule IDs
SV-258076r926215_rule
Users need to be aware of activity that occurs regarding their account. Providing users with information regarding the number of unsuccessful attempts that were made to login to their account allows the user to determine if any unauthorized activity has occurred and gives them an opportunity to notify administrators.
Fix: F-61741r926214_fix

Configure RHEL 9 to provide users with feedback on when account accesses last occurred by setting the required configuration options in "/etc/pam.d/postlogin". Add the following line to the top of "/etc/pam.d/postlogin": session required pam_lastlog.so showfailed

b
RHEL 9 must terminate idle user sessions.
RMF Control
SC-10
Severity
Medium
CCI
CCI-001133
Version
RHEL-09-412080
Vuln IDs
V-258077
Rule IDs
SV-258077r926218_rule
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.
Fix: F-61742r926217_fix

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".

c
RHEL 9 must use a Linux Security Module configured to enforce limits on system services.
RMF Control
SC-3
Severity
High
CCI
CCI-001084
Version
RHEL-09-431010
Vuln IDs
V-258078
Rule IDs
SV-258078r926221_rule
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. Satisfies: SRG-OS-000445-GPOS-00199, SRG-OS-000134-GPOS-00068
Fix: F-61743r926220_fix

Configure RHEL 9 to verify correct operation of security functions. Edit the file "/etc/selinux/config" and add or modify the following line: SELINUX=enforcing A reboot is required for the changes to take effect.

b
RHEL 9 must enable the SELinux targeted policy.
RMF Control
SI-6
Severity
Medium
CCI
CCI-002696
Version
RHEL-09-431015
Vuln IDs
V-258079
Rule IDs
SV-258079r926224_rule
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. Note: During the development or debugging of SELinux modules, it is common to temporarily place nonproduction systems in "permissive" mode. In such temporary cases, SELinux policies should be developed, and once work is completed, the system should be reconfigured to "targeted".
Fix: F-61744r926223_fix

Configure RHEL 9 to use the targetd SELINUX policy. Edit the file "/etc/selinux/config" and add or modify the following line: SELINUXTYPE=targeted A reboot is required for the changes to take effect.

b
RHEL 9 must have policycoreutils package installed.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-431025
Vuln IDs
V-258081
Rule IDs
SV-258081r926230_rule
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. Satisfies: SRG-OS-000480-GPOS-00227, SRG-OS-000134-GPOS-00068
Fix: F-61746r926229_fix

The policycoreutils package can be installed with the following command: $ sudo dnf install policycoreutils

b
RHEL 9 policycoreutils-python-utils package must be installed.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-431030
Vuln IDs
V-258082
Rule IDs
SV-258082r926233_rule
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.
Fix: F-61747r926232_fix

Install the policycoreutils-python-utils service package (if the policycoreutils-python-utils service is not already installed) with the following command: $ sudo dnf install policycoreutils-python-utils

b
RHEL 9 must have the sudo package installed.
RMF Control
AC-6
Severity
Medium
CCI
CCI-002235
Version
RHEL-09-432010
Vuln IDs
V-258083
Rule IDs
SV-258083r926236_rule
"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.
Fix: F-61748r926235_fix

The sudo package can be installed with the following command: $ sudo dnf install sudo

b
RHEL 9 must require reauthentication when using the "sudo" command.
RMF Control
IA-11
Severity
Medium
CCI
CCI-002038
Version
RHEL-09-432015
Vuln IDs
V-258084
Rule IDs
SV-258084r943061_rule
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 organization requires the user to reauthenticate when using the "sudo" command. 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 reauthenticate for privileged actions until the user's session is terminated.
Fix: F-61749r926238_fix

Configure RHEL 9 to reauthenticate "sudo" commands after the specified timeout: Add the following line to "/etc/sudoers": Defaults timestamp_timeout=0

b
RHEL 9 must use the invoking user's password for privilege escalation when using "sudo".
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-432020
Vuln IDs
V-258085
Rule IDs
SV-258085r943063_rule
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.
Fix: F-61750r926241_fix

Define the following in the Defaults section of the /etc/sudoers file or a single configuration file in the /etc/sudoers.d/ directory: Defaults !targetpw Defaults !rootpw Defaults !runaspw

b
RHEL 9 must require users to reauthenticate for privilege escalation.
RMF Control
IA-11
Severity
Medium
CCI
CCI-002038
Version
RHEL-09-432025
Vuln IDs
V-258086
Rule IDs
SV-258086r943065_rule
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 that the user reauthenticate. Satisfies: SRG-OS-000373-GPOS-00156, SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPOS-00158
Fix: F-61751r926244_fix

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. $ sudo sed -i '/\!authenticate/ s/^/# /g' /etc/sudoers /etc/sudoers.d/*

b
RHEL 9 must restrict privilege elevation to authorized personnel.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-432030
Vuln IDs
V-258087
Rule IDs
SV-258087r926248_rule
If the "sudoers" file is not configured correctly, any user defined on the system can initiate privileged actions on the target system.
Fix: F-61752r926247_fix

Remove the following entries from the /etc/sudoers file or configuration file under /etc/sudoers.d/: ALL ALL=(ALL) ALL ALL ALL=(ALL:ALL) ALL

b
RHEL 9 must restrict the use of the "su" command.
RMF Control
IA-11
Severity
Medium
CCI
CCI-002038
Version
RHEL-09-432035
Vuln IDs
V-258088
Rule IDs
SV-258088r926251_rule
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. Satisfies: SRG-OS-000373-GPOS-00156, SRG-OS-000312-GPOS-00123
Fix: F-61753r926250_fix

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: "#auth required pam_wheel.so use_uid" $ sed '/^[[:space:]]*#[[:space:]]*auth[[:space:]]\+required[[:space:]]\+pam_wheel\.so[[:space:]]\+use_uid$/s/^[[:space:]]*#//' -i /etc/pam.d/su If necessary, create a "wheel" group and add administrative users to the group.

b
RHEL 9 fapolicy module must be installed.
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
RHEL-09-433010
Vuln IDs
V-258089
Rule IDs
SV-258089r926254_rule
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. 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. 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. 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. Satisfies: SRG-OS-000370-GPOS-00155, SRG-OS-000368-GPOS-00154
Fix: F-61754r926253_fix

The fapolicyd package can be installed with the following command: $ sudo dnf install fapolicyd

b
RHEL 9 fapolicy module must be enabled.
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
RHEL-09-433015
Vuln IDs
V-258090
Rule IDs
SV-258090r926257_rule
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. 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. 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. 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. Satisfies: SRG-OS-000370-GPOS-00155, SRG-OS-000368-GPOS-00154
Fix: F-61755r926256_fix

Enable the fapolicyd with the following command: $ systemctl enable --now fapolicyd

b
RHEL 9 must ensure the password complexity module in the system-auth file is configured for three retries or less.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000192
Version
RHEL-09-611010
Vuln IDs
V-258091
Rule IDs
SV-258091r926260_rule
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 9 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.
Fix: F-61756r926259_fix

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

b
RHEL 9 must be configured in the password-auth file to prohibit password reuse for a minimum of five generations.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000200
Version
RHEL-09-611015
Vuln IDs
V-258092
Rule IDs
SV-258092r926263_rule
Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. If the information system or application allows the user to reuse their password consecutively when that password has exceeded its defined lifetime, the end result is a password that is not changed per policy requirements. RHEL 9 uses "pwhistory" consecutively as a mechanism to prohibit password reuse. This is set in both: /etc/pam.d/password-auth /etc/pam.d/system-auth Note that manual changes to the listed files may be overwritten by the "authselect" program.
Fix: F-61757r926262_fix

Configure the RHEL 9 password-auth file to prohibit password reuse for a minimum of five generations. Add the following line in "/etc/pam.d/password-auth" (or modify the line to have the required value): password required pam_pwhistory.so use_authtok remember=5 retry=3

b
RHEL 9 must be configured in the system-auth file to prohibit password reuse for a minimum of five generations.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000200
Version
RHEL-09-611020
Vuln IDs
V-258093
Rule IDs
SV-258093r926266_rule
Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. If the information system or application allows the user to reuse their password consecutively when that password has exceeded its defined lifetime, the end result is a password that is not changed per policy requirements. RHEL 9 uses "pwhistory" consecutively as a mechanism to prohibit password reuse. This is set in both: /etc/pam.d/password-auth /etc/pam.d/system-auth Note that manual changes to the listed files may be overwritten by the "authselect" program.
Fix: F-61758r926265_fix

Configure the RHEL 9 system-auth file to prohibit password reuse for a minimum of five generations. Add the following line in "/etc/pam.d/system-auth" (or modify the line to have the required value): password required pam_pwhistory.so use_authtok remember=5 retry=3

c
RHEL 9 must not allow blank or null passwords.
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
RHEL-09-611025
Vuln IDs
V-258094
Rule IDs
SV-258094r926269_rule
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.
Fix: F-61759r926268_fix

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.

b
RHEL 9 must ensure the password complexity module is enabled in the password-auth file.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000192
Version
RHEL-09-611040
Vuln IDs
V-258097
Rule IDs
SV-258097r926278_rule
Enabling PAM password complexity permits enforcement of strong passwords and consequently makes the system less prone to dictionary attacks. Satisfies: SRG-OS-000069-GPOS-00037, SRG-OS-000070-GPOS-00038, SRG-OS-000480-GPOS-00227
Fix: F-61762r926277_fix

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): password required pam_pwquality.so

b
RHEL 9 must ensure the password complexity module is enabled in the system-auth file.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-611045
Vuln IDs
V-258098
Rule IDs
SV-258098r926281_rule
Enabling PAM password complexity permits enforcement of strong passwords and consequently makes the system less prone to dictionary attacks.
Fix: F-61763r926280_fix

Configure RHEL 9 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 required pam_pwquality.so

b
RHEL 9 password-auth must be configured to use a sufficient number of hashing rounds.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000196
Version
RHEL-09-611050
Vuln IDs
V-258099
Rule IDs
SV-258099r926284_rule
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
Fix: F-61764r926283_fix

Configure Red Hat Enterprise Linux 9 to use 5000 hashing rounds for hashing passwords. Add or modify the following line in "/etc/pam.d/password-auth" and set "rounds" to "5000". password sufficient pam_unix.so sha512 rounds=5000

b
RHEL 9 system-auth must be configured to use a sufficient number of hashing rounds.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000196
Version
RHEL-09-611055
Vuln IDs
V-258100
Rule IDs
SV-258100r926287_rule
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
Fix: F-61765r926286_fix

Configure Red Hat Enterprise Linux 9 to use 5000 hashing rounds for hashing passwords. Add or modify the following line in "/etc/pam.d/system-auth" and set "rounds" to 5000. password sufficient pam_unix.so sha512 rounds=5000'

b
RHEL 9 must enforce password complexity rules for the root account.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000192
Version
RHEL-09-611060
Vuln IDs
V-258101
Rule IDs
SV-258101r926290_rule
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. Satisfies: SRG-OS-000072-GPOS-00040, SRG-OS-000071-GPOS-00039, SRG-OS-000070-GPOS-00038, SRG-OS-000266-GPOS-00101, SRG-OS-000078-GPOS-00046, SRG-OS-000480-GPOS-00225, SRG-OS-000069-GPOS-00037
Fix: F-61766r926289_fix

Configure RHEL 9 to enforce password complexity on the root account. Add or update the following line in /etc/security/pwquality.conf: enforce_for_root

b
RHEL 9 must enforce password complexity by requiring that at least one lowercase character be used.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000193
Version
RHEL-09-611065
Vuln IDs
V-258102
Rule IDs
SV-258102r926293_rule
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 lowercase characters makes password guessing attacks more difficult by ensuring a larger search space.
Fix: F-61767r926292_fix

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): lcredit = -1

b
RHEL 9 must enforce password complexity by requiring that at least one numeric character be used.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000194
Version
RHEL-09-611070
Vuln IDs
V-258103
Rule IDs
SV-258103r926296_rule
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 digits makes password guessing attacks more difficult by ensuring a larger search space.
Fix: F-61768r926295_fix

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): dcredit = -1

b
RHEL 9 passwords for new users or password changes must have a 24 hours minimum password lifetime restriction in /etc/login.defs.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000198
Version
RHEL-09-611075
Vuln IDs
V-258104
Rule IDs
SV-258104r926299_rule
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. Setting the minimum password age protects against users cycling back to a favorite password after satisfying the password reuse requirement.
Fix: F-61769r926298_fix

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): PASS_MIN_DAYS 1

b
RHEL 9 passwords must have a 24 hours minimum password lifetime restriction in /etc/shadow.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000198
Version
RHEL-09-611080
Vuln IDs
V-258105
Rule IDs
SV-258105r926302_rule
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.
Fix: F-61770r926301_fix

Configure noncompliant accounts to enforce a 24 hour minimum password lifetime: $ sudo passwd -n 1 [user]

b
RHEL 9 must require users to provide a password for privilege escalation.
RMF Control
IA-11
Severity
Medium
CCI
CCI-002038
Version
RHEL-09-611085
Vuln IDs
V-258106
Rule IDs
SV-258106r926305_rule
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 that the user reauthenticate. Satisfies: SRG-OS-000373-GPOS-00156, SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPOS-00158
Fix: F-61771r926304_fix

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/*

b
RHEL 9 passwords must be created with a minimum of 15 characters.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000205
Version
RHEL-09-611090
Vuln IDs
V-258107
Rule IDs
SV-258107r926308_rule
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 DOD minimum password requirement is 15 characters.
Fix: F-61772r926307_fix

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): minlen = 15

b
RHEL 9 passwords for new users must have a minimum of 15 characters.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000205
Version
RHEL-09-611095
Vuln IDs
V-258108
Rule IDs
SV-258108r926311_rule
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.
Fix: F-61773r926310_fix

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

b
RHEL 9 must enforce password complexity by requiring that at least one special character be used.
RMF Control
IA-5
Severity
Medium
CCI
CCI-001619
Version
RHEL-09-611100
Vuln IDs
V-258109
Rule IDs
SV-258109r926314_rule
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".
Fix: F-61774r926313_fix

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): ocredit = -1

b
RHEL 9 must prevent the use of dictionary words for passwords.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-611105
Vuln IDs
V-258110
Rule IDs
SV-258110r926317_rule
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.
Fix: F-61775r926316_fix

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: dictcheck=1

b
RHEL 9 must enforce password complexity by requiring that at least one uppercase character be used.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000192
Version
RHEL-09-611110
Vuln IDs
V-258111
Rule IDs
SV-258111r926320_rule
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.
Fix: F-61776r926319_fix

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): ucredit = -1

b
RHEL 9 must require the change of at least eight characters when passwords are changed.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000195
Version
RHEL-09-611115
Vuln IDs
V-258112
Rule IDs
SV-258112r926323_rule
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 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.
Fix: F-61777r926322_fix

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): difok = 8

b
RHEL 9 must require the maximum number of repeating characters of the same character class be limited to four when passwords are changed.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000195
Version
RHEL-09-611120
Vuln IDs
V-258113
Rule IDs
SV-258113r926326_rule
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 a password, the greater the number of possible combinations that need to be tested before the password is compromised.
Fix: F-61778r926325_fix

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): maxclassrepeat = 4

b
RHEL 9 must require the maximum number of repeating characters be limited to three when passwords are changed.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000195
Version
RHEL-09-611125
Vuln IDs
V-258114
Rule IDs
SV-258114r926329_rule
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 a password, the greater the number of possible combinations that need to be tested before the password is compromised.
Fix: F-61779r926328_fix

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): maxrepeat = 3

b
RHEL 9 must require the change of at least four character classes when passwords are changed.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000195
Version
RHEL-09-611130
Vuln IDs
V-258115
Rule IDs
SV-258115r926332_rule
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 a password, the greater the number of possible combinations that need to be tested before the password is compromised.
Fix: F-61780r926331_fix

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): minclass = 4

b
RHEL 9 must be configured so that user and group account administration utilities are configured to store only encrypted representations of passwords.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000196
Version
RHEL-09-611135
Vuln IDs
V-258116
Rule IDs
SV-258116r926335_rule
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. This setting ensures user and group account administration utilities are configured to store only encrypted representations of passwords. Additionally, the "crypt_style" configuration option ensures the use of a strong hashing algorithm that makes password cracking attacks more difficult.
Fix: F-61781r926334_fix

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: crypt_style = sha512

b
RHEL 9 must be configured to use the shadow file to store only encrypted representations of passwords.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000196
Version
RHEL-09-611140
Vuln IDs
V-258117
Rule IDs
SV-258117r926338_rule
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. This setting ensures user and group account administration utilities are configured to store only encrypted representations of passwords. Additionally, the "crypt_style" configuration option ensures the use of a strong hashing algorithm that makes password cracking attacks more difficult.
Fix: F-61782r926337_fix

Configure RHEL 9 to store only SHA512 encrypted representations of passwords. Add or update the following line in the "/etc/login.defs" file: ENCRYPT_METHOD SHA512

b
RHEL 9 must not be configured to bypass password requirements for privilege escalation.
RMF Control
IA-11
Severity
Medium
CCI
CCI-002038
Version
RHEL-09-611145
Vuln IDs
V-258118
Rule IDs
SV-258118r926341_rule
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
Fix: F-61783r926340_fix

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.

b
RHEL 9 shadow password suite must be configured to use a sufficient number of hashing rounds.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000196
Version
RHEL-09-611150
Vuln IDs
V-258119
Rule IDs
SV-258119r926344_rule
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
Fix: F-61784r926343_fix

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

b
RHEL 9 must not have accounts configured with blank or null passwords.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-611155
Vuln IDs
V-258120
Rule IDs
SV-258120r926347_rule
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.
Fix: F-61785r926346_fix

Configure all accounts on RHEL 9 to have a password or lock the account with the following commands: Perform a password reset: $ sudo passwd [username] To lock an account: $ sudo passwd -l [username]

b
RHEL 9 must use the CAC smart card driver.
RMF Control
IA-2
Severity
Medium
CCI
CCI-000764
Version
RHEL-09-611160
Vuln IDs
V-258121
Rule IDs
SV-258121r926350_rule
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. Satisfies: SRG-OS-000104-GPOS-00051, SRG-OS-000106-GPOS-00053, SRG-OS-000107-GPOS-00054, SRG-OS-000109-GPOS-00056, SRG-OS-000108-GPOS-00055, SRG-OS-000112-GPOS-00057, SRG-OS-000113-GPOS-00058
Fix: F-61786r926349_fix

Configure RHEL 9 to load the CAC driver. Add or modify the following line in the "/etc/opensc.conf" file: card_drivers = cac;

b
RHEL 9 must enable certificate based smart card authentication.
RMF Control
IA-2
Severity
Medium
CCI
CCI-000765
Version
RHEL-09-611165
Vuln IDs
V-258122
Rule IDs
SV-258122r926353_rule
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. Satisfies: SRG-OS-000375-GPOS-00160, SRG-OS-000105-GPOS-00052
Fix: F-61787r926352_fix

Edit the file "/etc/sssd/sssd.conf" and add or edit the following line: pam_cert_auth = True

b
RHEL 9 must implement certificate status checking for multifactor authentication.
RMF Control
IA-2
Severity
Medium
CCI
CCI-001948
Version
RHEL-09-611170
Vuln IDs
V-258123
Rule IDs
SV-258123r926356_rule
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. 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
Fix: F-61788r926355_fix

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. Add the following line to the "/etc/sssd/conf.d/certificate_verification.conf" file: certificate_verification = ocsp_dgst=sha512 Set the correct ownership and permissions on the "/etc/sssd/conf.d/certificate_verification.conf" file by running these commands: $ sudo chown root:root "/etc/sssd/conf.d/certificate_verification.conf" $ sudo chmod 600 "/etc/sssd/conf.d/certificate_verification.conf" The "sssd" service must be restarted for the changes to take effect. To restart the "sssd" service, run the following command: $ sudo systemctl restart sssd.service

b
RHEL 9 must have the pcsc-lite package installed.
RMF Control
IA-2
Severity
Medium
CCI
CCI-001948
Version
RHEL-09-611175
Vuln IDs
V-258124
Rule IDs
SV-258124r926359_rule
The pcsc-lite package must be installed if it is to be available for multifactor authentication using smart cards.
Fix: F-61789r926358_fix

The pcsc-lite package can be installed with the following command: $ sudo dnf install pcsc-lite

b
The pcscd service on RHEL 9 must be active.
RMF Control
IA-2
Severity
Medium
CCI
CCI-001948
Version
RHEL-09-611180
Vuln IDs
V-258125
Rule IDs
SV-258125r926362_rule
The information system ensures that even if the information system is compromised, that compromise will not affect credentials stored on the authentication device. The daemon program for pcsc-lite and the MuscleCard framework is pcscd. It is a resource manager that coordinates communications with smart card readers and smart cards and cryptographic tokens that are connected to the system.
Fix: F-61790r926361_fix

To enable the pcscd service run the following command: $ sudo systemctl enable --now pcscd

b
RHEL 9 must have the opensc package installed.
RMF Control
IA-2
Severity
Medium
CCI
CCI-001948
Version
RHEL-09-611185
Vuln IDs
V-258126
Rule IDs
SV-258126r926365_rule
The use of PIV credentials facilitates standardization and reduces the risk of unauthorized access. The DOD 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
Fix: F-61791r926364_fix

The opensc package can be installed with the following command: $ sudo dnf install opensc

b
RHEL 9 must require authentication to access emergency mode.
RMF Control
AC-3
Severity
Medium
CCI
CCI-000213
Version
RHEL-09-611195
Vuln IDs
V-258128
Rule IDs
SV-258128r926371_rule
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. 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.
Fix: F-61793r926370_fix

Configure RHEL 9 to require authentication for emergency mode. Add or modify the following line in the "/usr/lib/systemd/system/emergency.service" file: ExecStart=-/usr/lib/systemd/systemd-sulogin-shell emergency

b
RHEL 9 must require authentication to access single-user mode.
RMF Control
AC-3
Severity
Medium
CCI
CCI-000213
Version
RHEL-09-611200
Vuln IDs
V-258129
Rule IDs
SV-258129r926374_rule
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. 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.
Fix: F-61794r926373_fix

Configure RHEL 9 to require authentication for single-user mode. Add or modify the following line in the "/usr/lib/systemd/system/rescue.service" file: ExecStart=-/usr/lib/systemd/systemd-sulogin-shell rescue

b
RHEL 9 must prevent system daemons from using Kerberos for authentication.
RMF Control
IA-7
Severity
Medium
CCI
CCI-000803
Version
RHEL-09-611205
Vuln IDs
V-258130
Rule IDs
SV-258130r926377_rule
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. RHEL 9 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-3 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.
Fix: F-61795r926376_fix

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

b
RHEL 9 must prohibit the use of cached authenticators after one day.
RMF Control
IA-5
Severity
Medium
CCI
CCI-002007
Version
RHEL-09-631020
Vuln IDs
V-258133
Rule IDs
SV-258133r926386_rule
If cached authentication information is out-of-date, the validity of the authentication information may be questionable.
Fix: F-61798r926385_fix

Configure the SSSD to prohibit the use of cached authentications after one day. Add or change the following line in "/etc/sssd/sssd.conf" just below the line [pam]: offline_credentials_expiration = 1

b
RHEL 9 must have the AIDE package installed.
RMF Control
CM-3
Severity
Medium
CCI
CCI-001744
Version
RHEL-09-651010
Vuln IDs
V-258134
Rule IDs
SV-258134r926389_rule
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. Satisfies: SRG-OS-000363-GPOS-00150, SRG-OS-000445-GPOS-00199
Fix: F-61799r926388_fix

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: 2023-06-05 10:09:04 -0600 (AIDE 0.16) AIDE initialized database at /var/lib/aide/aide.db.new.gz Number of entries: 86833 --------------------------------------------------- The attributes of the (uncompressed) database(s): --------------------------------------------------- /var/lib/aide/aide.db.new.gz MD5 : coZUtPHhoFoeD7+k54fUvQ== SHA1 : DVpOEMWJwo0uPgrKZAygIUgSxeM= SHA256 : EQiZH0XNEk001tcDmJa+5STFEjDb4MPE TGdBJ/uvZKc= SHA512 : 86KUqw++PZhoPK0SZvT3zuFq9yu9nnPP toei0nENVELJ1LPurjoMlRig6q69VR8l +44EwO9eYyy9nnbzQsfG1g== End timestamp: 2023-06-05 10:09:57 -0600 (run time: 0m 53s) 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: 2023-06-05 10:16:08 -0600 (AIDE 0.16) AIDE found NO differences between database and filesystem. Looks okay!! ...

b
RHEL 9 must use cryptographic mechanisms to protect the integrity of audit tools.
RMF Control
AU-9
Severity
Medium
CCI
CCI-001493
Version
RHEL-09-651025
Vuln IDs
V-258137
Rule IDs
SV-258137r943021_rule
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. 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. It is not uncommon for attackers to replace the audit tools or inject code into the existing tools to provide the capability to hide or erase system activity from the audit logs. To address this risk, audit tools must be cryptographically signed to provide the capability to identify when the audit tools have been modified, manipulated, or replaced. An example is a checksum hash of the file or files. Satisfies: SRG-OS-000256-GPOS-00097, SRG-OS-000257-GPOS-00098, SRG-OS-000258-GPOS-00099, SRG-OS-000278-GPOS-00108
Fix: F-61802r943020_fix

Add or update the following lines to "/etc/aide.conf", to protect the integrity of the audit tools. /usr/sbin/auditctl p+i+n+u+g+s+b+acl+xattrs+sha512 /usr/sbin/auditd p+i+n+u+g+s+b+acl+xattrs+sha512 /usr/sbin/ausearch p+i+n+u+g+s+b+acl+xattrs+sha512 /usr/sbin/aureport p+i+n+u+g+s+b+acl+xattrs+sha512 /usr/sbin/autrace p+i+n+u+g+s+b+acl+xattrs+sha512 /usr/sbin/augenrules p+i+n+u+g+s+b+acl+xattrs+sha512

b
RHEL 9 must have the rsyslog package installed.
RMF Control
AU-6
Severity
Medium
CCI
CCI-000154
Version
RHEL-09-652010
Vuln IDs
V-258140
Rule IDs
SV-258140r926407_rule
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. Satisfies: SRG-OS-000479-GPOS-00224, SRG-OS-000051-GPOS-00024, SRG-OS-000480-GPOS-00227
Fix: F-61805r926406_fix

The rsyslogd package can be installed with the following command: $ sudo dnf install rsyslogd

b
RHEL 9 must have the packages required for encrypting offloaded audit logs installed.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-652015
Vuln IDs
V-258141
Rule IDs
SV-258141r926410_rule
The rsyslog-gnutls package provides Transport Layer Security (TLS) support for the rsyslog daemon, which enables secure remote logging. Satisfies: SRG-OS-000480-GPOS-00227, SRG-OS-000120-GPOS-00061
Fix: F-61806r926409_fix

The rsyslog-gnutls package can be installed with the following command: $ sudo dnf install rsyslog-gnutls

b
The rsyslog service on RHEL 9 must be active.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-652020
Vuln IDs
V-258142
Rule IDs
SV-258142r926413_rule
The "rsyslog" service must be running to provide logging services, which are essential to system administration.
Fix: F-61807r926412_fix

To enable the rsyslog service, run the following command: $ sudo systemctl enable --now rsyslog

b
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.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-652025
Vuln IDs
V-258143
Rule IDs
SV-258143r926416_rule
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. If the system is intended to be a log aggregation server, its use must be documented with the information system security officer (ISSO).
Fix: F-61808r926415_fix

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]* The rsyslog daemon must be restarted for the changes to take effect: $ sudo systemctl restart rsyslog.service

b
All RHEL 9 remote access methods must be monitored.
RMF Control
AC-17
Severity
Medium
CCI
CCI-000067
Version
RHEL-09-652030
Vuln IDs
V-258144
Rule IDs
SV-258144r926419_rule
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.
Fix: F-61809r926418_fix

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 with the following command: $ sudo systemctl restart rsyslog.service

b
RHEL 9 must be configured to offload audit records onto a different system from the system being audited via syslog.
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
RHEL-09-652035
Vuln IDs
V-258145
Rule IDs
SV-258145r926422_rule
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
Fix: F-61810r926421_fix

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.

b
RHEL 9 must authenticate the remote logging server for offloading audit logs via rsyslog.
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
RHEL-09-652040
Vuln IDs
V-258146
Rule IDs
SV-258146r926425_rule
Information stored in one location is vulnerable to accidental or incidental deletion or alteration. Offloading is a common process in information systems with limited audit storage capacity. RHEL 9 installation media provides "rsyslogd", 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. Coupling this utility with "gnutls" (a secure communications library implementing the SSL, TLS and DTLS protocols) creates a method to securely encrypt and offload 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
Fix: F-61811r926424_fix

Configure RHEL 9 to authenticate the remote logging server for offloading audit logs by setting the following option in "/etc/rsyslog.conf" or "/etc/rsyslog.d/[customfile].conf": $ActionSendStreamDriverAuthMode x509/name

b
RHEL 9 must encrypt the transfer of audit records offloaded onto a different system or media from the system being audited via rsyslog.
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
RHEL-09-652045
Vuln IDs
V-258147
Rule IDs
SV-258147r926428_rule
Information stored in one location is vulnerable to accidental or incidental deletion or alteration. Offloading is a common process in information systems with limited audit storage capacity. RHEL 9 installation media provides "rsyslogd", 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. Coupling this utility with "gnutls" (a secure communications library implementing the SSL, TLS and DTLS protocols) creates a method to securely encrypt and offload 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
Fix: F-61812r926427_fix

Configure RHEL 9 to encrypt offloaded audit records via rsyslog by setting the following options in "/etc/rsyslog.conf" or "/etc/rsyslog.d/[customfile].conf": $ActionSendStreamDriverMode 1

b
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.
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
RHEL-09-652050
Vuln IDs
V-258148
Rule IDs
SV-258148r926431_rule
Information stored in one location is vulnerable to accidental or incidental deletion or alteration. Offloading is a common process in information systems with limited audit storage capacity. RHEL 9 installation media provides "rsyslogd", 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. Coupling this utility with "gnutls" (a secure communications library implementing the SSL, TLS and DTLS protocols) creates a method to securely encrypt and offload auditing. Satisfies: SRG-OS-000342-GPOS-00133, SRG-OS-000479-GPOS-00224
Fix: F-61813r926430_fix

Configure RHEL 9 to use the gtls driver to encrypt offloaded audit records by setting the following options in "/etc/rsyslog.conf" or "/etc/rsyslog.d/[customfile].conf": $DefaultNetstreamDriver gtls

b
RHEL 9 must be configured to forward audit records via TCP to a different system or media from the system being audited via rsyslog.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-652055
Vuln IDs
V-258149
Rule IDs
SV-258149r926434_rule
Information stored in one location is vulnerable to accidental or incidental deletion or alteration. Offloading is a common process in information systems with limited audit storage capacity. RHEL 9 installation media provides "rsyslogd", 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. Coupling this utility with "gnutls" (a secure communications library implementing the SSL, TLS and DTLS protocols) creates a method to securely encrypt and offload auditing. 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. Satisfies: SRG-OS-000479-GPOS-00224, SRG-OS-000480-GPOS-00227, SRG-OS-000342-GPOS-00133
Fix: F-61814r926433_fix

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]"

b
RHEL 9 audit package must be installed.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-653010
Vuln IDs
V-258151
Rule IDs
SV-258151r926440_rule
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 audit logs provides a means of investigating an attack, recognizing resource utilization or capacity thresholds, or identifying an improperly configured RHEL 9 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, SRG-OS-000055-GPOS-00026
Fix: F-61816r926439_fix

Install the audit service package (if the audit service is not already installed) with the following command: $ sudo dnf install audit

b
RHEL 9 audit service must be enabled.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-653015
Vuln IDs
V-258152
Rule IDs
SV-258152r926443_rule
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. Additionally, a properly configured audit subsystem ensures that actions of individual system users can be uniquely traced to those users so they can be held accountable for their actions. 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
Fix: F-61817r926442_fix

To enable the auditd service run the following command: $ sudo systemctl enable --now auditd

b
RHEL 9 audit system must take appropriate action when an error writing to the audit storage volume occurs.
RMF Control
AU-5
Severity
Medium
CCI
CCI-000140
Version
RHEL-09-653020
Vuln IDs
V-258153
Rule IDs
SV-258153r926446_rule
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.
Fix: F-61818r926445_fix

Configure RHEL 9 to shut down by default upon audit failure (unless availability is an overriding concern). Add or update the following line (depending on configuration "disk_error_action" can be set to "SYSLOG" or "SINGLE" depending on configuration) in "/etc/audit/auditd.conf" file: 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".

b
RHEL 9 audit system must take appropriate action when the audit storage volume is full.
RMF Control
AU-5
Severity
Medium
CCI
CCI-000140
Version
RHEL-09-653025
Vuln IDs
V-258154
Rule IDs
SV-258154r926449_rule
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.
Fix: F-61819r926448_fix

Configure RHEL 9 to shut down by default upon audit failure (unless availability is an overriding concern). Add or update the following line (depending on configuration "disk_full_action" can be set to "SYSLOG" or "SINGLE" depending on configuration) in "/etc/audit/auditd.conf" file: 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".

b
RHEL 9 must allocate audit record storage capacity to store at least one week's worth of audit records.
RMF Control
AU-4
Severity
Medium
CCI
CCI-001849
Version
RHEL-09-653030
Vuln IDs
V-258155
Rule IDs
SV-258155r926452_rule
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. The task of allocating audit record storage capacity is usually performed during initial installation of RHEL 9. Satisfies: SRG-OS-000341-GPOS-00132, SRG-OS-000342-GPOS-00133
Fix: F-61820r926451_fix

Allocate enough storage capacity for at least one week of audit records when audit records are not immediately sent to a central audit record storage facility. If audit records are stored on a partition made specifically for audit records, resize the partition with sufficient space to contain one week of audit records. If audit records are not stored on a partition made specifically for audit records, a new partition with sufficient space will need be to be created.

b
RHEL 9 must take action when allocated audit record storage volume reaches 75 percent of the repository maximum audit record storage capacity.
RMF Control
AU-5
Severity
Medium
CCI
CCI-001855
Version
RHEL-09-653035
Vuln IDs
V-258156
Rule IDs
SV-258156r926455_rule
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.
Fix: F-61821r926454_fix

Configure RHEL 9 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 = 25%

b
RHEL 9 must notify the system administrator (SA) and information system security officer (ISSO) (at a minimum) when allocated audit record storage volume 75 percent utilization.
RMF Control
AU-5
Severity
Medium
CCI
CCI-001855
Version
RHEL-09-653040
Vuln IDs
V-258157
Rule IDs
SV-258157r926458_rule
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.
Fix: F-61822r926457_fix

Configure RHEL 9 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

b
RHEL 9 must take action when allocated audit record storage volume reaches 95 percent of the audit record storage capacity.
RMF Control
AU-5
Severity
Medium
CCI
CCI-001855
Version
RHEL-09-653045
Vuln IDs
V-258158
Rule IDs
SV-258158r926461_rule
If action is not taken when storage volume reaches 95 percent utilization, the auditing system may fail when the storage volume reaches capacity.
Fix: F-61823r926460_fix

Configure RHEL 9 to initiate an action when allocated audit record storage volume reaches 95 percent of the repository maximum audit record storage capacity by adding/modifying the following line in the /etc/audit/auditd.conf file. admin_space_left = 5%

b
RHEL 9 must take action when allocated audit record storage volume reaches 95 percent of the repository maximum audit record storage capacity.
RMF Control
AU-5
Severity
Medium
CCI
CCI-001855
Version
RHEL-09-653050
Vuln IDs
V-258159
Rule IDs
SV-258159r926464_rule
If action is not taken when storage volume reaches 95 percent utilization, the auditing system may fail when the storage volume reaches capacity.
Fix: F-61824r926463_fix

Configure "auditd" service to take action in the event of allocated audit record storage volume reaches 95 percent of the repository maximum audit record storage capacity. Edit the following line in "/etc/audit/auditd.conf" to ensure that the system is forced into single user mode in the event the audit record storage volume is about to reach maximum capacity: admin_space_left_action = single The audit daemon must be restarted for changes to take effect.

b
RHEL 9 audit system must take appropriate action when the audit files have reached maximum size.
RMF Control
AU-5
Severity
Medium
CCI
CCI-000140
Version
RHEL-09-653055
Vuln IDs
V-258160
Rule IDs
SV-258160r926467_rule
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.
Fix: F-61825r926466_fix

Configure RHEL 9 to rotate the audit log when it reaches maximum size. Add or update the following line in "/etc/audit/auditd.conf" file: max_log_file_action = ROTATE

b
RHEL 9 must label all offloaded audit logs before sending them to the central log server.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000132
Version
RHEL-09-653060
Vuln IDs
V-258161
Rule IDs
SV-258161r926470_rule
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. Satisfies: SRG-OS-000039-GPOS-00017, SRG-OS-000342-GPOS-00133, SRG-OS-000479-GPOS-00224
Fix: F-61826r926469_fix

Edit the /etc/audit/auditd.conf file and add or update the "name_format" option: name_format = hostname The audit daemon must be restarted for changes to take effect.

b
RHEL 9 must take appropriate action when the internal event queue is full.
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
RHEL-09-653065
Vuln IDs
V-258162
Rule IDs
SV-258162r926473_rule
The audit system should have an action setup in the event the internal event queue becomes full so that no data is lost. Information stored in one location is vulnerable to accidental or incidental deletion or alteration. Offloading is a common process in information systems with limited audit storage capacity. Satisfies: SRG-OS-000342-GPOS-00133, SRG-OS-000479-GPOS-00224
Fix: F-61827r926472_fix

Edit the /etc/audit/auditd.conf file and add or update the "overflow_action" option: overflow_action = syslog The audit daemon must be restarted for changes to take effect.

b
RHEL 9 System Administrator (SA) and/or information system security officer (ISSO) (at a minimum) must be alerted of an audit processing failure event.
RMF Control
AU-5
Severity
Medium
CCI
CCI-000139
Version
RHEL-09-653070
Vuln IDs
V-258163
Rule IDs
SV-258163r926476_rule
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. Satisfies: SRG-OS-000046-GPOS-00022, SRG-OS-000343-GPOS-00134
Fix: F-61828r926475_fix

Configure "auditd" service to notify the SA and ISSO in the event of an audit processing failure. Edit the following line in "/etc/audit/auditd.conf" to ensure that administrators are notified via email for those situations: action_mail_acct = root The audit daemon must be restarted for changes to take effect.

b
RHEL 9 audit system must audit local events.
RMF Control
AU-12
Severity
Medium
CCI
CCI-000169
Version
RHEL-09-653075
Vuln IDs
V-258164
Rule IDs
SV-258164r926479_rule
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. If option "local_events" isn't set to "yes" only events from network will be aggregated. Satisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000480-GPOS-00227
Fix: F-61829r926478_fix

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 The audit daemon must be restarted for the changes to take effect.

b
RHEL 9 audit logs must be group-owned by root or by a restricted logging group to prevent unauthorized read access.
RMF Control
AU-9
Severity
Medium
CCI
CCI-000162
Version
RHEL-09-653080
Vuln IDs
V-258165
Rule IDs
SV-258165r926482_rule
Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029, SRG-OS-000206-GPOS-00084
Fix: F-61830r926481_fix

Change the group of the directory of "/var/log/audit" to be owned by a correct group. Identify the group that is configured to own audit log: $ sudo grep -P '^[ ]*log_group[ ]+=.*$' /etc/audit/auditd.conf Change the ownership to that group: $ sudo chgrp ${GROUP} /var/log/audit

b
RHEL 9 audit log directory must be owned by root to prevent unauthorized read access.
RMF Control
AU-9
Severity
Medium
CCI
CCI-000162
Version
RHEL-09-653085
Vuln IDs
V-258166
Rule IDs
SV-258166r926485_rule
Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029, SRG-OS-000206-GPOS-00084
Fix: F-61831r926484_fix

Configure the audit log to be protected from unauthorized read access by setting the correct owner as "root" with the following command: $ sudo chown root /var/log/audit

b
RHEL 9 audit logs file must have mode 0600 or less permissive to prevent unauthorized access to the audit log.
RMF Control
AU-9
Severity
Medium
CCI
CCI-000162
Version
RHEL-09-653090
Vuln IDs
V-258167
Rule IDs
SV-258167r926488_rule
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. 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
Fix: F-61832r926487_fix

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". $ 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 If the log_group is not defined or it is set to root, configure the permissions the following way: $ sudo chmod 0640 $log_file $ sudo chmod 0440 $log_file.* Otherwise, configure the permissions the following way: $ sudo chmod 0600 $log_file $ sudo chmod 0400 $log_file.*

b
RHEL 9 must periodically flush audit records to disk to prevent the loss of audit records.
RMF Control
AU-6
Severity
Medium
CCI
CCI-000154
Version
RHEL-09-653095
Vuln IDs
V-258168
Rule IDs
SV-258168r943024_rule
If option "freq" is not set to a value that requires audit records being written to disk after a threshold number is reached, then audit records may be lost.
Fix: F-61833r943023_fix

Configure RHEL 9 to flush audit to disk by adding or updating the following rule in "/etc/audit/auditd.conf": freq = 100 The audit daemon must be restarted for the changes to take effect.

b
RHEL 9 must produce audit records containing information to establish the identity of any individual or process associated with the event.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-653100
Vuln IDs
V-258169
Rule IDs
SV-258169r926494_rule
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. 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. Satisfies: SRG-OS-000255-GPOS-00096, SRG-OS-000480-GPOS-00227
Fix: F-61834r926493_fix

Edit the /etc/audit/auditd.conf file and add or update the "log_format" option: log_format = ENRICHED The audit daemon must be restarted for changes to take effect.

b
RHEL 9 must write audit records to disk.
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
RHEL-09-653105
Vuln IDs
V-258170
Rule IDs
SV-258170r926497_rule
Audit data should be synchronously written to disk to ensure log integrity. This setting assures that all audit event data is written disk.
Fix: F-61835r926496_fix

Configure the audit system to write log files to the disk. Edit the /etc/audit/auditd.conf file and add or update the "write_logs" option to "yes": write_logs = yes The audit daemon must be restarted for changes to take effect.

b
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.
RMF Control
AU-12
Severity
Medium
CCI
CCI-000171
Version
RHEL-09-653110
Vuln IDs
V-258171
Rule IDs
SV-258171r943057_rule
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.
Fix: F-61836r926499_fix

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

b
RHEL 9 /etc/audit/auditd.conf file must have 0640 or less permissive to prevent unauthorized access.
RMF Control
AU-12
Severity
Medium
CCI
CCI-000171
Version
RHEL-09-653115
Vuln IDs
V-258172
Rule IDs
SV-258172r926503_rule
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.
Fix: F-61837r926502_fix

Set the mode of /etc/audit/auditd.conf file to 0640 with the command: $ sudo chmod 0640 /etc/audit/auditd.conf

a
RHEL 9 must allocate an audit_backlog_limit of sufficient size to capture processes that start prior to the audit daemon.
RMF Control
AU-14
Severity
Low
CCI
CCI-001464
Version
RHEL-09-653120
Vuln IDs
V-258173
Rule IDs
SV-258173r926506_rule
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). 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. Satisfies: SRG-OS-000254-GPOS-00095, SRG-OS-000341-GPOS-00132
Fix: F-61838r926505_fix

Configure RHEL 9 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

b
RHEL 9 audispd-plugins package must be installed.
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
RHEL-09-653130
Vuln IDs
V-258175
Rule IDs
SV-258175r926512_rule
"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.
Fix: F-61840r926511_fix

The audispd-plugins package can be installed with the following command: $ sudo dnf install audispd-plugins

b
RHEL 9 must audit uses of the "execve" system call.
RMF Control
AC-6
Severity
Medium
CCI
CCI-002233
Version
RHEL-09-654010
Vuln IDs
V-258176
Rule IDs
SV-258176r926515_rule
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. Satisfies: SRG-OS-000326-GPOS-00126, SRG-OS-000327-GPOS-00127
Fix: F-61841r926514_fix

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": -a always,exit -F arch=b32 -S execve -C uid!=euid -F euid=0 -k execpriv -a always,exit -F arch=b64 -S execve -C uid!=euid -F euid=0 -k execpriv -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.

b
RHEL 9 must audit all uses of the chmod, fchmod, and fchmodat system calls.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654015
Vuln IDs
V-258177
Rule IDs
SV-258177r926518_rule
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). When a user logs on, the auid is set to the uid of the account 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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-000064-GPOS-00033, SRG-OS-000466-GPOS-00210, SRG-OS-000458-GPOS-00203
Fix: F-61842r926517_fix

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.

b
RHEL 9 must audit all uses of the chown, fchown, fchownat, and lchown system calls.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654020
Vuln IDs
V-258178
Rule IDs
SV-258178r926521_rule
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). When a user logs on, the auid is set to the uid of the account 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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-000064-GPOS-00033, SRG-OS-000466-GPOS-00210, SRG-OS-000458-GPOS-00203, SRG-OS-000474-GPOS-00219
Fix: F-61843r926520_fix

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.

b
RHEL 9 must audit all uses of the setxattr, fsetxattr, lsetxattr, removexattr, fremovexattr, and lremovexattr system calls.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654025
Vuln IDs
V-258179
Rule IDs
SV-258179r926524_rule
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). When a user logs on, the auid is set to the uid of the account 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000458-GPOS-00203, SRG-OS-000462-GPOS-00206, SRG-OS-000463-GPOS-00207, SRG-OS-000471-GPOS-00215, SRG-OS-000474-GPOS-00219, SRG-OS-000466-GPOS-00210, SRG-OS-000064-GPOS-00033
Fix: F-61844r926523_fix

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.

b
RHEL 9 must audit all uses of umount system calls.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654030
Vuln IDs
V-258180
Rule IDs
SV-258180r926527_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215
Fix: F-61845r926526_fix

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.

b
RHEL 9 must audit all uses of the chacl command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654035
Vuln IDs
V-258181
Rule IDs
SV-258181r926530_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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
Fix: F-61846r926529_fix

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.

b
RHEL 9 must audit all uses of the setfacl command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654040
Vuln IDs
V-258182
Rule IDs
SV-258182r926533_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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
Fix: F-61847r926532_fix

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.

b
RHEL 9 must audit all uses of the chcon command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654045
Vuln IDs
V-258183
Rule IDs
SV-258183r926536_rule
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). 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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, SRG-OS-000463-GPOS-00207, SRG-OS-000465-GPOS-00209
Fix: F-61848r926535_fix

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.

b
RHEL 9 must audit all uses of the semanage command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654050
Vuln IDs
V-258184
Rule IDs
SV-258184r926539_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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-000463-GPOS-00207, SRG-OS-000465-GPOS-00209
Fix: F-61849r926538_fix

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.

b
RHEL 9 must audit all uses of the setfiles command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654055
Vuln IDs
V-258185
Rule IDs
SV-258185r926542_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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-000463-GPOS-00207, SRG-OS-000465-GPOS-00209
Fix: F-61850r926541_fix

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.

b
RHEL 9 must audit all uses of the setsebool command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654060
Vuln IDs
V-258186
Rule IDs
SV-258186r926545_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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-000463-GPOS-00207, SRG-OS-000465-GPOS-00209
Fix: F-61851r926544_fix

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.

b
RHEL 9 must audit all uses of the rename, unlink, rmdir, renameat, and unlinkat system calls.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654065
Vuln IDs
V-258187
Rule IDs
SV-258187r926548_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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, SRG-OS-000467-GPOS-00211, SRG-OS-000468-GPOS-00212
Fix: F-61852r926547_fix

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.

b
RHEL 9 must audit all uses of the truncate, ftruncate, creat, open, openat, and open_by_handle_at system calls.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654070
Vuln IDs
V-258188
Rule IDs
SV-258188r926551_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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-000064-GPOS-00033, SRG-OS-000458-GPOS-00203, SRG-OS-000461-GPOS-00205
Fix: F-61853r926550_fix

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 -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.

b
RHEL 9 must audit all uses of the delete_module system call.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654075
Vuln IDs
V-258189
Rule IDs
SV-258189r926554_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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
Fix: F-61854r926553_fix

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.

b
RHEL 9 must audit all uses of the init_module and finit_module system calls.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654080
Vuln IDs
V-258190
Rule IDs
SV-258190r926557_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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
Fix: F-61855r926556_fix

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.

b
RHEL 9 must audit all uses of the chage command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654085
Vuln IDs
V-258191
Rule IDs
SV-258191r926560_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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
Fix: F-61856r926559_fix

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.

b
RHEL 9 must audit all uses of the chsh command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654090
Vuln IDs
V-258192
Rule IDs
SV-258192r926563_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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
Fix: F-61857r926562_fix

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.

b
RHEL 9 must audit all uses of the crontab command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654095
Vuln IDs
V-258193
Rule IDs
SV-258193r926566_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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
Fix: F-61858r926565_fix

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.

b
RHEL 9 must audit all uses of the gpasswd command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654100
Vuln IDs
V-258194
Rule IDs
SV-258194r926569_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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
Fix: F-61859r926568_fix

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.

b
RHEL 9 must audit all uses of the kmod command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654105
Vuln IDs
V-258195
Rule IDs
SV-258195r926572_rule
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). When a user logs on, the auid is set to the uid of the account 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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
Fix: F-61860r926571_fix

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.

b
RHEL 9 must audit all uses of the newgrp command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654110
Vuln IDs
V-258196
Rule IDs
SV-258196r926575_rule
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. 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. The system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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
Fix: F-61861r926574_fix

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.

b
RHEL 9 must audit all uses of the pam_timestamp_check command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654115
Vuln IDs
V-258197
Rule IDs
SV-258197r926578_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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
Fix: F-61862r926577_fix

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.

b
RHEL 9 must audit all uses of the passwd command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654120
Vuln IDs
V-258198
Rule IDs
SV-258198r926581_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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
Fix: F-61863r926580_fix

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.

b
RHEL 9 must audit all uses of the postdrop command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654125
Vuln IDs
V-258199
Rule IDs
SV-258199r926584_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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
Fix: F-61864r926583_fix

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.

b
RHEL 9 must audit all uses of the postqueue command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654130
Vuln IDs
V-258200
Rule IDs
SV-258200r926587_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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
Fix: F-61865r926586_fix

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.

b
RHEL 9 must audit all uses of the ssh-agent command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654135
Vuln IDs
V-258201
Rule IDs
SV-258201r926590_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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
Fix: F-61866r926589_fix

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.

b
RHEL 9 must audit all uses of the ssh-keysign command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654140
Vuln IDs
V-258202
Rule IDs
SV-258202r926593_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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
Fix: F-61867r926592_fix

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.

b
RHEL 9 must audit all uses of the su command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654145
Vuln IDs
V-258203
Rule IDs
SV-258203r926596_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000064-GPOS-00033, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215, SRG-OS-000466-GPOS-00210
Fix: F-61868r926595_fix

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.

b
RHEL 9 must audit all uses of the sudo command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654150
Vuln IDs
V-258204
Rule IDs
SV-258204r926599_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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
Fix: F-61869r926598_fix

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.

b
RHEL 9 must audit all uses of the sudoedit command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654155
Vuln IDs
V-258205
Rule IDs
SV-258205r926602_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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
Fix: F-61870r926601_fix

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.

b
RHEL 9 must audit all uses of the unix_chkpwd command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654160
Vuln IDs
V-258206
Rule IDs
SV-258206r926605_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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
Fix: F-61871r926604_fix

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.

b
RHEL 9 must audit all uses of the unix_update command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654165
Vuln IDs
V-258207
Rule IDs
SV-258207r926608_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000064-GPOS-00033, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215
Fix: F-61872r926607_fix

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.

b
RHEL 9 must audit all uses of the userhelper command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654170
Vuln IDs
V-258208
Rule IDs
SV-258208r926611_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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
Fix: F-61873r926610_fix

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.

b
RHEL 9 must audit all uses of the usermod command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654175
Vuln IDs
V-258209
Rule IDs
SV-258209r926614_rule
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. 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 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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
Fix: F-61874r926613_fix

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.

b
RHEL 9 must audit all uses of the mount command.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654180
Vuln IDs
V-258210
Rule IDs
SV-258210r926617_rule
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). 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 system call made by all programs on the system. Therefore, it is very important to use system call 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 system calls into one rule whenever possible. Satisfies: 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
Fix: F-61875r926616_fix

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.

b
Successful/unsuccessful uses of the init command in RHEL 9 must generate an audit record.
RMF Control
AU-12
Severity
Medium
CCI
CCI-000172
Version
RHEL-09-654185
Vuln IDs
V-258211
Rule IDs
SV-258211r926620_rule
Misuse of the init command may cause availability issues for the system.
Fix: F-61876r926619_fix

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.

b
Successful/unsuccessful uses of the poweroff command in RHEL 9 must generate an audit record.
RMF Control
AU-12
Severity
Medium
CCI
CCI-000172
Version
RHEL-09-654190
Vuln IDs
V-258212
Rule IDs
SV-258212r926623_rule
Misuse of the poweroff command may cause availability issues for the system.
Fix: F-61877r926622_fix

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.

b
Successful/unsuccessful uses of the reboot command in RHEL 9 must generate an audit record.
RMF Control
AU-12
Severity
Medium
CCI
CCI-000172
Version
RHEL-09-654195
Vuln IDs
V-258213
Rule IDs
SV-258213r926626_rule
Misuse of the reboot command may cause availability issues for the system.
Fix: F-61878r926625_fix

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.

b
Successful/unsuccessful uses of the shutdown command in RHEL 9 must generate an audit record.
RMF Control
AU-12
Severity
Medium
CCI
CCI-000172
Version
RHEL-09-654200
Vuln IDs
V-258214
Rule IDs
SV-258214r926629_rule
Misuse of the shutdown command may cause availability issues for the system.
Fix: F-61879r926628_fix

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.

b
Successful/unsuccessful uses of the umount system call in RHEL 9 must generate an audit record.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654205
Vuln IDs
V-258215
Rule IDs
SV-258215r943018_rule
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. Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215
Fix: F-61880r943017_fix

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.

b
Successful/unsuccessful uses of the umount2 system call in RHEL 9 must generate an audit record.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654210
Vuln IDs
V-258216
Rule IDs
SV-258216r926635_rule
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. Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215
Fix: F-61881r926634_fix

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: -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 The audit daemon must be restarted for the changes to take effect.

b
RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/sudoers.
RMF Control
AC-2
Severity
Medium
CCI
CCI-000018
Version
RHEL-09-654215
Vuln IDs
V-258217
Rule IDs
SV-258217r926638_rule
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. Satisfies: 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-000466-GPOS-00210, SRG-OS-000476-GPOS-00221
Fix: F-61882r926637_fix

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.

b
RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/sudoers.d/ directory.
RMF Control
AC-2
Severity
Medium
CCI
CCI-000018
Version
RHEL-09-654220
Vuln IDs
V-258218
Rule IDs
SV-258218r926641_rule
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. Satisfies: 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-000466-GPOS-00210, SRG-OS-000476-GPOS-00221
Fix: F-61883r926640_fix

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.

b
RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/group.
RMF Control
AC-2
Severity
Medium
CCI
CCI-000018
Version
RHEL-09-654225
Vuln IDs
V-258219
Rule IDs
SV-258219r926644_rule
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. Satisfies: 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-000466-GPOS-00210, SRG-OS-000476-GPOS-00221
Fix: F-61884r926643_fix

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": -w /etc/group -p wa -k identity The audit daemon must be restarted for the changes to take effect.

b
RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/gshadow.
RMF Control
AC-2
Severity
Medium
CCI
CCI-000018
Version
RHEL-09-654230
Vuln IDs
V-258220
Rule IDs
SV-258220r926647_rule
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. Satisfies: 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-000466-GPOS-00210, SRG-OS-000476-GPOS-00221
Fix: F-61885r926646_fix

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": -w /etc/gshadow -p wa -k identity The audit daemon must be restarted for the changes to take effect.

b
RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/opasswd.
RMF Control
AC-2
Severity
Medium
CCI
CCI-000018
Version
RHEL-09-654235
Vuln IDs
V-258221
Rule IDs
SV-258221r926650_rule
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. Satisfies: 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-000466-GPOS-00210, SRG-OS-000476-GPOS-00221
Fix: F-61886r926649_fix

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": -w /etc/security/opasswd -p wa -k identity The audit daemon must be restarted for the changes to take effect.

b
RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/passwd.
RMF Control
AC-2
Severity
Medium
CCI
CCI-000018
Version
RHEL-09-654240
Vuln IDs
V-258222
Rule IDs
SV-258222r926653_rule
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. Satisfies: 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-000466-GPOS-00210, SRG-OS-000476-GPOS-00221, SRG-OS-000274-GPOS-00104, SRG-OS-000275-GPOS-00105, SRG-OS-000276-GPOS-00106, SRG-OS-000277-GPOS-00107
Fix: F-61887r926652_fix

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": -w /etc/passwd -p wa -k identity The audit daemon must be restarted for the changes to take effect.

b
RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/shadow.
RMF Control
AC-2
Severity
Medium
CCI
CCI-000018
Version
RHEL-09-654245
Vuln IDs
V-258223
Rule IDs
SV-258223r926656_rule
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. Satisfies: 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-000466-GPOS-00210, SRG-OS-000476-GPOS-00221
Fix: F-61888r926655_fix

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": -w /etc/shadow -p wa -k identity The audit daemon must be restarted for the changes to take effect.

b
RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /var/log/faillock.
RMF Control
AU-12
Severity
Medium
CCI
CCI-000172
Version
RHEL-09-654250
Vuln IDs
V-258224
Rule IDs
SV-258224r926659_rule
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. Satisfies: SRG-OS-000392-GPOS-00172, SRG-OS-000470-GPOS-00214, SRG-OS-000473-GPOS-00218
Fix: F-61889r926658_fix

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.

b
RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /var/log/lastlog.
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
RHEL-09-654255
Vuln IDs
V-258225
Rule IDs
SV-258225r926662_rule
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. Satisfies: 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, SRG-OS-000470-GPOS-00214
Fix: F-61890r926661_fix

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.

b
RHEL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /var/log/tallylog.
RMF Control
AU-12
Severity
Medium
CCI
CCI-000172
Version
RHEL-09-654260
Vuln IDs
V-258226
Rule IDs
SV-258226r926665_rule
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. Satisfies: SRG-OS-000392-GPOS-00172, SRG-OS-000470-GPOS-00214, SRG-OS-000473-GPOS-00218
Fix: F-61891r926664_fix

Configure RHEL 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/tallylog". Add or update the following file system rule to "/etc/audit/rules.d/audit.rules": -w /var/log/tallylog -p wa -k logins The audit daemon must be restarted for the changes to take effect.

b
RHEL 9 must take appropriate action when a critical audit processing failure occurs.
RMF Control
AU-5
Severity
Medium
CCI
CCI-000139
Version
RHEL-09-654265
Vuln IDs
V-258227
Rule IDs
SV-258227r926668_rule
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. Satisfies: SRG-OS-000046-GPOS-00022, SRG-OS-000047-GPOS-00023
Fix: F-61892r926667_fix

Configure RHEL 9 to shut down when auditing failures occur. Add the following line to the bottom of the /etc/audit/audit.rules file: -f 2

b
RHEL 9 audit system must protect logon UIDs from unauthorized change.
RMF Control
AU-9
Severity
Medium
CCI
CCI-000162
Version
RHEL-09-654270
Vuln IDs
V-258228
Rule IDs
SV-258228r926671_rule
If modification of login user identifiers (UIDs) is not prevented, they can be changed by nonprivileged users and make auditing complicated or impossible. Satisfies: SRG-OS-000462-GPOS-00206, SRG-OS-000475-GPOS-00220, SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029
Fix: F-61893r926670_fix

Configure RHEL 9 auditing to prevent modification of login UIDs once they are set by adding the following line to /etc/audit/rules.d/audit.rules: --loginuid-immutable The audit daemon must be restarted for the changes to take effect.

b
RHEL 9 audit system must protect auditing rules from unauthorized change.
RMF Control
AU-9
Severity
Medium
CCI
CCI-000162
Version
RHEL-09-654275
Vuln IDs
V-258229
Rule IDs
SV-258229r926674_rule
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 9 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
Fix: F-61894r926673_fix

Configure the audit system to set the audit rules to be immutable by adding the following line to end of "/etc/audit/rules.d/audit.rules" -e 2 The audit daemon must be restarted for the changes to take effect.

c
RHEL 9 must enable FIPS mode.
RMF Control
AC-17
Severity
High
CCI
CCI-000068
Version
RHEL-09-671010
Vuln IDs
V-258230
Rule IDs
SV-258230r926677_rule
Use of weak or untested encryption algorithms undermines the purposes of utilizing 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. This includes NIST FIPS-validated cryptography for the following: Provisioning digital signatures, generating cryptographic hashes, and to protect data requiring data-at-rest protections in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards. 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
Fix: F-61895r926676_fix

Configure the operating system to implement FIPS mode with the following command $ sudo fips-mode-setup --enable Reboot the system for the changes to take effect.

b
RHEL 9 must employ FIPS 140-3 approved cryptographic hashing algorithms for all stored passwords.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000196
Version
RHEL-09-671015
Vuln IDs
V-258231
Rule IDs
SV-258231r926680_rule
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. Satisfies: SRG-OS-000073-GPOS-00041, SRG-OS-000120-GPOS-00061
Fix: F-61896r926679_fix

Lock all interactive user accounts not using SHA-512 hashing until the passwords can be regenerated with SHA-512.

b
RHEL 9 IP tunnels must use FIPS 140-2/140-3 approved cryptographic algorithms.
RMF Control
AC-17
Severity
Medium
CCI
CCI-000068
Version
RHEL-09-671020
Vuln IDs
V-258232
Rule IDs
SV-258232r926683_rule
Overriding the system crypto policy makes the behavior of the Libreswan service violate expectations, and makes system configuration more fragmented.
Fix: F-61897r926682_fix

Configure Libreswan to use the system cryptographic policy. Add the following line to "/etc/ipsec.conf": include /etc/crypto-policies/back-ends/libreswan.config

b
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.
RMF Control
IA-5
Severity
Medium
CCI
CCI-000196
Version
RHEL-09-671025
Vuln IDs
V-258233
Rule IDs
SV-258233r926686_rule
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 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 DOD requirements. This allows for Security Levels 1, 2, 3, or 4 for use on a general-purpose computing system.
Fix: F-61898r926685_fix

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: password sufficient pam_unix.so sha512

b
RHEL 9 must have the crypto-policies package installed.
RMF Control
SC-13
Severity
Medium
CCI
CCI-002450
Version
RHEL-09-672010
Vuln IDs
V-258234
Rule IDs
SV-258234r926689_rule
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. Satisfies: SRG-OS-000396-GPOS-00176, SRG-OS-000393-GPOS-00173, SRG-OS-000394-GPOS-00174
Fix: F-61899r926688_fix

Install the crypto-policies package (if the package is not already installed) with the following command: $ sudo dnf install crypto-policies

b
RHEL 9 crypto policy must not be overridden.
RMF Control
SC-13
Severity
Medium
CCI
CCI-002450
Version
RHEL-09-672020
Vuln IDs
V-258236
Rule IDs
SV-258236r926695_rule
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. Satisfies: SRG-OS-000396-GPOS-00176, SRG-OS-000393-GPOS-00173, SRG-OS-000394-GPOS-00174
Fix: F-61901r926694_fix

Configure RHEL 9 to FIPS crypto policy. $ sudo ln -s /usr/share/crypto-policies/FIPS/<service>.txt /etc/crypto-policies/back-ends/<service>.conf Replace <service> with every service that is not set to FIPS. The system must be rebooted to make the changes to take effect.

b
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.
RMF Control
IA-7
Severity
Medium
CCI
CCI-000803
Version
RHEL-09-672025
Vuln IDs
V-258237
Rule IDs
SV-258237r926698_rule
Overriding the system crypto policy makes the behavior of Kerberos violate expectations, and makes system configuration more fragmented.
Fix: F-61902r926697_fix

Configure Kerberos to use system crypto 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

c
RHEL 9 must implement DOD-approved TLS encryption in the GnuTLS package.
RMF Control
AC-17
Severity
High
CCI
CCI-001453
Version
RHEL-09-672030
Vuln IDs
V-258238
Rule IDs
SV-258238r926701_rule
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
Fix: F-61903r926700_fix

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.

b
RHEL 9 must implement DOD-approved encryption in the OpenSSL package.
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
RHEL-09-672035
Vuln IDs
V-258239
Rule IDs
SV-258239r926704_rule
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.
Fix: F-61904r926703_fix

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

b
RHEL 9 must implement DOD-approved TLS encryption in the OpenSSL package.
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
RHEL-09-672040
Vuln IDs
V-258240
Rule IDs
SV-258240r926707_rule
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.
Fix: F-61905r926706_fix

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.

b
RHEL 9 must implement DOD-approved encryption in the bind package.
RMF Control
SC-8
Severity
Medium
CCI
CCI-002418
Version
RHEL-09-672050
Vuln IDs
V-258242
Rule IDs
SV-258242r926713_rule
Without cryptographic integrity protections, information can be altered by unauthorized users without detection. 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 employed algorithms can be viewed in the /etc/crypto-policies/back-ends/ directory. Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190
Fix: F-61907r926712_fix

Configure BIND to use the system crypto policy. Add the following line to the "options" section in "/etc/named.conf": include "/etc/crypto-policies/back-ends/bind.config";