Oracle Linux 9 Security Technical Implementation Guide - V1R1

  • Version/Release: V1R1
  • Published: 2025-04-17
  • Released: 2025-03-25
  • Expand All:
  • Severity:
  • Sort:
Compare

Select any two versions of this STIG to compare the individual requirements

View

Select any old version/release of this STIG 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.
b
The OL 9 operating system must implement cryptographic mechanisms to prevent unauthorized modification of all information at rest.
- Medium - CCI-004910 - V-271431 - SV-271431r1092616_rule
RMF Control
Severity
Medium
CCI
CCI-004910
Version
OL09-00-000001
Vuln IDs
  • V-271431
Rule IDs
  • SV-271431r1092616_rule
Operating systems handling data requiring "data at rest" protections must employ cryptographic mechanisms to prevent unauthorized disclosure and modification of the information at rest. Selection of a cryptographic mechanism is based on the need to protect the integrity of organizational information. The strength of the mechanism is commensurate with the security category and/or classification of the information. Organizations have the flexibility to either encrypt all information on storage devices (i.e., full disk encryption) or encrypt specific data structures (e.g., files, records, or fields).
Checks: C-75481r1091003_chk

Note: If there is a documented and approved reason for not having data at rest encryption, this requirement is Not Applicable. Verify that OL 9 prevents unauthorized disclosure or modification of all information requiring at rest protection by using disk encryption. Determine the partition layout for the system with the following command: $ sudo fdisk -l (..) Disk /dev/vda: 15 GiB, 16106127360 bytes, 31457280 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 83298450-B4E3-4B19-A9E4-7DF147A5FEFB Device Start End Sectors Size Type /dev/vda1 2048 4095 2048 1M BIOS boot /dev/vda2 4096 2101247 2097152 1G Linux filesystem /dev/vda3 2101248 31455231 29353984 14G Linux filesystem (...) Verify that the system partitions are all encrypted with the following command: $ sudo more /etc/crypttab Every persistent disk partition present must have an entry in the file. If any partitions other than the boot partition or pseudo file systems (such as /proc or /sys) are not listed, this is a finding.

Fix: F-75388r1092615_fix

Configure the OL 9 operating system to implement cryptographic mechanisms to prevent unauthorized modification of all information at rest. To encrypt an entire partition, dedicate a partition for encryption in the partition layout. Note: Encrypting a partition in an already-installed system is more difficult because it will need to be resized and existing partitions changed.

a
OL 9 must use a separate file system for the system audit data path.
AU-4 - Low - CCI-001849 - V-271432 - SV-271432r1091008_rule
RMF Control
AU-4
Severity
Low
CCI
CCI-001849
Version
OL09-00-000002
Vuln IDs
  • V-271432
Rule IDs
  • SV-271432r1091008_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.
Checks: C-75482r1091006_chk

Verify that OL 9 uses a separate file system for the system audit data path with the following command: Note: /var/log/audit is used as the example as it is a common location. $ mount | grep /var/log/audit UUID=2efb2979-45ac-82d7-0ae632d11f51 on /var/log/home type xfs (rw,realtime,seclabel,attr2,inode64) If no line is returned, this is a finding.

Fix: F-75389r1091007_fix

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

b
OL 9 must be configured so that a separate file system must be used for user home directories (such as /home or an equivalent).
CM-6 - Medium - CCI-000366 - V-271433 - SV-271433r1091011_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-000003
Vuln IDs
  • V-271433
Rule IDs
  • SV-271433r1091011_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.
Checks: C-75483r1091009_chk

Verify that OL 9 uses a separate file system for user home directories (such as /home or an equivalent) with the following command: $ mount | grep /home UUID=fba5000f-2ffa-4417-90eb-8c54ae74a32f on /home type ext4 (rw,nodev,nosuid,noexec,seclabel) If a separate entry for "/home" is not in use, this is a finding.

Fix: F-75390r1091010_fix

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

b
OL 9 must use a separate file system for /tmp.
CM-6 - Medium - CCI-000366 - V-271434 - SV-271434r1091014_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-000004
Vuln IDs
  • V-271434
Rule IDs
  • SV-271434r1091014_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.
Checks: C-75484r1091012_chk

Verify that OL 9 uses a separate file system/partition for "/tmp" with the following command: $ mount | grep /tmp tmpfs /tmp tmpfs noatime,mode=1777 0 0 If a separate entry for "/tmp" is not in use, this is a finding.

Fix: F-75391r1091013_fix

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

a
OL 9 must use a separate file system for /var.
CM-6 - Low - CCI-000366 - V-271435 - SV-271435r1091017_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
OL09-00-000005
Vuln IDs
  • V-271435
Rule IDs
  • SV-271435r1091017_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.
Checks: C-75485r1091015_chk

Verify that OL 9 uses a separate file system/partition for "/var" with the following command: $ mount | grep /var UUID=c274f65f-c5b5-4481-b007-bee96feb8b05 /var xfs noatime 1 2 If a separate entry for "/var" is not in use, this is a finding.

Fix: F-75392r1091016_fix

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

a
OL 9 must use a separate file system for /var/log.
CM-6 - Low - CCI-000366 - V-271436 - SV-271436r1091020_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
OL09-00-000006
Vuln IDs
  • V-271436
Rule IDs
  • SV-271436r1091020_rule
Placing "/var/log" in its own partition enables better separation between log files and other files in "/var/".
Checks: C-75486r1091018_chk

Verify that OL 9 uses a separate file system/partition for "/var/log" with the following command: $ mount | grep /var/log UUID=c274f65f-c5b5-4486-b021-bee96feb8b21 /var/log xfs noatime 1 2 If a separate entry for "/var/log" is not in use, this is a finding.

Fix: F-75393r1091019_fix

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

b
OL 9 must use a separate file system for /var/tmp.
CM-6 - Medium - CCI-000366 - V-271437 - SV-271437r1091023_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-000007
Vuln IDs
  • V-271437
Rule IDs
  • SV-271437r1091023_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.
Checks: C-75487r1091021_chk

Verify that OL 9 uses a separate file system/partition for "/var/tmp" with the following command: $ mount | grep /var/tmp UUID=c274f65f-c5b5-4379-b017-bee96feb7a34 /var/log xfs noatime 1 2 If a separate entry for "/var/tmp" is not in use, this is a finding.

Fix: F-75394r1091022_fix

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

c
OL 9 must be a vendor supported release.
SI-2 - High - CCI-002605 - V-271438 - SV-271438r1091026_rule
RMF Control
SI-2
Severity
High
CCI
CCI-002605
Version
OL09-00-000010
Vuln IDs
  • V-271438
Rule IDs
  • SV-271438r1091026_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. Oracle offers Oracle Linux Premier Support, for a fee, for those customers who wish to standardize on a specific minor release for an extended period.
Checks: C-75488r1091024_chk

Verify that OL 9 is vendor supported with the following command: $ cat /etc/oracle-release Oracle Linux Server release 9.5 If the installed version of OL 9 is not supported, this is a finding.

Fix: F-75395r1091025_fix

Upgrade OL 9 to a supported version.

b
OL 9 vendor packaged system security patches and updates must be installed and up to date.
CM-6 - Medium - CCI-000366 - V-271439 - SV-271439r1091029_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-000015
Vuln IDs
  • V-271439
Rule IDs
  • SV-271439r1091029_rule
Installing software updates is a fundamental mitigation against the exploitation of publicly known vulnerabilities. If the most recent security patches and updates are not installed, unauthorized users may take advantage of weaknesses in the unpatched software. The lack of prompt attention to patching could result in a system compromise.
Checks: C-75489r1091027_chk

Verify that OL 9 security patches and updates are installed and up to date. Updates are required to be applied with a frequency determined by organizational policy. Obtain the list of available package security updates from Oracle. The URL for updates is https://linux.oracle.com/errata/. It is important to note that updates provided by Oracle may not be present on the system if the underlying packages are not installed. Check that the available package security updates have been installed on the system with the following command: $ dnf history list | more ID | Command line | Date and time | Action(s) | Altered ------------------------------------------------------------------------------- 70 | install aide | 2023-03-05 10:58 | Install | 1 69 | update -y | 2023-03-04 14:34 | Update | 18 EE 68 | install vlc | 2023-02-21 17:12 | Install | 21 67 | update -y | 2023-02-21 17:04 | Update | 7 EE Typical update frequency may be overridden by Information Assurance Vulnerability Alert (IAVA) notifications from CYBERCOM. If the system is in noncompliance with the organizational patching policy, this is a finding.

Fix: F-75396r1091028_fix

Install OL 9 security patches and updates at the organizationally defined frequency. If system updates are installed via a centralized repository that is configured on the system, all updates can be installed with the following command: $ sudo dnf update -y

b
OL 9 must be configured so that the graphical display manager is not the default target unless approved.
CM-6 - Medium - CCI-000366 - V-271440 - SV-271440r1092462_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-000020
Vuln IDs
  • V-271440
Rule IDs
  • SV-271440r1092462_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.
Checks: C-75490r1091030_chk

Verify that OL 9 is configured to boot to the command line: $ systemctl get-default multi-user.target If the system default target is not set to "multi-user.target" and the information system security officer (ISSO) lacks a documented requirement for a graphical user interface, this is a finding.

Fix: F-75397r1091031_fix

Configure OL 9 to boot to the command line. Set the default target to multi-user with the following command: $ sudo systemctl set-default multi-user.target If there is an operational requirement for a graphical user interface, document it with the ISSO.

b
OL 9 must require authentication to access emergency mode.
AC-3 - Medium - CCI-000213 - V-271441 - SV-271441r1091035_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-000213
Version
OL09-00-000025
Vuln IDs
  • V-271441
Rule IDs
  • SV-271441r1091035_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.
Checks: C-75491r1091033_chk

Verify that OL 9 requires authentication for emergency mode with the following command: $ grep sulogin-shell /usr/lib/systemd/system/emergency.service ExecStart=-/usr/lib/systemd/systemd-sulogin-shell emergency If this line is not returned, or is commented out, this is a finding. If the output is different, this is a finding.

Fix: F-75398r1091034_fix

Configure OL 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
OL 9 must require authentication to access single-user mode.
AC-3 - Medium - CCI-000213 - V-271442 - SV-271442r1091038_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-000213
Version
OL09-00-000030
Vuln IDs
  • V-271442
Rule IDs
  • SV-271442r1091038_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.
Checks: C-75492r1091036_chk

Verify that OL 9 requires authentication for single-user mode with the following command: $ grep sulogin /usr/lib/systemd/system/rescue.service ExecStart=-/usr/lib/systemd/systemd-sulogin-shell rescue If this line is not returned, or is commented out, this is a finding.

Fix: F-75399r1091037_fix

Configure OL 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
OL 9 must be configured to disable the Asynchronous Transfer Mode (ATM) kernel module.
CM-7 - Medium - CCI-000381 - V-271443 - SV-271443r1092463_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
OL09-00-000040
Vuln IDs
  • V-271443
Rule IDs
  • SV-271443r1092463_rule
Disabling ATM protects the system against exploitation of any flaws in its implementation.
Checks: C-75493r1091039_chk

Verify that OL 9 disables the ability to load the ATM kernel module with the following command: $ grep -r atm /etc/modprobe.conf /etc/modprobe.d/* install atm /bin/false blacklist atm If the command does not return any output, or the line is commented out, and use of ATM is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-75400r1091040_fix

Configure OL 9 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
OL 9 must be configured to disable the Controller Area Network (CAN) kernel module.
CM-7 - Medium - CCI-000381 - V-271444 - SV-271444r1091044_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
OL09-00-000041
Vuln IDs
  • V-271444
Rule IDs
  • SV-271444r1091044_rule
Disabling CAN protects the system against exploitation of any flaws in its implementation.
Checks: C-75494r1091042_chk

Verify that OL 9 disables the ability to load the CAN kernel module with the following command: $ grep -r can /etc/modprobe.conf /etc/modprobe.d/* install can /bin/false blacklist can If the command does not return any output, or the line is commented out, and use of CAN is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-75401r1091043_fix

Configure OL 9 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
OL 9 must be configured to disable the FireWire kernel module.
CM-7 - Medium - CCI-000381 - V-271445 - SV-271445r1091047_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
OL09-00-000042
Vuln IDs
  • V-271445
Rule IDs
  • SV-271445r1091047_rule
Disabling firewire protects the system against exploitation of any flaws in its implementation.
Checks: C-75495r1091045_chk

Verify that OL 9 disables the ability to load the firewire-core kernel module with the following command: $ grep -r firewire-core /etc/modprobe.conf /etc/modprobe.d/* install firewire-core /bin/true blacklist firewire-core If the command does not return any output, or the line is commented out, and use of firewire-core is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-75402r1091046_fix

Configure OL 9 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/true blacklist firewire-core

b
OL 9 must disable the Stream Control Transmission Protocol (SCTP) kernel module.
CM-7 - Medium - CCI-000381 - V-271446 - SV-271446r1091050_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
OL09-00-000043
Vuln IDs
  • V-271446
Rule IDs
  • SV-271446r1091050_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 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.
Checks: C-75496r1091048_chk

Verify that OL 9 disables the ability to load the sctp kernel module with the following command: $ grep -r sctp /etc/modprobe.conf /etc/modprobe.d/* blacklist sctp If the command does not return any output, or the line is commented out, and use of sctp is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-75403r1091049_fix

Configure OL 9 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
OL 9 must disable the Transparent Inter Process Communication (TIPC) kernel module.
CM-7 - Medium - CCI-000381 - V-271447 - SV-271447r1092464_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
OL09-00-000044
Vuln IDs
  • V-271447
Rule IDs
  • SV-271447r1092464_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 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.
Checks: C-75497r1091051_chk

Verify that OL 9 disables the ability to load the tipc kernel module with the following command: $ grep -r tipc /etc/modprobe.conf /etc/modprobe.d/* blacklist tipc If the command does not return any output, or the line is commented out, and use of TIPC is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-75404r1091052_fix

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

a
OL 9 must disable mounting of cramfs.
CM-7 - Low - CCI-000381 - V-271448 - SV-271448r1091056_rule
RMF Control
CM-7
Severity
Low
CCI
CCI-000381
Version
OL09-00-000045
Vuln IDs
  • V-271448
Rule IDs
  • SV-271448r1091056_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.
Checks: C-75498r1091054_chk

Verify that OL 9 disables the ability to load the cramfs kernel module with the following command: $ grep -ri cramfs /etc/modprobe.d/* | grep -i "/bin/false" install cramfs /bin/false If the command does not return any output, or the line is commented out, and use of the cramfs protocol is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding. Verify the operating system disables the ability to use the cramfs kernel module. Determine if the cramfs kernel module is disabled with the following command: $ grep -ri cramfs /etc/modprobe.d/* | grep -i "blacklist" blacklist cramfs If the command does not return any output or the output is not "blacklist cramfs", and use of the cramfs kernel module is not documented with the ISSO as an operational requirement, this is a finding.

Fix: F-75405r1091055_fix

Configure OL 9 to prevent the cramfs kernel module from being loaded. Add the following line to the file /etc/modprobe.d/cramfs.conf (or create blacklist.conf if it does not exist): install cramfs /bin/false blacklist cramfs Reboot the system for the settings to take effect.

b
OL 9 Bluetooth must be disabled.
CM-7 - Medium - CCI-000381 - V-271449 - SV-271449r1091059_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
OL09-00-000046
Vuln IDs
  • V-271449
Rule IDs
  • SV-271449r1091059_rule
This requirement applies to wireless peripheral technologies (e.g., wireless mice, keyboards, displays, etc.) used with OL 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 OL 9 operating system. Satisfies: SRG-OS-000095-GPOS-00049, SRG-OS-000300-GPOS-00118
Checks: C-75499r1091057_chk

Verify that OL 9 disables the ability to load the Bluetooth kernel module with the following command: $ grep -r bluetooth /etc/modprobe.conf /etc/modprobe.d/* install bluetooth /bin/false blacklist bluetooth If the command does not return any output, or the line is commented out, and use of Bluetooth is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-75406r1091058_fix

Configure OL 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
OL 9 must be configured to disable USB mass storage.
IA-3 - Medium - CCI-000778 - V-271450 - SV-271450r1092466_rule
RMF Control
IA-3
Severity
Medium
CCI
CCI-000778
Version
OL09-00-000047
Vuln IDs
  • V-271450
Rule IDs
  • SV-271450r1092466_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
Checks: C-75500r1091060_chk

Verify that OL 9 disables the ability to load the USB Storage kernel module with the following command: $ grep -r usb-storage /etc/modprobe.conf /etc/modprobe.d/* install usb-storage /bin/false blacklist usb-storage If the command does not return any output, or the line is commented out, and use of USB Storage is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-75407r1092465_fix

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

c
OL 9 must require a unique superuser's name upon booting into single-user and maintenance modes.
AC-3 - High - CCI-000213 - V-271451 - SV-271451r1091065_rule
RMF Control
AC-3
Severity
High
CCI
CCI-000213
Version
OL09-00-000050
Vuln IDs
  • V-271451
Rule IDs
  • SV-271451r1091065_rule
Having a nondefault grub superuser username makes password-guessing attacks less effective.
Checks: C-75501r1091063_chk

Verify that OL 9 requires a unique username for the grub superuser account. Verify the boot loader superuser account has been set with the following command: $ sudo grep -A1 "superusers" /etc/grub2.cfg set superusers="<superusers-account>" export superusers password_pbkdf2 root ${GRUB2_PASSWORD} The <superusers-account> is the actual account name different from common names like root, admin, or administrator. If superusers contains easily guessable usernames, this is a finding.

Fix: F-75408r1091064_fix

Configure OL 9 to have a unique username for the grub superuser account. Edit the "/etc/grub.d/01_users" file and add or modify the following lines in the "### BEGIN /etc/grub.d/01_users ###" section: set superusers="superusers-account" export superusers Once the superuser account has been added, update the grub.cfg file by running: $ sudo grubby --update-kernel=ALL'

c
OL 9 must use a Linux Security Module configured to enforce limits on system services.
SI-6 - High - CCI-002696 - V-271452 - SV-271452r1091068_rule
RMF Control
SI-6
Severity
High
CCI
CCI-002696
Version
OL09-00-000060
Vuln IDs
  • V-271452
Rule IDs
  • SV-271452r1091068_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
Checks: C-75502r1091066_chk

Verify that OL 9 enforces the correct operation of security functions through the use of SELinux with the following command: $ getenforce Enforcing If SELINUX is not set to "Enforcing", this is a finding. Verify that SELinux is configured to be enforcing at boot. $ grep "SELINUX=" /etc/selinux/config # SELINUX= can take one of these three values: # NOTE: In earlier Fedora kernel builds, SELINUX=disabled would also SELINUX=enforcing If SELINUX line is missing, commented out, or not set to "enforcing", this is a finding.

Fix: F-75409r1091067_fix

Configure OL 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
OL 9 must enable the SELinux targeted policy.
SI-6 - Medium - CCI-002696 - V-271453 - SV-271453r1091071_rule
RMF Control
SI-6
Severity
Medium
CCI
CCI-002696
Version
OL09-00-000065
Vuln IDs
  • V-271453
Rule IDs
  • SV-271453r1091071_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".
Checks: C-75503r1091069_chk

Verify that OL 9 enables the SELinux targeted policy with the following command: $ sestatus | grep policy Loaded policy name: targeted If the loaded policy name is not "targeted", this is a finding.

Fix: F-75410r1091070_fix

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

c
OL 9 must enable FIPS mode.
AC-17 - High - CCI-000068 - V-271454 - SV-271454r1092458_rule
RMF Control
AC-17
Severity
High
CCI
CCI-000068
Version
OL09-00-000070
Vuln IDs
  • V-271454
Rule IDs
  • SV-271454r1092458_rule
Use of weak or untested encryption algorithms undermines the purposes of using encryption to protect data. The operating system must implement cryptographic modules adhering to the higher standards approved by the federal government since this provides assurance they have been tested and validated. 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
Checks: C-75504r1091072_chk

Verify that OL 9 is in FIPS mode with the following command: $ fips-mode-setup --check FIPS mode is enabled. If FIPS mode is not enabled, this is a finding.

Fix: F-75411r1092458_fix

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

b
OL 9 must display the Standard Mandatory DOD Notice and Consent Banner before granting local or remote access to the system via a command line user logon.
AC-8 - Medium - CCI-000048 - V-271455 - SV-271455r1091077_rule
RMF Control
AC-8
Severity
Medium
CCI
CCI-000048
Version
OL09-00-000090
Vuln IDs
  • V-271455
Rule IDs
  • SV-271455r1091077_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. 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
Checks: C-75505r1091075_chk

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

Fix: F-75412r1091076_fix

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

b
OL 9 must not have the nfs-utils package installed.
CM-7 - Medium - CCI-000381 - V-271456 - SV-271456r1091080_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
OL09-00-000100
Vuln IDs
  • V-271456
Rule IDs
  • SV-271456r1091080_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.
Checks: C-75506r1091078_chk

Verify that OL 9 does not have the nfs-utils package installed with the following command: $ dnf list --installed nfs-utils Error: No matching Packages to list If the "nfs-utils" package is installed, this is a finding.

Fix: F-75413r1091079_fix

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

b
OL 9 must not have the rsh-server package installed.
CM-7 - Medium - CCI-000381 - V-271457 - SV-271457r1091083_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
OL09-00-000105
Vuln IDs
  • V-271457
Rule IDs
  • SV-271457r1091083_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.
Checks: C-75507r1091081_chk

Verify that OL 9 does not have the rsh-server package installed with the following command: $ dnf list --installed rsh-server Error: No matching Packages to list If the "rsh-server" package is installed, this is a finding.

Fix: F-75414r1091082_fix

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

b
OL 9 must not have the telnet-server package installed.
CM-7 - Medium - CCI-000381 - V-271458 - SV-271458r1091086_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
OL09-00-000110
Vuln IDs
  • V-271458
Rule IDs
  • SV-271458r1091086_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.
Checks: C-75508r1091084_chk

Verify that OL 9 does not have the telnet-server package installed with the following command: $ dnf list --installed telnet-server Error: No matching Packages to list If the "telnet-server" package is installed, this is a finding.

Fix: F-75415r1091085_fix

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

b
OL 9 must not have the gssproxy package installed.
CM-7 - Medium - CCI-000381 - V-271459 - SV-271459r1091089_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
OL09-00-000115
Vuln IDs
  • V-271459
Rule IDs
  • SV-271459r1091089_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.
Checks: C-75509r1091087_chk

Verify that OL 9 does not have the gssproxy package installed with the following command: $ dnf list --installed gssproxy Error: No matching Packages to list If the "gssproxy" package is installed and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-75416r1091088_fix

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

b
OL 9 must not have the iprutils package installed.
CM-7 - Medium - CCI-000381 - V-271460 - SV-271460r1091092_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
OL09-00-000120
Vuln IDs
  • V-271460
Rule IDs
  • SV-271460r1091092_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.
Checks: C-75510r1091090_chk

Verify that OL 9 does not have the iprutils package installed with the following command: $ dnf list --installed iprutils Error: No matching Packages to list If the "iprutils" package is installed and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-75417r1091091_fix

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

b
OL 9 must not have the tuned package installed.
CM-7 - Medium - CCI-000381 - V-271461 - SV-271461r1091095_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
OL09-00-000125
Vuln IDs
  • V-271461
Rule IDs
  • SV-271461r1091095_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.
Checks: C-75511r1091093_chk

Verify that OL 9 does not have the tuned package installed with the following command: $ dnf list --installed tuned Error: No matching Packages to list If the "tuned" package is installed and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-75418r1091094_fix

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

c
OL 9 must not have a File Transfer Protocol (FTP) server package installed.
IA-5 - High - CCI-000197 - V-271462 - SV-271462r1091098_rule
RMF Control
IA-5
Severity
High
CCI
CCI-000197
Version
OL09-00-000130
Vuln IDs
  • V-271462
Rule IDs
  • SV-271462r1091098_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
Checks: C-75512r1091096_chk

Verify that OL 9 does not have an FTP server package installed with the following command: $ dnf list --installed | grep ftp If the "ftp" package is installed, this is a finding.

Fix: F-75419r1091097_fix

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

c
OL 9 must not have a Trivial File Transfer Protocol (TFTP) server package installed.
CM-6 - High - CCI-000366 - V-271463 - SV-271463r1091101_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
OL09-00-000135
Vuln IDs
  • V-271463
Rule IDs
  • SV-271463r1091101_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.
Checks: C-75513r1091099_chk

Verify that OL 9 does not have a tftp server package installed with the following command: $ dnf list --installed | grep tftp If the "tftp" package is installed, this is a finding.

Fix: F-75420r1091100_fix

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

b
OL 9 must not have the quagga package installed.
CM-6 - Medium - CCI-000366 - V-271464 - SV-271464r1092459_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-000140
Vuln IDs
  • V-271464
Rule IDs
  • SV-271464r1092459_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.
Checks: C-75514r1092459_chk

Verify that OL 9 does not have the quagga package installed with the following command: $ dnf list --installed quagga Error: No matching Packages to list If the quagga package is installed and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-75421r1091103_fix

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

b
OL 9 must not have a graphical display manager installed unless approved.
CM-7 - Medium - CCI-000382 - V-271465 - SV-271465r1091107_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000382
Version
OL09-00-000145
Vuln IDs
  • V-271465
Rule IDs
  • SV-271465r1091107_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.
Checks: C-75515r1091105_chk

Verify that OL 9 does not have a graphical user interface installed with the following command: $ dnf list --installed "xorg*common" Error: No matching Packages to list If the "x11-server-common" package is installed, and the use of a graphical user interface has not been documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-75422r1091106_fix

Remove all xorg packages with the following command: Warning: If 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 If there is an operational requirement for a graphical user interface it must be documented with the ISSO.

b
OL 9 must not have the sendmail package installed.
CM-7 - Medium - CCI-000381 - V-271466 - SV-271466r1091110_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
OL09-00-000150
Vuln IDs
  • V-271466
Rule IDs
  • SV-271466r1091110_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.
Checks: C-75516r1091108_chk

Verify that OL 9 does not have the sendmail package installed with the following command: $ dnf list --installed sendmail Error: No matching Packages to list If the "sendmail" package is installed, this is a finding.

Fix: F-75423r1091109_fix

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

b
OL 9 must have policycoreutils package installed.
SC-3 - Medium - CCI-001084 - V-271467 - SV-271467r1091113_rule
RMF Control
SC-3
Severity
Medium
CCI
CCI-001084
Version
OL09-00-000200
Vuln IDs
  • V-271467
Rule IDs
  • SV-271467r1091113_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.
Checks: C-75517r1091111_chk

Verify that OL 9 has the policycoreutils package installed with the following command: $ dnf list --installed policycoreutils Installed Packages policycoreutils.x86_64 3.6-2.1.el9 @anaconda If the "policycoreutils" package is not installed, this is a finding.

Fix: F-75424r1091112_fix

Install the policycoreutils package with the following command: $ sudo dnf install -y policycoreutils

b
OL 9 policycoreutils-python-utils package must be installed.
CM-6 - Medium - CCI-000366 - V-271468 - SV-271468r1091116_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-000210
Vuln IDs
  • V-271468
Rule IDs
  • SV-271468r1091116_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.
Checks: C-75518r1091114_chk

Verify that OL 9 policycoreutils-python-utils service package is installed with the following command: $ dnf list --installed policycoreutils-python-utils Installed Packages policycoreutils-python-utils.noarch 3.6-2.1.el9 @AppStream If the "policycoreutils-python-utils" package is not installed, this is a finding.

Fix: F-75425r1091115_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 -y policycoreutils-python-utils

b
OL 9 must have the firewalld package installed.
CM-7 - Medium - CCI-000382 - V-271469 - SV-271469r1091119_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000382
Version
OL09-00-000220
Vuln IDs
  • V-271469
Rule IDs
  • SV-271469r1091119_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. OL 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-00232
Checks: C-75519r1091117_chk

Verify that OL 9 has the firewalld package installed with the following command: $ dnf list --installed firewalld Installed Packages firewalld.noarch 1.3.4-1.0.1.el9 @anaconda If the "firewall" package is not installed, this is a finding.

Fix: F-75426r1091118_fix

Install the firewalld package with the following command: $ sudo dnf install -y firewalld

b
OL 9 must be configured so that the firewalld service is active.
CM-7 - Medium - CCI-000382 - V-271470 - SV-271470r1092618_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000382
Version
OL09-00-000221
Vuln IDs
  • V-271470
Rule IDs
  • SV-271470r1092618_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. OL 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
Checks: C-75520r1091120_chk

Verify that OL 9 firewalld is active with the following command: $ systemctl is-active firewalld active If the firewalld service is not active, this is a finding.

Fix: F-75427r1092617_fix

Enable the firewalld service with the following command: $ sudo systemctl enable --now firewalld Note: If firewalld is masked, run following command: sudo systemctl unmask firewalld

b
OL 9 must be configured to prohibit or restrict the use of functions, ports, protocols, and/or services, as defined in the Ports, Protocols, and Services Management (PPSM) Category Assignments List (CAL) and vulnerability assessments.
CM-7 - Medium - CCI-000382 - V-271471 - SV-271471r1091125_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000382
Version
OL09-00-000222
Vuln IDs
  • V-271471
Rule IDs
  • SV-271471r1091125_rule
To prevent unauthorized connection of devices, unauthorized transfer of information, or unauthorized tunneling (i.e., embedding of data types within data types), organizations must disable or restrict unused or unnecessary ports, protocols, and services on information systems.
Checks: C-75521r1091123_chk

Verify OL 9 is configured to prohibit or restrict the use of functions, ports, protocols, and/or services that are unnecessary or prohibited. Inspect the firewall configuration and running services to verify which services are currently active with the following command: $ sudo firewall-cmd --list-all-zones custom (active) target: DROP icmp-block-inversion: no interfaces: ens33 sources: services: dhcpv6-client dns http https ldaps rpc-bind ssh ports: masquerade: no forward-ports: icmp-blocks: rich rules: Ask the system administrator for the site or program PPSM Component Local Service Assessment (CLSA). Verify the services allowed by the firewall match the PPSM CLSA. If there are additional ports, protocols, or services that are not in the PPSM CLSA, or there are ports, protocols, or services that are prohibited by the PPSM CAL, this is a finding.

Fix: F-75428r1091124_fix

Update the firewall settings and/or running services to comply with the PPSM CLSA for the site or program and the PPSM CAL. Then run the following command to load the newly created rule(s): $ sudo firewall-cmd --reload

b
OL 9 must control remote access methods.
CM-7 - Medium - CCI-000382 - V-271472 - SV-271472r1091128_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000382
Version
OL09-00-000223
Vuln IDs
  • V-271472
Rule IDs
  • SV-271472r1091128_rule
To prevent unauthorized connection of devices, unauthorized transfer of information, or unauthorized tunneling (i.e., embedding of data types within data types), organizations must disable or restrict unused or unnecessary physical and logical ports/protocols on information systems. Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services provided by default may not be necessary to support essential organizational operations. Additionally, it is sometimes convenient to provide multiple services from a single component (e.g., VPN and IPS); however, doing so increases risk over limiting the services provided by one component. To support the requirements and principles of least functionality, the operating system must support the organizational requirements, providing only essential capabilities and limiting the use of ports, protocols, and/or services to only those required, authorized, and approved to conduct official business. Satisfies: SRG-OS-000096-GPOS-00050, SRG-OS-000297-GPOS-00115
Checks: C-75522r1091126_chk

Verify that OL 9 controls remote access methods. Inspect the list of enabled firewall ports and verify they are configured correctly by running the following command: $ sudo firewall-cmd --list-all Ask the system administrator for the site or program Ports, Protocols, and Services Management Component Local Service Assessment (PPSM CLSA). Verify the services allowed by the firewall match the PPSM CLSA. If there are additional ports, protocols, or services that are not in the PPSM CLSA, or there are ports, protocols, or services that are prohibited by the PPSM Category Assurance List (CAL), or there are no firewall rules configured, this is a finding.

Fix: F-75429r1091127_fix

Configure OL 9 to allow approved settings and/or running services to comply with the PPSM CLSA for the site or program and the PPSM CAL. To open a port for a service, configure firewalld using the following command: $ sudo firewall-cmd --permanent --add-port=port_number/tcp or $ sudo firewall-cmd --permanent --add-service=service_name

b
OL 9 must be configured so that the firewall employs a deny-all, allow-by-exception policy for allowing connections to other systems.
CM-6 - Medium - CCI-000366 - V-271473 - SV-271473r1091131_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-000224
Vuln IDs
  • V-271473
Rule IDs
  • SV-271473r1091131_rule
Failure to restrict network connectivity only to authorized systems permits inbound connections from malicious systems. It also permits outbound connections that may facilitate exfiltration of DOD data. OL 9 incorporates the "firewalld" daemon, which allows for many different configurations. One of these configurations is zones. Zones can be used to a deny-all, allow-by-exception approach. The default "drop" zone will drop all incoming network packets unless it is explicitly allowed by the configuration file or is related to an outgoing network connection.
Checks: C-75523r1091129_chk

Verify that OL 9 is configured to employ a deny-all, allow-by-exception policy for allowing connections to other systems with the following commands: $ sudo firewall-cmd --state running $ sudo firewall-cmd --get-active-zones public interfaces: ens33 $ sudo firewall-cmd --info-zone=public | grep target target: DROP $ sudo firewall-cmd --permanent --info-zone=public | grep target target: DROP If no zones are active on the OL 9 interfaces or if runtime and permanent targets are set to a different option other than "DROP", this is a finding.

Fix: F-75430r1091130_fix

Configure the firewalld daemon to employ a deny-all, allow-by-exception with the following commands: Start by adding the exceptions that are required for mission functionality to the "drop" zone. If SSH access on port 22 is needed, for example, run the following: "sudo firewall-cmd --permanent --add-service=ssh --zone=drop" Reload the firewall rules to update the runtime configuration from the "--permanent" changes made above: $ sudo firewall-cmd --reload Set the default zone to the drop zone: $ sudo firewall-cmd --set-default-zone=drop Note: This is a runtime and permanent change. Add any interfaces to the newly modified "drop" zone: $ sudo firewall-cmd --permanent --zone=drop --change-interface=ens33 Reload the firewall rules for changes to take effect: $ sudo firewall-cmd --reload

b
OL 9 must have the sudo package installed.
AC-6 - Medium - CCI-002235 - V-271474 - SV-271474r1091134_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-002235
Version
OL09-00-000230
Vuln IDs
  • V-271474
Rule IDs
  • SV-271474r1091134_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 complete their work.
Checks: C-75524r1091132_chk

Verify that OL 9 has the sudo package installed with the following command: $ dnf list --installed sudo Installed Packages sudo.x86_64 1.9.5p2-10.el9_3 @anaconda If the sudo package is not installed, this is a finding.

Fix: F-75431r1091133_fix

The sudo package can be installed with the following command: # dnf install -y sudo

b
OL 9 must use the invoking user's password for privilege escalation when using sudo.
CM-6 - Medium - CCI-000366 - V-271475 - SV-271475r1091137_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-000231
Vuln IDs
  • V-271475
Rule IDs
  • SV-271475r1091137_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.
Checks: C-75525r1091135_chk

Verify that OL 9 is configured to enforce the sudoers security policy to use the invoking user's password for privilege escalation with the following command: $ sudo egrep -i '(!rootpw|!targetpw|!runaspw)' /etc/sudoers /etc/sudoers.d/* | grep -v '#' /etc/sudoers:Defaults !targetpw /etc/sudoers:Defaults !rootpw /etc/sudoers:Defaults !runaspw If no results are returned, this is a finding. If results are returned from more than one file location, this is a finding. If "Defaults !targetpw" is not defined, this is a finding. If "Defaults !rootpw" is not defined, this is a finding. If "Defaults !runaspw" is not defined, this is a finding.

Fix: F-75432r1091136_fix

Configure OL 9 to use the invoking user's password for privilege escalation when using sudo. 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
OL 9 must restrict privilege elevation to authorized personnel.
CM-6 - Medium - CCI-000366 - V-271476 - SV-271476r1091140_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-000232
Vuln IDs
  • V-271476
Rule IDs
  • SV-271476r1091140_rule
If the sudoers file is not configured correctly, any user defined on the system can initiate privileged actions on the target system.
Checks: C-75526r1091138_chk

Verify that OL 9 restricts privilege elevation to authorized personnel with the following command: $ sudo sh -c 'grep -iw ALL /etc/sudoers /etc/sudoers.d/*' If the either of the following entries are returned, this is a finding: ALL ALL=(ALL) ALL ALL ALL=(ALL:ALL) ALL

Fix: F-75433r1091139_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
OL 9 must have the crypto-policies package installed.
SC-13 - Medium - CCI-002450 - V-271477 - SV-271477r1091143_rule
RMF Control
SC-13
Severity
Medium
CCI
CCI-002450
Version
OL09-00-000240
Vuln IDs
  • V-271477
Rule IDs
  • SV-271477r1091143_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 using encryption to protect data. Satisfies: SRG-OS-000396-GPOS-00176, SRG-OS-000393-GPOS-00173, SRG-OS-000394-GPOS-00174
Checks: C-75527r1091141_chk

Verify that OL 9 crypto-policies package is installed with the following command: $ dnf list --installed crypto-policies Installed Packages crypto-policies.noarch 20240202-1.git283706d.el9 @ol9_baseos_latest If the crypto-policies package is not installed, this is a finding.

Fix: F-75434r1091142_fix

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

b
OL 9 must implement a FIPS 140-3 compliant system-wide cryptographic policy.
SC-13 - Medium - CCI-002450 - V-271478 - SV-271478r1092620_rule
RMF Control
SC-13
Severity
Medium
CCI
CCI-002450
Version
OL09-00-000241
Vuln IDs
  • V-271478
Rule IDs
  • SV-271478r1092620_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 using encryption to protect data. Satisfies: SRG-OS-000396-GPOS-00176, SRG-OS-000393-GPOS-00173, SRG-OS-000394-GPOS-00174
Checks: C-75528r1092467_chk

Verify that OL 9 is set to use a modified FIPS compliant systemwide crypto-policy. $ update-crypto-policies --show FIPS If the system wide crypto policy is not set to "FIPS", this is a finding. Note: If subpolicies have been configured, they will be listed in a colon-separated list starting with FIPS as follows: FIPS:<SUBPOLICY-NAME>:<SUBPOLICY-NAME>. Verify the current minimum crypto-policy configuration with the following commands: $ grep -E 'rsa_size|hash' /etc/crypto-policies/state/CURRENT.pol hash = SHA2-256 SHA2-384 SHA2-512 SHA2-224 SHA3-256 SHA3-384 SHA3-512 SHAKE-256 min_rsa_size = 2048 If the "hash" values do not include at least the following FIPS 140-3 compliant algorithms "SHA2-256 SHA2-384 SHA2-512 SHA2-224 SHA3-256 SHA3-384 SHA3-512 SHAKE-256", this is a finding. If there are algorithms that include "SHA1" or a hash value less than "256" this is a finding. If the "min_rsa_size" is not set to a value of at least 2048, this is a finding. If these commands do not return any output, this is a finding.

Fix: F-75435r1092619_fix

Configure OL 9 to use a modified FIPS compliant systemwide crypto-policy. Create subpolicies for enhancements to the systemwide crypto-policy with the following commands: Create or edit the SCOPES-AND-WILDCARDS policy module in a text editor and insert options that modify the system-wide cryptographic policy as follows: $ sudo vi /etc/crypto-policies/policies/modules/SCOPES-AND-WILDCARDS.pmod Add the following lines to the policy: # Disable CHACHA20-POLY1305 for the TLS protocol (OpenSSL, GnuTLS, NSS, and OpenJDK) cipher@TLS = -CHACHA20-POLY1305 # Disable all CBC mode ciphers for the SSH protocol (libssh and OpenSSH): cipher@SSH = -*-CBC Create or edit the OPENSSH-SUBPOLICY module in a text editor and insert options that modify the system-wide crypto-policy as follows: $ sudo vi /etc/crypto-policies/policies/modules/OPENSSH-SUBPOLICY.pmod Add the following lines to the policy: # Define ciphers for OpenSSH cipher@SSH=AES-256-GCM AES-128-GCM AES-256-CTR AES-128-CTR # Define MACs for OpenSSH mac@SSH=HMAC-SHA2-512 HMAC-SHA2-256 Create or edit the REQUIRE.pmod file and add the following lines to include the subpolicies in the FIPS configuration with the following command: $ sudo vi /etc/crypto-policies/policies/modules/REQUIRE.pmod Add the following lines to REQUIRE.pmod: @OPENSSH-SUBPOLICY @SCOPES-AND-WILDCARDS Apply the policy enhancements to the FIPS system-wide cryptographic policy level with the following command: $ sudo update-crypto-policies --set FIPS Note: If additional subpolicies are being employed, they must be added to the REQUIRE.pmod as well. REQUIRE.pmod is included in the systemwide crypto-policy when it is set. To make the cryptographic settings effective for already running services and applications, restart the system: $ sudo reboot

b
OL 9 must not allow the cryptographic policy to be overridden.
SC-13 - Medium - CCI-002450 - V-271479 - SV-271479r1092621_rule
RMF Control
SC-13
Severity
Medium
CCI
CCI-002450
Version
OL09-00-000242
Vuln IDs
  • V-271479
Rule IDs
  • SV-271479r1092621_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 using encryption to protect data. Satisfies: SRG-OS-000396-GPOS-00176, SRG-OS-000393-GPOS-00173, SRG-OS-000394-GPOS-00174
Checks: C-75529r1091147_chk

Verify that OL 9 cryptographic policies are not overridden. Verify that the configured policy matches the generated policy with the following command: $ sudo update-crypto-policies --check && echo PASS The configured policy matches the generated policy PASS If the last line is not "PASS", this is a finding. List all of the crypto backends configured on the system with the following command: $ ls -l /etc/crypto-policies/back-ends/ lrwxrwxrwx. 1 root root 40 Nov 13 16:29 bind.config -> /usr/share/crypto-policies/FIPS/bind.txt lrwxrwxrwx. 1 root root 42 Nov 13 16:29 gnutls.config -> /usr/share/crypto-policies/FIPS/gnutls.txt lrwxrwxrwx. 1 root root 40 Nov 13 16:29 java.config -> /usr/share/crypto-policies/FIPS/java.txt lrwxrwxrwx. 1 root root 46 Nov 13 16:29 javasystem.config -> /usr/share/crypto-policies/FIPS/javasystem.txt lrwxrwxrwx. 1 root root 40 Nov 13 16:29 krb5.config -> /usr/share/crypto-policies/FIPS/krb5.txt lrwxrwxrwx. 1 root root 45 Nov 13 16:29 libreswan.config -> /usr/share/crypto-policies/FIPS/libreswan.txt lrwxrwxrwx. 1 root root 42 Nov 13 16:29 libssh.config -> /usr/share/crypto-policies/FIPS/libssh.txt -rw-r--r--. 1 root root 398 Nov 13 16:29 nss.config lrwxrwxrwx. 1 root root 43 Nov 13 16:29 openssh.config -> /usr/share/crypto-policies/FIPS/openssh.txt lrwxrwxrwx. 1 root root 49 Nov 13 16:29 opensshserver.config -> /usr/share/crypto-policies/FIPS/opensshserver.txt lrwxrwxrwx. 1 root root 46 Nov 13 16:29 opensslcnf.config -> /usr/share/crypto-policies/FIPS/opensslcnf.txt lrwxrwxrwx. 1 root root 43 Nov 13 16:29 openssl.config -> /usr/share/crypto-policies/FIPS/openssl.txt lrwxrwxrwx. 1 root root 48 Nov 13 16:29 openssl_fips.config -> /usr/share/crypto-policies/FIPS/openssl_fips.txt If the paths do not point to the respective files under /usr/share/crypto-policies/FIPS path, this is a finding. Note: nss.config should not be hyperlinked.

Fix: F-75436r1091148_fix

Configure OL 9 to correctly implement the systemwide cryptographic policies by reinstalling the crypto-policies package contents. Reinstall crypto-policies with the following command: $ sudo dnf -y reinstall crypto-policies Set the crypto-policy to FIPS with the following command: $ sudo update-crypto-policies --set FIPS Setting system policy to FIPS Note: Systemwide crypto policies are applied on application startup. It is recommended to restart the system for the change of policies to fully take place.

b
OL 9 must be configured so that the cryptographic hashes of system files match vendor values.
CM-6 - Medium - CCI-000366 - V-271480 - SV-271480r1091152_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-000243
Vuln IDs
  • V-271480
Rule IDs
  • SV-271480r1091152_rule
The hashes of important files like system executables should match the information given by the RPM database. Executables with erroneous hashes could be a sign of nefarious activity on the system.
Checks: C-75530r1091150_chk

Verify that OL 9 is configured so that the cryptographic hashes of system files match vendor values. List files on the system that have file hashes different from what is expected by the RPM database with the following command: $ sudo rpm -Va --noconfig | awk '$1 ~ /..5/ && $2 != "c"' If there is output, this is a finding.

Fix: F-75437r1091151_fix

Configure OL 9 so that the cryptographic hashes of system files match vendor values. Given output from the check command, identify the package that provides the output and reinstall it. The following trimmed example output shows a package that has failed verification, been identified, and been reinstalled: $ sudo rpm -Va --noconfig | awk '$1 ~ /..5/ && $2 != "c"' S.5....T. /usr/bin/znew $ sudo dnf provides /usr/bin/znew [...] gzip-1.10-8.el9.x86_64 : The GNU data compression program [...] $ sudo dnf -y reinstall gzip [...] $ sudo rpm -Va --noconfig | awk '$1 ~ /..5/ && $2 != "c"' [no output]

c
OL 9 cryptographic policy files must match files shipped with the operating system.
SC-13 - High - CCI-002450 - V-271481 - SV-271481r1091155_rule
RMF Control
SC-13
Severity
High
CCI
CCI-002450
Version
OL09-00-000244
Vuln IDs
  • V-271481
Rule IDs
  • SV-271481r1091155_rule
The OL 9 package crypto-policies defines the cryptography policies for the system. If the files are changed from those shipped with the operating system, it may be possible for OL 9 to use cryptographic functions that are not FIPS 140-3 approved. Satisfies: SRG-OS-000478-GPOS-00223, SRG-OS-000396-GPOS-00176
Checks: C-75531r1091153_chk

Verify that OL 9 crypto-policies package has not been modified with the following command: $ rpm -V crypto-policies If the command has any output, this is a finding.

Fix: F-75438r1091154_fix

Reinstall the crypto-policies package to remove any modifications. $ sudo dnf reinstall -y crypto-policies

b
OL 9 networked systems must have SSH installed.
SC-8 - Medium - CCI-002418 - V-271482 - SV-271482r1091158_rule
RMF Control
SC-8
Severity
Medium
CCI
CCI-002418
Version
OL09-00-000250
Vuln IDs
  • V-271482
Rule IDs
  • SV-271482r1091158_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
Checks: C-75532r1091156_chk

Verify that OL 9 has the openssh-server package installed with the following command: $ dnf list --installed openssh-server Installed Packages openssh-server.x86_64 8.7p1-38.0.2.el9_4.4 @ol9_baseos_latest If the "openssh-server" package is not installed, this is a finding.

Fix: F-75439r1091157_fix

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

b
OL 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.
SC-8 - Medium - CCI-002418 - V-271483 - SV-271483r1091161_rule
RMF Control
SC-8
Severity
Medium
CCI
CCI-002418
Version
OL09-00-000251
Vuln IDs
  • V-271483
Rule IDs
  • SV-271483r1091161_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
Checks: C-75533r1091159_chk

Verify that OL 9 networked systems implement SSH to protect the confidentiality and integrity of transmitted and received information, as well as information during preparation for transmission. Verify that "sshd" is active with the following command: $ systemctl is-active sshd active If the "sshd" service is not active, this is a finding.

Fix: F-75440r1091160_fix

Enable the sshd service with the following command: $ systemctl enable --now sshd

b
The OL 9 SSH daemon must be configured to use systemwide cryptographic policies.
AC-17 - Medium - CCI-001453 - V-271484 - SV-271484r1092624_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
OL09-00-000252
Vuln IDs
  • V-271484
Rule IDs
  • SV-271484r1092624_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. OL 9 incorporates systemwide crypto policies by default. The SSH configuration file has no effect on the ciphers, MACs, or algorithms unless specifically defined in the /etc/sysconfig/sshd file. The employed algorithms can be viewed in the /etc/crypto-policies/back-ends/ directory.
Checks: C-75534r1092622_chk

Verify that OL 9 is configured to implement systemwide cryptographic policies when the SSH daemon is invoked. Verify that systemwide cryptographic policies are in effect with the following command: $ sudo /usr/sbin/sshd -dd 2>&1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*include' /etc/ssh/sshd_config:Include /etc/ssh/sshd_config.d/*.conf /etc/ssh/sshd_config.d/50-redhat.conf:Include /etc/crypto-policies/back-ends/opensshserver.config If "Include /etc/ssh/sshd_config.d/*.conf" or "Include /etc/crypto-policies/back-ends/opensshserver.config" are not included in the system sshd config this is a finding. Additionally, if the file /etc/ssh/sshd_config.d/50-redhat.conf is missing, this is a finding.

Fix: F-75441r1092623_fix

Configure the OL 9 SSH daemon to use systemwide cryptographic policies by running the following commands: $ sudo dnf reinstall -y openssh-server

b
OL 9 SSH server must be configured to use only ciphers employing FIPS 140-3 validated cryptographic hash algorithms to protect the confidentiality of SSH server connections.
AC-17 - Medium - CCI-001453 - V-271485 - SV-271485r1092625_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
OL09-00-000254
Vuln IDs
  • V-271485
Rule IDs
  • SV-271485r1092625_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. OL 9 incorporates systemwide crypto policies by default. The SSH configuration file has no effect on the ciphers, MACs, or algorithms unless specifically defined in the /etc/sysconfig/sshd file. The employed algorithms can be viewed in the /etc/crypto-policies/back-ends/opensshserver.config file.
Checks: C-75535r1091165_chk

Verify that OL 9 SSH server is configured to use only ciphers employing FIPS 140-3 approved algorithms. To verify the ciphers in the systemwide SSH configuration file, use the following command: $ sudo grep -i Ciphers /etc/crypto-policies/back-ends/opensshserver.config Ciphers aes256-gcm@openssh.com,aes256-ctr,aes128-gcm@openssh.com,aes128-ctr If the cipher entries in the "opensshserver.config" file have any ciphers other than "aes256-gcm@openssh.com,aes256-ctr,aes128-gcm@openssh.com,aes128-ctr", or they are missing or commented out, this is a finding.

Fix: F-75442r1091166_fix

Configure the OL 9 SSH server to use only ciphers employing FIPS 140-3 approved algorithms. Reinstall crypto-policies with the following command: $ sudo dnf -y reinstall crypto-policies Set the crypto-policy to FIPS with the following command: $ sudo update-crypto-policies --set FIPS Setting system policy to FIPS Note: Systemwide crypto policies are applied on application startup. It is recommended to restart the system for the change of policies to fully take place.

b
OL 9 SSH server must be configured to use only Message Authentication Codes (MACs) employing FIPS 140-3 validated cryptographic hash algorithms to protect the confidentiality of SSH server connections.
AC-17 - Medium - CCI-001453 - V-271486 - SV-271486r1092626_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
OL09-00-000255
Vuln IDs
  • V-271486
Rule IDs
  • SV-271486r1092626_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. OL 9 incorporates systemwide crypto policies by default. The SSH configuration file has no effect on the ciphers, MACs, or algorithms unless specifically defined in the /etc/sysconfig/sshd file. The employed algorithms can be viewed in the /etc/crypto-policies/back-ends/opensshserver.config file.
Checks: C-75536r1091168_chk

Verify that OL 9 SSH server is configured to use only MACs employing FIPS 140-3 approved algorithms. To verify the MACs in the systemwide SSH configuration file, use the following command: $ sudo grep -i MACs /etc/crypto-policies/back-ends/opensshserver.config MACs hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha2-512 If the MACs entries in the "opensshserver.config" file have any hashes other than "hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha2-512", or they are missing or commented out, this is a finding.

Fix: F-75443r1091169_fix

Configure the OL 9 SSH server to use only MACs employing FIPS 140-3 approved algorithms. Reinstall crypto-policies with the following command: $ sudo dnf -y reinstall crypto-policies Set the crypto-policy to FIPS with the following command: $ sudo update-crypto-policies --set FIPS Setting system policy to FIPS Note: Systemwide crypto policies are applied on application startup. It is recommended to restart the system for the change of policies to fully take place.

b
OL 9 must display the Standard Mandatory DOD Notice and Consent Banner before granting local or remote access to the system via a SSH logon.
AC-8 - Medium - CCI-000048 - V-271487 - SV-271487r1091173_rule
RMF Control
AC-8
Severity
Medium
CCI
CCI-000048
Version
OL09-00-000256
Vuln IDs
  • V-271487
Rule IDs
  • SV-271487r1091173_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
Checks: C-75537r1091171_chk

Verify that OL 9 displays the Standard Mandatory DOD Notice and Consent Banner before granting access to the system via SSH connections. Check for the location of the banner file currently being used with the following command: $ sudo /usr/sbin/sshd -dd 2>&1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*banner' banner /etc/issue If the line is commented out or if the file is missing, this is a finding.

Fix: F-75444r1091172_fix

Configure OL 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 or a file in "/etc/ssh/sshd_config.d" to uncomment the banner keyword and configure it to point to a file that will contain the logon banner (this file may be named differently or be in a different location if using a version of SSH that is provided by a third-party vendor). An example configuration line is: Banner /etc/issue

b
OL 9 must have the openssh-clients package installed.
CM-6 - Medium - CCI-000366 - V-271488 - SV-271488r1091176_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-000260
Vuln IDs
  • V-271488
Rule IDs
  • SV-271488r1091176_rule
This package includes utilities to make encrypted connections and transfer files securely to SSH servers.
Checks: C-75538r1091174_chk

Verify that OL 9 has the openssh-clients package installed with the following command: $ dnf list --installed openssh-clients Installed Packages openssh-clients.x86_64 8.7p1-38.0.2.el9_4.4 @ol9_baseos_latest If the openssh-clients package is not installed, this is a finding.

Fix: F-75445r1091175_fix

Install the openssh-clients package with the following command: $ sudo dnf install -y openssh-clients

b
OL 9 SSH client must be configured to use only DOD-approved encryption ciphers employing FIPS 140-3 validated cryptographic hash algorithms to protect the confidentiality of SSH client connections.
AC-17 - Medium - CCI-001453 - V-271489 - SV-271489r1092627_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
OL09-00-000261
Vuln IDs
  • V-271489
Rule IDs
  • SV-271489r1092627_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. OL 9 incorporates systemwide crypto policies by default. The SSH configuration file has no effect on the ciphers, MACs, or algorithms unless specifically defined in the /etc/sysconfig/sshd file. The employed algorithms can be viewed in the /etc/crypto-policies/back-ends/opensshserver.config file.
Checks: C-75539r1091177_chk

Verify that OL 9 is configured so that the SSH client uses only ciphers employing FIPS 140-3 approved algorithms. To verify the ciphers in the systemwide SSH configuration file, use the following command: $ grep -i Ciphers /etc/crypto-policies/back-ends/openssh.config Ciphers aes256-gcm@openssh.com,aes256-ctr,aes128-gcm@openssh.com,aes128-ctr If the cipher entries in the "openssh.config" file have any ciphers other than "aes256-gcm@openssh.com,aes256-ctr,aes128-gcm@openssh.com,aes128-ctr", or they are missing or commented out, this is a finding.

Fix: F-75446r1091178_fix

Configure the SSH client to use only ciphers employing FIPS 140-3 approved algorithms. Reinstall crypto-policies with the following command: $ sudo dnf -y reinstall crypto-policies Set the crypto-policy to FIPS with the following command: $ sudo update-crypto-policies --set FIPS Setting system policy to FIPS Note: Systemwide crypto policies are applied on application startup. It is recommended to restart the system for the change of policies to fully take place.

b
OL 9 SSH client must be configured to use only DOD-approved Message Authentication Codes (MACs) employing FIPS 140-3 validated cryptographic hash algorithms to protect the confidentiality of SSH client connections.
AC-17 - Medium - CCI-001453 - V-271490 - SV-271490r1092628_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
OL09-00-000262
Vuln IDs
  • V-271490
Rule IDs
  • SV-271490r1092628_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. OL 9 incorporates systemwide crypto policies by default. The SSH configuration file has no effect on the ciphers, MACs, or algorithms unless specifically defined in the /etc/sysconfig/sshd file. The employed algorithms can be viewed in the /etc/crypto-policies/back-ends/opensshserver.config file.
Checks: C-75540r1091180_chk

Verify that OL 9 is configured so that the SSH client uses only MACs employing FIPS 140-3 approved algorithms. To verify the MACs in the systemwide SSH configuration file, use the following command: $ grep -i MACs /etc/crypto-policies/back-ends/openssh.config MACs hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha2-512 If the MACs entries in the "openssh.config" file have any hashes other than "hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha2-512", or they are missing or commented out, this is a finding.

Fix: F-75447r1091181_fix

Configure the SSH client to use only MACs employing FIPS 140-3 approved algorithms. Reinstall crypto-policies with the following command: $ sudo dnf -y reinstall crypto-policies Set the crypto-policy to FIPS with the following command: $ sudo update-crypto-policies --set FIPS Setting system policy to FIPS Note: Systemwide crypto policies are applied on application startup. It is recommended to restart the system for the change of policies to fully take place.

b
OL 9 must have the openssl-pkcs11 package installed.
IA-2 - Medium - CCI-000765 - V-271491 - SV-271491r1091185_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000765
Version
OL09-00-000270
Vuln IDs
  • V-271491
Rule IDs
  • SV-271491r1091185_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
Checks: C-75541r1091183_chk

Verify that OL 9 has the openssl-pkcs11 package installed with the following command: $ dnf list --installed openssl-pkcs11 Installed Packages openssl-pkcs11.x86_64 0.4.11-9.el9 @ol9_baseos_latest If the "openssl-pkcs11" package is not installed, this is a finding.

Fix: F-75448r1091184_fix

Install the openssl-pkcs11 package with the following command: $ sudo dnf install -y openssl-pkcs11

b
OL 9 must implement multifactor authentication for remote access to privileged accounts in such a way that one of the factors is provided by a device separate from the system gaining access.
- Medium - CCI-004047 - V-271492 - SV-271492r1091188_rule
RMF Control
Severity
Medium
CCI
CCI-004047
Version
OL09-00-000280
Vuln IDs
  • V-271492
Rule IDs
  • SV-271492r1091188_rule
Using an authentication device, such as a CAC or token that is separate from the information system, ensures that even if the information system is compromised, that compromise will not affect credentials stored on the authentication device. Multifactor solutions that require devices separate from information systems gaining access include, for example, hardware tokens providing time-based or challenge-response authenticators and smart cards such as the U.S. Government Personal Identity Verification card and the DOD Common Access Card. A privileged account is defined as an information system account with authorizations of a privileged user. Remote access is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. This requirement only applies to components where this is specific to the function of the device or has the concept of an organizational user (e.g., VPN, proxy capability). This does not apply to authentication for the purpose of configuring the device itself (management).
Checks: C-75542r1091186_chk

Verify that OL 9 has the packages required for multifactor authentication installed with the following command: $ dnf list --installed libpam-pkcs11 ii libpam-pkcs11 0.6.12-2build3 amd64 Fully featured PAM module for using PKCS#11 smart cards If the "libpam-pkcs11" package is not installed, this is a finding.

Fix: F-75449r1091187_fix

Configure OL 9 to implement multifactor authentication by installing the required packages. Install the "libpam-pkcs11" package on the system with the following command: $ sudo dnf install -y libpam-pkcs11

b
OL 9 must have the SSSD package installed.
- Medium - CCI-004046 - V-271493 - SV-271493r1091191_rule
RMF Control
Severity
Medium
CCI
CCI-004046
Version
OL09-00-000285
Vuln IDs
  • V-271493
Rule IDs
  • SV-271493r1091191_rule
Using an authentication device, such as a CAC or token that is separate from the information system, ensures that even if the information system is compromised, that compromise will not affect credentials stored on the authentication device. Multifactor solutions that require devices separate from information systems gaining access include, for example, hardware tokens providing time-based or challenge-response authenticators and smart cards such as the U.S. Government Personal Identity Verification card and the DOD Common Access Card. A privileged account is defined as an information system account with authorizations of a privileged user. Remote access is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. This requirement only applies to components where this is specific to the function of the device or has the concept of an organizational user (e.g., VPN, proxy capability). This does not apply to authentication for the purpose of configuring the device itself (management). Satisfies: SRG-OS-000705-GPOS-00150, SRG-OS-000105-GPOS-00052, SRG-OS-000106-GPOS-00053, SRG-OS-000107-GPOS-00054, SRG-OS-000108-GPOS-00055, SRG-OS-000375-GPOS-00160
Checks: C-75543r1091189_chk

Verify that OL 9 has the SSSD package installed with the following command: $ dnf list --installed sssd Installed Packages sssd.x86_64 2.9.5-4.0.1.el9_5.1 @ol9_baseos_latest If the SSSD package is not installed, this is a finding.

Fix: F-75450r1091190_fix

Install the SSSD package with the following command: $ sudo dnf install -y sssd

b
OL 9 must use the SSSD package for multifactor authentication services.
- Medium - CCI-004046 - V-271494 - SV-271494r1091194_rule
RMF Control
Severity
Medium
CCI
CCI-004046
Version
OL09-00-000286
Vuln IDs
  • V-271494
Rule IDs
  • SV-271494r1091194_rule
Using an authentication device, such as a CAC or token that is separate from the information system, ensures that even if the information system is compromised, that compromise will not affect credentials stored on the authentication device. Multifactor solutions that require devices separate from information systems gaining access include, for example, hardware tokens providing time-based or challenge-response authenticators and smart cards such as the U.S. Government Personal Identity Verification card and the DOD Common Access Card. A privileged account is defined as an information system account with authorizations of a privileged user. 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. Factors include: 1) Something a user knows (e.g., password/PIN); 2) Something a user has (e.g., cryptographic identification device, token); and 3) Something a user is (e.g., biometric). A privileged account is defined as an information system account with authorizations of a privileged user. Network access is defined as access to an information system by a user (or a process acting on behalf of a user) communicating through a network (e.g., local area network, wide area network, or the internet). The DOD common access card (CAC) with DOD-approved PKI is an example of multifactor authentication. Satisfies: SRG-OS-000705-GPOS-00150, SRG-OS-000105-GPOS-00052, SRG-OS-000106-GPOS-00053, SRG-OS-000107-GPOS-00054, SRG-OS-000108-GPOS-00055, SRG-OS-000375-GPOS-00161
Checks: C-75544r1091192_chk

Verify that OL 9 is configured so that the sssd.service is enabled and active with the following commands: $ sudo systemctl is-enabled sssd enabled $ sudo systemctl is-active sssd active If sssd.service is not active or enabled, this is a finding.

Fix: F-75451r1091193_fix

Configure the sssd.service to start automatically on reboot with the following command: $ sudo systemctl enable sssd.service Ensure the sssd service is running: $ sudo systemctl start sssd.service

b
OL 9 must have the s-nail package installed.
CM-3 - Medium - CCI-001744 - V-271495 - SV-271495r1091197_rule
RMF Control
CM-3
Severity
Medium
CCI
CCI-001744
Version
OL09-00-000290
Vuln IDs
  • V-271495
Rule IDs
  • SV-271495r1091197_rule
The s-nail package provides the mail command required to allow sending email notifications of unauthorized configuration changes to designated personnel.
Checks: C-75545r1091195_chk

Verify that OL 9 has the s-nail package installed on the system with the following command: $ dnf list --installed s-nail Installed Packages s-nail.x86_64 14.9.22-6.el9 @ol9_appstream If the s-nail package is not installed, this is a finding.

Fix: F-75452r1091196_fix

Install the s-nail package with the following command: $ sudo dnf install -y s-nail

b
OL 9 must have the Advanced Intrusion Detection Environment (AIDE) package installed.
CM-3 - Medium - CCI-001744 - V-271496 - SV-271496r1091200_rule
RMF Control
CM-3
Severity
Medium
CCI
CCI-001744
Version
OL09-00-000300
Vuln IDs
  • V-271496
Rule IDs
  • SV-271496r1091200_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
Checks: C-75546r1091198_chk

Verify that OL 9 has the package installed with the following command: $ dnf list --installed aide Installed Packages aide.x86_64 0.16-100.el9 @ol9_appstream If AIDE is not installed, ask the system administrator (SA) how file integrity checks are performed on the system. If there is no application installed to perform integrity checks, this is a finding. If AIDE is installed, check if it has been initialized with the following command: $ sudo /usr/sbin/aide --check If the output is "Couldn't open file /var/lib/aide/aide.db.gz for reading", this is a finding.

Fix: F-75453r1091199_fix

Install AIDE, initialize it, and perform a manual check. Install AIDE: $ sudo dnf install -y 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
OL 9 must routinely check the baseline configuration for unauthorized changes and notify the system administrator (SA) when anomalies in the operation of any security functions are discovered.
CM-3 - Medium - CCI-001744 - V-271497 - SV-271497r1092471_rule
RMF Control
CM-3
Severity
Medium
CCI
CCI-001744
Version
OL09-00-000301
Vuln IDs
  • V-271497
Rule IDs
  • SV-271497r1092471_rule
Unauthorized changes to the baseline configuration could make the system vulnerable to various attacks or allow unauthorized access to the operating system. Changes to operating system configurations can have unintended side effects, some of which may be relevant to security. Detecting such changes and providing an automated response can help avoid unintended, negative consequences that could ultimately affect the security state of the operating system. The operating system's information management officer (IMO)/information system security officer (ISSO) and SAs must be notified via email and/or monitoring system trap when there is an unauthorized modification of a configuration item. Notifications provided by information systems include messages to local computer consoles, and/or hardware indications, such as lights. This capability must take into account operational requirements for availability for selecting an appropriate response. The organization may choose to shut down or restart the information system upon security function anomaly detection. Satisfies: SRG-OS-000363-GPOS-00150, SRG-OS-000446-GPOS-00200, SRG-OS-000447-GPOS-00201
Checks: C-75547r1091201_chk

Verify that OL 9 routinely executes a file integrity scan for changes to the system baseline. The command used in the example will use a daily occurrence. Check the cron directories for scripts controlling the execution and notification of results of the file integrity application. For example, if Advanced Intrusion Detection Environment (AIDE) is installed on the system, use the following commands: $ ls -al /etc/cron.* | grep aide -rwxr-xr-x 1 root root 29 Nov 22 2015 aide $ sudo grep aide /etc/crontab /var/spool/cron/root /etc/crontab: 30 04 * * * root usr/sbin/aide /var/spool/cron/root: 30 04 * * * root usr/sbin/aide $ more /etc/cron.daily/aide #!/bin/bash /usr/sbin/aide --check | /bin/mail -s "$HOSTNAME - Daily aide integrity check run" root@sysname.mil If the file integrity application does not exist, or a script file controlling the execution of the file integrity application does not exist, or the file integrity application does not notify designated personnel of changes, this is a finding.

Fix: F-75454r1092470_fix

Configure the file integrity tool to run automatically on the system at least weekly and to notify designated personnel if baseline configurations are changed in an unauthorized manner. The AIDE tool can be configured to email designated personnel with the use of the cron system. The following example output is generic. It will set cron to run AIDE daily and to send email at the completion of the analysis. $ sudo more /etc/cron.daily/aide #!/bin/bash /usr/sbin/aide --check | /bin/mail -s "$HOSTNAME - Daily aide integrity check run" root@sysname.mil $ sudo chmod 755 /etc/cron.daily/aide $ sudo crontab -e 30 04 * * * root usr/sbin/aide

b
OL 9 must use a file integrity tool that is configured to use FIPS 140-3-approved cryptographic hashes for validating file contents and directories.
CM-6 - Medium - CCI-000366 - V-271498 - SV-271498r1091206_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-000302
Vuln IDs
  • V-271498
Rule IDs
  • SV-271498r1091206_rule
OL 9 installation media ships with an optional file integrity tool called Advanced Intrusion Detection Environment (AIDE). AIDE is highly configurable at install time. This requirement assumes the "aide.conf" file is under the "/etc" directory. File integrity tools use cryptographic hashes for verifying file contents and directories have not been altered. These hashes must be FIPS 140-3-approved cryptographic hashes.
Checks: C-75548r1091204_chk

Verify that OL 9 uses a file integrity tool that is configured to use FIPS 140-3-approved cryptographic hashes for validating file contents and directories. Verify that AIDE is configured to use FIPS 140-3 file hashing with the following command: $ sudo grep sha512 /etc/aide.conf All=p+i+n+u+g+s+m+S+sha512+acl+xattrs+selinux If the "sha512" rule is not being used on all uncommented selection lines in the "/etc/aide.conf" file, or another file integrity tool is not using FIPS 140-3-approved cryptographic hashes for validating file contents and directories, this is a finding.

Fix: F-75455r1091205_fix

Configure the file integrity tool to use FIPS 140-3 cryptographic hashes for validating file and directory contents. If AIDE is installed, ensure the "sha512" rule is present on all uncommented file and directory selection lists. Exclude any log files, or files expected to change frequently, to reduce unnecessary notifications.

a
OL 9 must be configured so that the file integrity tool verifies Access Control Lists (ACLs).
CM-6 - Low - CCI-000366 - V-271499 - SV-271499r1091209_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
OL09-00-000303
Vuln IDs
  • V-271499
Rule IDs
  • SV-271499r1091209_rule
OL 9 installation media ships with an optional file integrity tool called Advanced Intrusion Detection Environment (AIDE). AIDE is highly configurable at install time. This requirement assumes the "aide.conf" file is under the "/etc" directory. ACLs can provide permissions beyond those permitted through the file mode and must be verified by the file integrity tools.
Checks: C-75549r1091207_chk

Verify that OL 9 is configured so that AIDE is verifying ACLs with the following command: $ sudo grep acl /etc/aide.conf All= p+i+n+u+g+s+m+S+sha512+acl+xattrs+selinux If the "acl" rule is not being used on all uncommented selection lines in the "/etc/aide.conf" file, or ACLs are not being checked by another file integrity tool, this is a finding.

Fix: F-75456r1091208_fix

Configure the file integrity tool to check file and directory ACLs. If AIDE is installed, ensure the "acl" rule is present on all uncommented file and directory selection lists.

a
OL 9 must be configured so that the file integrity tool verifies extended attributes.
CM-6 - Low - CCI-000366 - V-271500 - SV-271500r1091212_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
OL09-00-000304
Vuln IDs
  • V-271500
Rule IDs
  • SV-271500r1091212_rule
OL 9 installation media ships with an optional file integrity tool called Advanced Intrusion Detection Environment (AIDE). AIDE is highly configurable at install time. This requirement assumes the "aide.conf" file is under the "/etc" directory. Extended attributes in file systems are used to contain arbitrary data and file metadata with security implications.
Checks: C-75550r1091210_chk

Verify that OL 9 is configured so that AIDE is configured to verify extended attributes with the following command: $ sudo grep xattrs /etc/aide.conf All= p+i+n+u+g+s+m+S+sha512+acl+xattrs+selinux If the "xattrs" rule is not being used on all uncommented selection lines in the "/etc/aide.conf" file, or extended attributes are not being checked by another file integrity tool, this is a finding.

Fix: F-75457r1091211_fix

Configure the file integrity tool to check file and directory extended attributes. If AIDE is installed, ensure the "xattrs" rule is present on all uncommented file and directory selection lists.

b
OL 9 must have the chrony package installed.
- Medium - CCI-004923 - V-271501 - SV-271501r1091215_rule
RMF Control
Severity
Medium
CCI
CCI-004923
Version
OL09-00-000310
Vuln IDs
  • V-271501
Rule IDs
  • SV-271501r1091215_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.
Checks: C-75551r1091213_chk

Verify that OL 9 has the chrony package installed with the following command: $ dnf list --installed chrony Installed Packages chrony.x86_64 4.5-1.0.2.el9 @ol9_baseos_latest If the chrony package is not installed, this is a finding.

Fix: F-75458r1091214_fix

Install the chrony package with the following command: $ sudo dnf install -y chrony

b
OL 9 must enable the chronyd service.
- Medium - CCI-004923 - V-271502 - SV-271502r1091218_rule
RMF Control
Severity
Medium
CCI
CCI-004923
Version
OL09-00-000311
Vuln IDs
  • V-271502
Rule IDs
  • SV-271502r1091218_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.
Checks: C-75552r1091216_chk

Verify that OL 9 chronyd service is set to active with the following command: $ systemctl is-active chronyd active If the chronyd service is not active, this is a finding.

Fix: F-75459r1091217_fix

Enable the chronyd service with the following command: $ sudo systemctl enable --now chronyd

b
OL 9 must have the USBGuard package installed.
IA-3 - Medium - CCI-001958 - V-271503 - SV-271503r1091221_rule
RMF Control
IA-3
Severity
Medium
CCI
CCI-001958
Version
OL09-00-000320
Vuln IDs
  • V-271503
Rule IDs
  • SV-271503r1091221_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.
Checks: C-75553r1091219_chk

Verify that OL 9 has USBGuard installed on the operating system with the following command: $ dnf list --installed usbguard Installed Packages usbguard.x86_64 1.0.0-15.el9 @ol9_appstream If the USBGuard package is not installed, ask the SA to indicate how unauthorized peripherals are being blocked. If there is no evidence that unauthorized peripherals are being blocked before establishing a connection, this is a finding.

Fix: F-75460r1091220_fix

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

b
OL 9 must enable the USBGuard package.
IA-3 - Medium - CCI-001958 - V-271504 - SV-271504r1091224_rule
RMF Control
IA-3
Severity
Medium
CCI
CCI-001958
Version
OL09-00-000321
Vuln IDs
  • V-271504
Rule IDs
  • SV-271504r1091224_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.
Checks: C-75554r1091222_chk

Verify that OL 9 USBGuard is enabled with the following command: $ systemctl is-active usbguard active If usbguard is not active, ask the SA to indicate how unauthorized peripherals are being blocked. If there is no evidence that unauthorized peripherals are being blocked before establishing a connection, this is a finding.

Fix: F-75461r1091223_fix

Enable the USBGuard service with the following command: $ sudo systemctl enable --now usbguard

b
OL 9 must have the subscription-manager package installed.
- Medium - CCI-003992 - V-271505 - SV-271505r1092629_rule
RMF Control
Severity
Medium
CCI
CCI-003992
Version
OL09-00-000330
Vuln IDs
  • V-271505
Rule IDs
  • SV-271505r1092629_rule
Oracle Linux Manager, based on the Spacewalk open source software, helps automate Oracle Linux systems management. This enables users to control the system software life cycle from initial installation through maintenance, software configuration, upgrades, and eventual decommissioning. Oracle Linux Manager also helps automate a kickstart installation, system configuration, and maintenance tasks, which enables rapid deployment of proven and consistent software configurations for Oracle Linux systems.
Checks: C-75555r1091225_chk

Verify that OL 9 oracle-linux-manager package is installed with the following command: $ dnf list installed oracle-linux-manager-client-release-el9 Installed Packages oracle-linux-manager-client-release-el9.noarch 1.0-2.el9 @ol9_baseos_latest If the "oracle-linux-manager" package is not installed, this is a finding.

Fix: F-75462r1091226_fix

Install the oracle-linux-manager package with the following command: $ sudo dnf install -y oracle-linux-manager-client-release-el9

b
OL 9 must have the fapolicy module installed.
CM-7 - Medium - CCI-001774 - V-271506 - SV-271506r1091230_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001774
Version
OL09-00-000340
Vuln IDs
  • V-271506
Rule IDs
  • SV-271506r1091230_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. Using 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 a system administrator (SA) through shared resources. OL 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
Checks: C-75556r1091228_chk

Verify that OL 9 fapolicyd package is installed with the following command: $ dnf list --installed fapolicyd Installed Packages fapolicyd.x86_64 1.3.2-100.0.1.el9 @ol9_appstream If the fapolicyd package is not installed, this is a finding.

Fix: F-75463r1091229_fix

Install the fapolicyd package with the following command: $ sudo dnf install -y fapolicyd

b
OL 9 must enable the fapolicy module.
CM-7 - Medium - CCI-001774 - V-271507 - SV-271507r1091233_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001774
Version
OL09-00-000341
Vuln IDs
  • V-271507
Rule IDs
  • SV-271507r1091233_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. Using 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 a system administrator (SA) through shared resources. OL 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
Checks: C-75557r1091231_chk

Verify that OL 9 fapolicyd is active with the following command: $ systemctl is-active fapolicyd active If fapolicyd module is not active, this is a finding.

Fix: F-75464r1091232_fix

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

b
OL 9 must have the rsyslog package installed.
AU-4 - Medium - CCI-001851 - V-271508 - SV-271508r1091236_rule
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
OL09-00-000350
Vuln IDs
  • V-271508
Rule IDs
  • SV-271508r1091236_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
Checks: C-75558r1091234_chk

Verify that OL 9 has the rsyslogd package installed with the following command: $ dnf list --installed rsyslog Installed Packages rsyslog.x86_64 8.2310.0-4.el9 @AppStream If the rsyslogd package is not installed, this is a finding.

Fix: F-75465r1091235_fix

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

b
OL 9 must be configured so that the rsyslog service is active.
CM-6 - Medium - CCI-000366 - V-271509 - SV-271509r1091239_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-000351
Vuln IDs
  • V-271509
Rule IDs
  • SV-271509r1091239_rule
The rsyslog service must be running to provide logging services, which are essential to system administration.
Checks: C-75559r1091237_chk

Verify that OL 9 rsyslog is active with the following command: $ systemctl is-active rsyslog active If the rsyslog service is not active, this is a finding.

Fix: F-75466r1091238_fix

Enable the rsyslog service with the following command: $ sudo systemctl enable --now rsyslog

b
OL 9 must have the packages required for encrypting offloaded audit logs installed.
IA-7 - Medium - CCI-000803 - V-271510 - SV-271510r1091242_rule
RMF Control
IA-7
Severity
Medium
CCI
CCI-000803
Version
OL09-00-000355
Vuln IDs
  • V-271510
Rule IDs
  • SV-271510r1091242_rule
The rsyslog-gnutls package provides Transport Layer Security (TLS) support for the rsyslog daemon, which enables secure remote logging.
Checks: C-75560r1091240_chk

Verify that OL 9 has the rsyslog-gnutls package installed with the following command: $ dnf list --installed rsyslog-gnutls Installed Packages rsyslog-gnutls.x86_64 8.2310.0-4.el9 @AppStream If the rsyslog-gnutls package is not installed, this is a finding.

Fix: F-75467r1091241_fix

Install the rsyslog-gnutls package with the following command: $ sudo dnf install -y rsyslog-gnutls

a
OL 9 must enable the hardware random number generator entropy gatherer service.
CM-6 - Low - CCI-000366 - V-271511 - SV-271511r1091245_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
OL09-00-000360
Vuln IDs
  • V-271511
Rule IDs
  • SV-271511r1091245_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).
Checks: C-75561r1091243_chk

Verify that OL 9 has enabled the hardware random number generator entropy gatherer service with the following command: $ systemctl is-active rngd active If the rngd service is not active, this is a finding.

Fix: F-75468r1091244_fix

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

b
OL 9 must have the rng-tools package installed.
CM-6 - Medium - CCI-000366 - V-271512 - SV-271512r1091248_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-000370
Vuln IDs
  • V-271512
Rule IDs
  • SV-271512r1091248_rule
rng-tools provides hardware random number generator tools, such as those used in the formation of x509/PKI certificates.
Checks: C-75562r1091246_chk

Verify that OL 9 has the rng-tools package installed with the following command: $ dnf list --installed rng-tools Installed Packages rng-tools.x86_64 6.16-1.el9 @ol9_baseos_latest If the rng-tools package is not installed, this is a finding.

Fix: F-75469r1091247_fix

Install the rng-tools package with the following command: $ sudo dnf install -y rng-tools

b
OL 9 must have the nss-tools package installed.
CM-6 - Medium - CCI-000366 - V-271513 - SV-271513r1091251_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-000380
Vuln IDs
  • V-271513
Rule IDs
  • SV-271513r1091251_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.
Checks: C-75563r1091249_chk

Verify that OL 9 has the nss-tools package installed with the following command: $ dnf list --installed nss-tools Installed Packages nss-tools.x86_64 3.101.0-7.el9_2 @ol9_appstream If the nss-tools package is not installed, this is a finding.

Fix: F-75470r1091250_fix

Install the nss-tools package with the following command: $ sudo dnf install -y nss-tools

b
OL 9 must have the pcsc-lite package installed.
- Medium - CCI-004046 - V-271514 - SV-271514r1091254_rule
RMF Control
Severity
Medium
CCI
CCI-004046
Version
OL09-00-000390
Vuln IDs
  • V-271514
Rule IDs
  • SV-271514r1091254_rule
The pcsc-lite package must be installed if it is to be available for multifactor authentication using smart cards.
Checks: C-75564r1091252_chk

Verify that OL 9 has the pcsc-lite package installed with the following command: $ dnf list --installed pcsc-lite Installed Packages pcsc-lite.x86_64 1.9.4-1.el9 @ol9_baseos_latest If the pcsc-lite package is not installed, this is a finding.

Fix: F-75471r1091253_fix

Install the pcsc-lite package with the following command: $ sudo dnf install -y pcsc-lite

b
OL 9 must have the opensc package installed.
- Medium - CCI-004046 - V-271515 - SV-271515r1091257_rule
RMF Control
Severity
Medium
CCI
CCI-004046
Version
OL09-00-000400
Vuln IDs
  • V-271515
Rule IDs
  • SV-271515r1091257_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
Checks: C-75565r1091255_chk

Verify that OL 9 has the opensc package installed with the following command: $ dnf list --installed opensc Installed Packages opensc.x86_64 0.23.0-4.el9_3 @ol9_baseos_latest If the opensc package is not installed, this is a finding.

Fix: F-75472r1091256_fix

Install the opensc package with the following command: $ sudo dnf install -y opensc

b
OL 9 must be configured so that the pcscd service is active.
- Medium - CCI-004046 - V-271516 - SV-271516r1091260_rule
RMF Control
Severity
Medium
CCI
CCI-004046
Version
OL09-00-000401
Vuln IDs
  • V-271516
Rule IDs
  • SV-271516r1091260_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.
Checks: C-75566r1091258_chk

Verify that OL 9 pcscd service is active with the following command: $ systemctl is-active pcscd active If the pcscdservice is not active, this is a finding.

Fix: F-75473r1091259_fix

Enable the pcscd service with the following command: $ sudo systemctl enable --now pcscd

b
OL 9 must have the libreswan package installed.
IA-7 - Medium - CCI-000803 - V-271517 - SV-271517r1091263_rule
RMF Control
IA-7
Severity
Medium
CCI
CCI-000803
Version
OL09-00-000410
Vuln IDs
  • V-271517
Rule IDs
  • SV-271517r1091263_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.
Checks: C-75567r1091261_chk

Verify that OL 9 libreswan service package is installed. Check that the libreswan service package is installed with the following command: $ dnf list --installed libreswan Installed Packages libreswan.x86_64 4.12-2.0.1.el9_4.1 @ol9_appstream If the libreswan package is not installed, this is a finding.

Fix: F-75474r1091262_fix

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

b
OL 9 must have the gnutls-utils package installed.
CM-6 - Medium - CCI-000366 - V-271518 - SV-271518r1091266_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-000430
Vuln IDs
  • V-271518
Rule IDs
  • SV-271518r1091266_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.
Checks: C-75568r1091264_chk

Verify that OL 9 has the gnutls-utils package installed with the following command: $ dnf list --installed gnutls-utils Installed Packages gnutls-utils.x86_64 3.8.3-4.el9_4 @ol9_appstream If the gnutls-utils package is not installed, this is a finding.

Fix: F-75475r1091265_fix

Install the gnutls-utils package with the following command: $ sudo dnf install -y gnutls-utils

b
OL 9 must have the audit package installed.
AU-12 - Medium - CCI-000169 - V-271519 - SV-271519r1091269_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000169
Version
OL09-00-000440
Vuln IDs
  • V-271519
Rule IDs
  • SV-271519r1091269_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 OL 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
Checks: C-75569r1091267_chk

Verify that OL 9 audit service package is installed. Check that the audit service package is installed with the following command: $ dnf list --installed audit Installed Packages audit.x86_64 3.1.2-2.0.1.el9 @ol9_baseos_latest If the audit package is not installed, this is a finding.

Fix: F-75476r1091268_fix

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

b
OL 9 audit service must be enabled.
AU-12 - Medium - CCI-000169 - V-271520 - SV-271520r1091272_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000169
Version
OL09-00-000441
Vuln IDs
  • V-271520
Rule IDs
  • SV-271520r1091272_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
Checks: C-75570r1091270_chk

Verify that OL 9 audit service is configured to produce audit records with the following command: $ systemctl status auditd.service auditd.service - Security Auditing Service Loaded:loaded (/usr/lib/systemd/system/auditd.service; enabled; vendor preset: enabled) Active: active (running) since Tues 2022-05-24 12:56:56 EST; 4 weeks 0 days ago If the audit service is not "active" and "running", this is a finding.

Fix: F-75477r1091271_fix

Enable the auditd service with the following command: $ sudo systemctl enable --now auditd

b
OL 9 must have the audispd-plugins package installed.
AU-4 - Medium - CCI-001851 - V-271521 - SV-271521r1091275_rule
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
OL09-00-000450
Vuln IDs
  • V-271521
Rule IDs
  • SV-271521r1091275_rule
audispd-plugins provides plug-ins for the real-time interface to the audit subsystem, audispd. These plug-ins can do things like relay events to remote machines or analyze events for suspicious behavior.
Checks: C-75571r1091273_chk

Verify that OL 9 has the audispd-plugins package for installed with the following command: $ dnf list --installed audispd-plugins Example output: Installed Packages audispd-plugins.x86_64 3.1.2-2.0.1.el9 @ol9_baseos_latest If the audispd-plugins package is not installed, this is a finding.

Fix: F-75478r1091274_fix

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

a
OL 9 must remove all software components after updated versions have been installed.
SI-2 - Low - CCI-002617 - V-271522 - SV-271522r1091278_rule
RMF Control
SI-2
Severity
Low
CCI
CCI-002617
Version
OL09-00-000495
Vuln IDs
  • V-271522
Rule IDs
  • SV-271522r1091278_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.
Checks: C-75572r1091276_chk

Verify that OL 9 removes all software components after updated versions have been installed with the following command: $ grep clean /etc/dnf/dnf.conf clean_requirements_on_remove=True If clean_requirements_on_remove is not set to "True", this is a finding.

Fix: F-75479r1091277_fix

Configure OL 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

c
OL 9 must check the GPG signature of locally installed software packages before installation.
- High - CCI-003992 - V-271523 - SV-271523r1091281_rule
RMF Control
Severity
High
CCI
CCI-003992
Version
OL09-00-000496
Vuln IDs
  • V-271523
Rule IDs
  • SV-271523r1091281_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.
Checks: C-75573r1091279_chk

Verify that OL 9 dnf package manager always checks the GPG signature of locally installed software packages before installation: $ grep localpkg_gpgcheck /etc/dnf/dnf.conf localpkg_gpgcheck=1 If "localpkg_gpgcheck" is not set to "1", or if the option is missing or commented out, ask the system administrator how the GPG signatures of local software packages are being verified. If there is no process to verify GPG signatures that is approved by the organization, this is a finding.

Fix: F-75480r1091280_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
OL 9 must check the GPG signature of software packages originating from external software repositories before installation.
- High - CCI-003992 - V-271524 - SV-271524r1091284_rule
RMF Control
Severity
High
CCI
CCI-003992
Version
OL09-00-000497
Vuln IDs
  • V-271524
Rule IDs
  • SV-271524r1091284_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.
Checks: C-75574r1091282_chk

Verify that OL 9 dnf package manager always checks the GPG signature of software packages originating from external software repositories before installation: $ grep gpgcheck /etc/dnf/dnf.conf gpgcheck=1 If "gpgcheck" is not set to "1", or if the option is missing or commented out, ask the system administrator how the GPG signatures of software packages are being verified. If there is no process to verify GPG signatures that is approved by the organization, this is a finding.

Fix: F-75481r1091283_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
OL 9 must have GPG signature verification enabled for all software repositories.
- High - CCI-003992 - V-271525 - SV-271525r1091287_rule
RMF Control
Severity
High
CCI
CCI-003992
Version
OL09-00-000498
Vuln IDs
  • V-271525
Rule IDs
  • SV-271525r1091287_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.
Checks: C-75575r1091285_chk

Verify that OL 9 software repositories defined in "/etc/yum.repos.d/" have been configured with "gpgcheck" enabled: $ grep gpgcheck /etc/yum.repos.d/*.repo | more gpgcheck = 1 If "gpgcheck" is not set to "1" for all returned lines, this is a finding.

Fix: F-75482r1091286_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/*

b
OL 9 must ensure cryptographic verification of vendor software packages.
- Medium - CCI-003992 - V-271526 - SV-271526r1092460_rule
RMF Control
Severity
Medium
CCI
CCI-003992
Version
OL09-00-000499
Vuln IDs
  • V-271526
Rule IDs
  • SV-271526r1092460_rule
Cryptographic verification of vendor software packages ensures that all software packages are obtained from a valid source and protects against spoofing that could lead to installation of malware on the system. Oracle cryptographically signs all software packages, which includes updates, with a GPG key to verify that they are valid.
Checks: C-75576r1091288_chk

Verify that OL 9 ensures cryptographic verification of vendor software packages by confirming that Oracle package-signing keys are installed on the system, and verify their fingerprints match vendor values. Note: For OL 9 software packages, Oracle uses GPG keys labeled "release key 1" and "auxiliary key 1". The keys are defined in key file "/etc/pki/rpm-gpg/RPM-GPG-KEY-oracle" by default. List Oracle GPG keys installed on the system: $ sudo rpm -q --queryformat "%{SUMMARY}\n" gpg-pubkey | grep -i "oracle" Oracle Linux (release key 1) <secalert_us@oracle.com> public key Oracle Linux (backup key 1) <secalert_us@oracle.com> public key If Oracle GPG keys "release key 1" and "backup key 1" are not installed, this is a finding. List key fingerprints of installed Oracle GPG keys: $ sudo gpg -q --keyid-format short --with-fingerprint /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle If key file "/etc/pki/rpm-gpg/RPM-GPG-KEY-oracle" is missing, this is a finding. pub rsa4096/8D8B756F 2022-01-19 [SC] [expires: 2042-01-14] Key fingerprint = 3E6D 826D 3FBA B389 C2F3 8E34 BC4D 06A0 8D8B 756F uid Oracle Linux (release key 1) <secalert_us@oracle.com> sub rsa4096/2E708C25 2022-01-19 [E] [expires: 2041-06-01] pub rsa4096/8B4EFBE6 2022-01-19 [SC] [expires: 2042-01-14] Key fingerprint = 9822 3175 9C74 6706 5D0C E9B2 A7DD 0708 8B4E FBE6 uid Oracle Linux (backup key 1) <secalert_us@oracle.com> sub rsa4096/DA900791 2022-01-19 [E] [expires: 2041-06-02] Compare key fingerprints of installed Oracle GPG keys with fingerprints listed for OL 9 on Oracle verification webpage at https://linux.oracle.com/security/gpg/#gpg. If key fingerprints do not match, this is a finding.

Fix: F-75483r1092460_fix

Install Oracle package-signing keys on the system and verify their fingerprints match vendor values. To verify Oracle Linux Downloads, users need: -A checksum file corresponding to the downloaded ISO. -The public GPG key to verify the Oracle key used to sign the checksum file. The checksum file contains a list of files that are part of a download package with the corresponding checksums as well as a GPG signature. The GPG signature enables anyone to verify that checksum file was published by Oracle. The steps below describe how to verify they checksum file itself and then verify the contents of the Oracle Linux download by checking against the checksum file. Import the Oracle Linux GPG key corresponding to the Oracle Linux release: $ curl https://yum.oracle.com/RPM-GPG-KEY-oracle-ol9 | gpg --import Note: No "sudo" for curl command Download the appropriate checksum file and place it in the same directory as the Oracle Linux ISO download: $ curl https://linux.oracle.com/security/gpg/checksum/OracleLinux-R9-U3-Server-x86_64.checksum > OracleLinux-R9-U3-Server-x86_64.checksum Download GPG Key: $ curl https://yum.oracle.com/RPM-GPG-KEY-oracle-ol9 -o RPM-GPG-KEY-oracle Note: No "sudo" for curl command To verify the checksum file: $ gpg --verify-files OracleLinux-R9-U3-Server-x86_64.checksum gpg: Signature made Wed 15 Nov 2023 07:22:32 AM EST gpg: using RSA key 3E6D826D3FBAB389C2F38E34BC4D06A08D8B756F gpg: issuer "secalert_us@oracle.com" gpg: Good signature from "Oracle Linux (release key 1) <secalert_us@oracle.com>" [unknown] gpg: WARNING: The key's User ID is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 3E6D 826D 3FBA B389 C2F3 8E34 BC4D 06A0 8D8B 756F Verify the ISO download as follows: $ grep OracleLinux-R9-U3-x86_64-boot.iso OracleLinux-R9-U3-Server-x86_64.checksum | sha256sum -c OracleLinux-R9-U3-x86_64-boot.iso: OK

b
OL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/sudoers.
AC-2 - Medium - CCI-000018 - V-271527 - SV-271527r1092474_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-000018
Version
OL09-00-000500
Vuln IDs
  • V-271527
Rule IDs
  • SV-271527r1092474_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
Checks: C-75577r1091291_chk

Verify that OL 9 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: $ sudo auditctl -l | grep /etc/sudoers -w /etc/sudoers -p wa -k identity -w /etc/sudoers.d -p wa -k identity If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75484r1092473_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/sudoers.d/ directory.
AC-2 - Medium - CCI-000018 - V-271528 - SV-271528r1092476_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-000018
Version
OL09-00-000505
Vuln IDs
  • V-271528
Rule IDs
  • SV-271528r1092476_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
Checks: C-75578r1091294_chk

Verify that OL 9 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: $ sudo auditctl -l | grep /etc/sudoers.d -w /etc/sudoers.d/ -p wa -k identity If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75485r1092475_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/group.
AC-2 - Medium - CCI-000018 - V-271529 - SV-271529r1092478_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-000018
Version
OL09-00-000510
Vuln IDs
  • V-271529
Rule IDs
  • SV-271529r1092478_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
Checks: C-75579r1091297_chk

Verify that OL 9 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/group" with the following command: $ sudo auditctl -l | egrep '(/etc/group)' -w /etc/group -p wa -k identity If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75486r1092477_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/gshadow.
AC-2 - Medium - CCI-000018 - V-271530 - SV-271530r1092480_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-000018
Version
OL09-00-000515
Vuln IDs
  • V-271530
Rule IDs
  • SV-271530r1092480_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
Checks: C-75580r1091300_chk

Verify that OL 9 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: $ sudo auditctl -l | egrep '(/etc/gshadow)' -w /etc/gshadow -p wa -k identity If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75487r1092479_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/opasswd.
AC-2 - Medium - CCI-000018 - V-271531 - SV-271531r1092482_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-000018
Version
OL09-00-000520
Vuln IDs
  • V-271531
Rule IDs
  • SV-271531r1092482_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
Checks: C-75581r1091303_chk

Verify that OL 9 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: $ sudo auditctl -l | egrep '(/etc/security/opasswd)' -w /etc/security/opasswd -p wa -k identity If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75488r1092481_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/passwd.
AC-2 - Medium - CCI-000018 - V-271532 - SV-271532r1092484_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-000018
Version
OL09-00-000525
Vuln IDs
  • V-271532
Rule IDs
  • SV-271532r1092484_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
Checks: C-75582r1091306_chk

Verify that OL 9 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: $ sudo auditctl -l | egrep '(/etc/passwd)' -w /etc/passwd -p wa -k identity If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75489r1092483_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/shadow.
AC-2 - Medium - CCI-000018 - V-271533 - SV-271533r1092486_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-000018
Version
OL09-00-000530
Vuln IDs
  • V-271533
Rule IDs
  • SV-271533r1092486_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
Checks: C-75583r1091309_chk

Verify that OL 9 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/shadow" with the following command: $ sudo auditctl -l | egrep '(/etc/shadow)' -w /etc/shadow -p wa -k identity If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75490r1092485_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the unix_update command.
AU-3 - Medium - CCI-000130 - V-271534 - SV-271534r1092488_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000535
Vuln IDs
  • V-271534
Rule IDs
  • SV-271534r1092488_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
Checks: C-75584r1091312_chk

Verify that OL 9 is configured to audit the execution of the "unix_update" command with the following command: $ sudo auditctl -l | grep unix_update -a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid&gt;=1000 -F auid!=unset -k privileged-unix-update If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75491r1092487_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the su command.
AU-3 - Medium - CCI-000130 - V-271535 - SV-271535r1092490_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000540
Vuln IDs
  • V-271535
Rule IDs
  • SV-271535r1092490_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
Checks: C-75585r1091315_chk

Verify that OL 9 is configured to audit the execution of the su command with the following command: $ sudo auditctl -l | grep /usr/bin/su -a always,exit -F path=/usr/bin/su -F perm=x -F auid&gt;=1000 -F auid!=unset -k privileged-priv_change If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75492r1092489_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the setxattr, fsetxattr, lsetxattr, removexattr, fremovexattr, and lremovexattr system calls.
AU-3 - Medium - CCI-000130 - V-271536 - SV-271536r1092492_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000545
Vuln IDs
  • V-271536
Rule IDs
  • SV-271536r1092492_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
Checks: C-75586r1091318_chk

Verify that OL 9 is configured to audit the execution of the setxattr, fsetxattr, lsetxattr, removexattr, fremovexattr, and lremovexattr system calls with the following command: $ sudo auditctl -l | grep xattr -a always,exit -F arch=b32 -S setxattr,fsetxattr,lsetxattr,removexattr,fremovexattr,lremovexattr -F auid&gt;=1000 -F auid!=unset -k perm_mod -a always,exit -F arch=b64 -S setxattr,fsetxattr,lsetxattr,removexattr,fremovexattr,lremovexattr -F auid&gt;=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 If both the "b32" and "b64" audit rules are not defined for the setxattr, fsetxattr, lsetxattr, removexattr, fremovexattr, and lremovexattr system calls, or any of the lines returned are commented out, this is a finding.

Fix: F-75493r1092491_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the chage command.
AU-3 - Medium - CCI-000130 - V-271537 - SV-271537r1092494_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000550
Vuln IDs
  • V-271537
Rule IDs
  • SV-271537r1092494_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
Checks: C-75587r1091321_chk

Verify that OL 9 is configured to audit the execution of the chage command with the following command: $ sudo auditctl -l | grep chage -a always,exit -F path=/usr/bin/chage -F perm=x -F auid&gt;=1000 -F auid!=unset -k privileged-chage If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75494r1092493_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the chcon command.
AU-3 - Medium - CCI-000130 - V-271538 - SV-271538r1092496_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000555
Vuln IDs
  • V-271538
Rule IDs
  • SV-271538r1092496_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
Checks: C-75588r1091324_chk

Verify that OL 9 is configured to audit the execution of the chcon command with the following command: $ sudo auditctl -l | grep chcon -a always,exit -F path=/usr/bin/chcon -F perm=x -F auid&gt;=1000 -F auid!=unset -k perm_mod If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75495r1092495_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the setfacl command.
AU-3 - Medium - CCI-000130 - V-271539 - SV-271539r1092498_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000560
Vuln IDs
  • V-271539
Rule IDs
  • SV-271539r1092498_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
Checks: C-75589r1091327_chk

Verify that OL 9 is configured to audit the execution of the setfacl command with the following command: $ sudo auditctl -l | grep setfacl -a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid&gt;=1000 -F auid!=unset -k perm_mod If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75496r1092497_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the chsh command.
AU-3 - Medium - CCI-000130 - V-271540 - SV-271540r1092500_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000565
Vuln IDs
  • V-271540
Rule IDs
  • SV-271540r1092500_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
Checks: C-75590r1091330_chk

Verify that OL 9 is configured to audit the execution of the chsh command with the following command: $ sudo auditctl -l | grep chsh -a always,exit -F path=/usr/bin/chsh -F perm=x -F auid&gt;=1000 -F auid!=unset -k priv_cmd If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75497r1092499_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the crontab command.
AU-3 - Medium - CCI-000130 - V-271541 - SV-271541r1092502_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000570
Vuln IDs
  • V-271541
Rule IDs
  • SV-271541r1092502_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
Checks: C-75591r1091333_chk

Verify that OL 9 is configured to audit the execution of the crontab command with the following command: $ sudo auditctl -l | grep crontab -a always,exit -F path=/usr/bin/crontab -F perm=x -F auid&gt;=1000 -F auid!=unset -k privileged-crontab If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75498r1092501_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the gpasswd command.
AU-3 - Medium - CCI-000130 - V-271542 - SV-271542r1092504_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000575
Vuln IDs
  • V-271542
Rule IDs
  • SV-271542r1092504_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
Checks: C-75592r1091336_chk

Verify that OL 9 is configured to audit the execution of the gpasswd command with the following command: $ sudo auditctl -l | grep gpasswd -a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid&gt;=1000 -F auid!=unset -k privileged-gpasswd If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75499r1092503_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the newgrp command.
AU-3 - Medium - CCI-000130 - V-271543 - SV-271543r1092506_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000580
Vuln IDs
  • V-271543
Rule IDs
  • SV-271543r1092506_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
Checks: C-75593r1091339_chk

Verify that OL 9 is configured to audit the execution of the newgrp command with the following command: $ sudo auditctl -l | grep newgrp -a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid&gt;=1000 -F auid!=unset -k priv_cmd If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75500r1092505_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the pam_timestamp_check command.
AU-3 - Medium - CCI-000130 - V-271544 - SV-271544r1092508_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000585
Vuln IDs
  • V-271544
Rule IDs
  • SV-271544r1092508_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
Checks: C-75594r1091342_chk

Verify that OL 9 is configured to audit the execution of the pam_timestamp_check command with the following command: $ sudo auditctl -l | grep timestamp -a always,exit -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid&gt;=1000 -F auid!=unset -k privileged-pam_timestamp_check If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75501r1092507_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the passwd command.
AU-3 - Medium - CCI-000130 - V-271545 - SV-271545r1092510_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000590
Vuln IDs
  • V-271545
Rule IDs
  • SV-271545r1092510_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
Checks: C-75595r1091345_chk

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

Fix: F-75502r1092509_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the postdrop command.
AU-3 - Medium - CCI-000130 - V-271546 - SV-271546r1092512_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000595
Vuln IDs
  • V-271546
Rule IDs
  • SV-271546r1092512_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
Checks: C-75596r1091348_chk

Verify that OL 9 is configured to audit the execution of the postdrop command with the following command: $ sudo auditctl -l | grep postdrop -a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid&gt;=1000 -F auid!=unset -k privileged-unix-update If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75503r1092511_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the postqueue command.
AU-3 - Medium - CCI-000130 - V-271547 - SV-271547r1092514_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000600
Vuln IDs
  • V-271547
Rule IDs
  • SV-271547r1092514_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
Checks: C-75597r1091351_chk

Verify that OL 9 is configured to audit the execution of the postqueue command with the following command: $ sudo auditctl -l | grep postqueue -a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid&gt;=1000 -F auid!=unset -k privileged-unix-update If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75504r1092513_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the ssh-agent command.
AU-3 - Medium - CCI-000130 - V-271548 - SV-271548r1092516_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000605
Vuln IDs
  • V-271548
Rule IDs
  • SV-271548r1092516_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
Checks: C-75598r1091354_chk

Verify that OL 9 is configured to audit the execution of the ssh-agent command with the following command: $ sudo auditctl -l | grep ssh-agent -a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid&gt;=1000 -F auid!=unset -k privileged-ssh If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75505r1092515_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the ssh-keysign command.
AU-3 - Medium - CCI-000130 - V-271549 - SV-271549r1092518_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000610
Vuln IDs
  • V-271549
Rule IDs
  • SV-271549r1092518_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
Checks: C-75599r1091357_chk

Verify that OL 9 is configured to audit the execution of the ssh-keysign command with the following command: $ sudo auditctl -l | grep ssh-keysign -a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid&gt;=1000 -F auid!=unset -k privileged-ssh If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75506r1092517_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the sudoedit command.
AU-3 - Medium - CCI-000130 - V-271550 - SV-271550r1092520_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000615
Vuln IDs
  • V-271550
Rule IDs
  • SV-271550r1092520_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
Checks: C-75600r1091360_chk

Verify that OL 9 is configured to audit the execution of the sudoedit command with the following command: $ sudo auditctl -l | grep /usr/bin/sudoedit -a always,exit -F path=/usr/bin/sudoedit -F perm=x -F auid&gt;=1000 -F auid!=unset -k priv_cmd If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75507r1092519_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the unix_chkpwd command.
AU-3 - Medium - CCI-000130 - V-271551 - SV-271551r1092522_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000620
Vuln IDs
  • V-271551
Rule IDs
  • SV-271551r1092522_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
Checks: C-75601r1091363_chk

Verify that OL 9 is configured to audit the execution of the unix_chkpwd command with the following command: $ sudo auditctl -l | grep unix_chkpwd -a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid&gt;=1000 -F auid!=unset -k privileged-unix-update If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75508r1092521_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the userhelper command.
AU-3 - Medium - CCI-000130 - V-271552 - SV-271552r1092524_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000625
Vuln IDs
  • V-271552
Rule IDs
  • SV-271552r1092524_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
Checks: C-75602r1091366_chk

Verify that OL 9 is configured to audit the execution of the userhelper command with the following command: $ sudo auditctl -l | grep userhelper -a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid&gt;=1000 -F auid!=unset -k privileged-unix-update If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75509r1092523_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the mount command.
AU-3 - Medium - CCI-000130 - V-271553 - SV-271553r1092526_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000630
Vuln IDs
  • V-271553
Rule IDs
  • SV-271553r1092526_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
Checks: C-75603r1091369_chk

Verify that OL 9 is configured to audit the execution of the mount command with the following command: $ sudo auditctl -l | grep /usr/bin/mount -a always,exit -F path=/usr/bin/mount -F perm=x -F auid&gt;=1000 -F auid!=unset -k privileged-mount If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75510r1092525_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the truncate, ftruncate, creat, open, openat, and open_by_handle_at system calls.
AU-3 - Medium - CCI-000130 - V-271554 - SV-271554r1092528_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000635
Vuln IDs
  • V-271554
Rule IDs
  • SV-271554r1092528_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
Checks: C-75604r1091372_chk

Verify that OL 9 is configured to audit successful/unsuccessful attempts to use the truncate, ftruncate, creat, open, openat, and open_by_handle_at system calls with the following command: $ sudo auditctl -l | grep 'open\|truncate\|creat' -a always,exit -F arch=b32 -S truncate,ftruncate,creat,open,openat,open_by_handle_at -F exit=-EPERM -F auid&gt;=1000 -F auid!=unset -k perm_access -a always,exit -F arch=b64 -S truncate,ftruncate,creat,open,openat,open_by_handle_at -F exit=-EPERM -F auid&gt;=1000 -F auid!=unset -k perm_access -a always,exit -F arch=b32 -S truncate,ftruncate,creat,open,openat,open_by_handle_at -F exit=-EACCES -F auid&gt;=1000 -F auid!=unset -k perm_access -a always,exit -F arch=b64 -S truncate,ftruncate,creat,open,openat,open_by_handle_at -F exit=-EACCES -F auid&gt;=1000 -F auid!=unset -k perm_access If the output does not produce rules containing "-F exit=-EPERM", this is a finding. If the output does not produce rules containing "-F exit=-EACCES", this is a finding. If the command does not return an audit rule for truncate, ftruncate, creat, open, openat, and open_by_handle_at or any of the lines returned are commented out, this is a finding.

Fix: F-75511r1092527_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the chmod, fchmod, and fchmodat system calls.
AU-3 - Medium - CCI-000130 - V-271555 - SV-271555r1092530_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000640
Vuln IDs
  • V-271555
Rule IDs
  • SV-271555r1092530_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
Checks: C-75605r1091375_chk

Verify that OL 9 is configured to audit the execution of the chmod, fchmod, and fchmodat system calls with the following command: $ sudo auditctl -l | grep chmod -a always,exit -F arch=b32 -S chmod,fchmod,fchmodat -F auid&gt;=1000 -F auid!=unset -k perm_mod -a always,exit -F arch=b64 -S chmod,fchmod,fchmodat -F auid&gt;=1000 -F auid!=unset -k perm_mod If both the "b32" and "b64" audit rules are not defined for the chmod, fchmod, and fchmodat system calls, this is a finding.

Fix: F-75512r1092529_fix

Configure OL 9 to generate audit records upon successful/unsuccessful attempts to use the chmod, fchmod, and fchmodat system calls. 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the chown, fchown, fchownat, and lchown system calls.
AU-3 - Medium - CCI-000130 - V-271556 - SV-271556r1092532_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000645
Vuln IDs
  • V-271556
Rule IDs
  • SV-271556r1092532_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
Checks: C-75606r1091378_chk

Verify that OL 9 is configured to audit the execution of the chown, fchown, fchownat, and lchown system calls with the following command: $ sudo auditctl -l | grep chown -a always,exit -F arch=b32 -S chown,fchown,fchownat,lchown -F auid&gt;=1000 -F auid!=unset -k perm_mod -a always,exit -F arch=b64 -S chown,fchown,fchownat,lchown -F auid&gt;=1000 -F auid!=unset -k perm_mod If both the "b32" and "b64" audit rules are not defined for the chown, fchown, fchownat, and lchown system calls, this is a finding.

Fix: F-75513r1092531_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the semanage command.
AU-3 - Medium - CCI-000130 - V-271557 - SV-271557r1092534_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000650
Vuln IDs
  • V-271557
Rule IDs
  • SV-271557r1092534_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
Checks: C-75607r1091381_chk

Verify that OL 9 is configured to audit the execution of the semanage command with the following command: $ sudo auditctl -l | grep semanage -a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid&gt;=1000 -F auid!=unset -k privileged-unix-update If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75514r1092533_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the setfiles command.
AU-3 - Medium - CCI-000130 - V-271558 - SV-271558r1092536_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000655
Vuln IDs
  • V-271558
Rule IDs
  • SV-271558r1092536_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
Checks: C-75608r1091384_chk

Verify that OL 9 is configured to audit the execution of the setfiles command with the following command: $ sudo auditctl -l | grep setfiles -a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid&gt;=1000 -F auid!=unset -k privileged-unix-update If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75515r1092535_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the setsebool command.
AU-3 - Medium - CCI-000130 - V-271559 - SV-271559r1092538_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000660
Vuln IDs
  • V-271559
Rule IDs
  • SV-271559r1092538_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
Checks: C-75609r1091387_chk

Verify that OL 9 is configured to audit the execution of the setsebool command with the following command: $ sudo auditctl -l | grep setsebool -a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid&gt;=1000 -F auid!=unset -F key=privileged If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75516r1092537_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the chacl command.
AU-3 - Medium - CCI-000130 - V-271560 - SV-271560r1092540_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000665
Vuln IDs
  • V-271560
Rule IDs
  • SV-271560r1092540_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
Checks: C-75610r1091390_chk

Verify that OL 9 is configured to audit the execution of the chacl command with the following command: $ sudo auditctl -l | grep chacl -a always,exit -F path=/usr/bin/chacl -F perm=x -F auid&gt;=1000 -F auid!=unset -k perm_mod If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75517r1092539_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the sudo command.
AU-3 - Medium - CCI-000130 - V-271561 - SV-271561r1092542_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000670
Vuln IDs
  • V-271561
Rule IDs
  • SV-271561r1092542_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
Checks: C-75611r1091393_chk

Verify that OL 9 is configured to audit the execution of the sudo command with the following command: $ sudo auditctl -l | grep /usr/bin/sudo -a always,exit -F path=/usr/bin/sudo -F perm=x -F auid&gt;=1000 -F auid!=unset -k priv_cmd If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75518r1092541_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the usermod command.
AU-3 - Medium - CCI-000130 - V-271562 - SV-271562r1092544_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000675
Vuln IDs
  • V-271562
Rule IDs
  • SV-271562r1092544_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
Checks: C-75612r1091396_chk

Verify that OL 9 is configured to audit the execution of the usermod command with the following command: $ sudo auditctl -l | grep usermod -a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid&gt;=1000 -F auid!=unset -k privileged-usermod If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75519r1092543_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the rename, unlink, rmdir, renameat, and unlinkat system calls.
AU-3 - Medium - CCI-000130 - V-271563 - SV-271563r1092546_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000680
Vuln IDs
  • V-271563
Rule IDs
  • SV-271563r1092546_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
Checks: C-75613r1091399_chk

Verify that OL 9 is configured to audit successful/unsuccessful attempts to use the rename, unlink, rmdir, renameat, and unlinkat system calls with the following command: $ sudo auditctl -l | grep 'rename\|unlink\|rmdir' -a always,exit -F arch=b32 -S rename,unlink,rmdir,renameat,unlinkat -F auid&gt;=1000 -F auid!=unset -k delete -a always,exit -F arch=b64 -S rename,unlink,rmdir,renameat,unlinkat -F auid&gt;=1000 -F auid!=unset -k delete If the command does not return an audit rule for rename, unlink, rmdir, renameat, and unlinkat or any of the lines returned are commented out, this is a finding.

Fix: F-75520r1092545_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the delete_module system call.
AU-3 - Medium - CCI-000130 - V-271564 - SV-271564r1092548_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000685
Vuln IDs
  • V-271564
Rule IDs
  • SV-271564r1092548_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
Checks: C-75614r1091402_chk

Verify that OL 9 is configured to audit the execution of the delete_module system call with the following command: $ sudo auditctl -l | grep delete_module -a always,exit -F arch=b32 -S delete_module -F auid&gt;=1000 -F auid!=unset -k module_chng -a always,exit -F arch=b64 -S delete_module -F auid&gt;=1000 -F auid!=unset -k module_chng If both the "b32" and "b64" audit rules are not defined for the delete_module system call, or any of the lines returned are commented out, this is a finding.

Fix: F-75521r1092547_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the init_module and finit_module system calls.
AU-3 - Medium - CCI-000130 - V-271565 - SV-271565r1092550_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000690
Vuln IDs
  • V-271565
Rule IDs
  • SV-271565r1092550_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
Checks: C-75615r1091405_chk

Verify that OL 9 is configured to audit the execution of the init_module and finit_module system calls with the following command: $ sudo auditctl -l | grep init_module -a always,exit -F arch=b32 -S init_module,finit_module -F auid&gt;=1000 -F auid!=unset -k module_chng -a always,exit -F arch=b64 -S init_module,finit_module -F auid&gt;=1000 -F auid!=unset -k module_chng If both the "b32" and "b64" audit rules are not defined for the init_module and finit_module system calls, or any of the lines returned are commented out, this is a finding.

Fix: F-75522r1092549_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of the kmod command.
AU-3 - Medium - CCI-000130 - V-271566 - SV-271566r1092552_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000695
Vuln IDs
  • V-271566
Rule IDs
  • SV-271566r1092552_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
Checks: C-75616r1091408_chk

Verify that OL 9 is configured to audit the execution of the kmod command with the following command: $ sudo auditctl -l | grep kmod -a always,exit -F path=/usr/bin/kmod -F perm=x -F auid&gt;=1000 -F auid!=unset -k modules If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75523r1092551_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /var/log/lastlog.
AU-3 - Medium - CCI-000130 - V-271567 - SV-271567r1092554_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000700
Vuln IDs
  • V-271567
Rule IDs
  • SV-271567r1092554_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
Checks: C-75617r1091411_chk

Verify that OL 9 generates audit records for all account creations, modifications, disabling, and termination events that affect /var/log/lastlog with the following command: $ sudo auditctl -l | grep /var/log/lastlog -w /var/log/lastlog -p wa -k logins If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75524r1092553_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must audit all uses of umount system calls.
AU-3 - Medium - CCI-000130 - V-271568 - SV-271568r1092556_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000705
Vuln IDs
  • V-271568
Rule IDs
  • SV-271568r1092556_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
Checks: C-75618r1091414_chk

Verify that OL 9 is configured to audit the execution of the umount command with the following command: $ sudo auditctl -l | grep umount -a always,exit -F path=/usr/bin/umount -F perm=x -F auid&gt;=1000 -F auid!=unset -k privileged-mount If the command does not return an audit rule for umount or any of the lines returned are commented out, this is a finding.

Fix: F-75525r1092555_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must use cryptographic mechanisms to protect the integrity of audit tools.
AU-9 - Medium - CCI-001493 - V-271569 - SV-271569r1091419_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-001493
Version
OL09-00-000710
Vuln IDs
  • V-271569
Rule IDs
  • SV-271569r1091419_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
Checks: C-75619r1091417_chk

Verify that OL 9 uses cryptographic mechanisms to protect the integrity of the audit tools with the following command: $ sudo cat /etc/aide.conf | grep /usr/sbin/au /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/autrace p+i+n+u+g+s+b+acl+xattrs+sha512 /usr/sbin/augenrules p+i+n+u+g+s+b+acl+xattrs+sha512 If AIDE is not installed, ask the system administrator (SA) how file integrity checks are performed on the system. If any of the audit tools listed above do not have a corresponding line, ask the SA to indicate what cryptographic mechanisms are being used to protect the integrity of the audit tools. If there is no evidence of integrity protection, this is a finding.

Fix: F-75526r1091418_fix

Configure OL 9 to protect the integrity of the audit tools. Add or update the following lines to /etc/aide.conf: /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/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
OL 9 must audit uses of the execve system call.
AC-6 - Medium - CCI-002233 - V-271570 - SV-271570r1092558_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-002233
Version
OL09-00-000715
Vuln IDs
  • V-271570
Rule IDs
  • SV-271570r1092558_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, SRG-OS-000755-GPOS-00220
Checks: C-75620r1091420_chk

Verify that OL 9 is configured to audit the execution of the execve system call with the following command: $ sudo auditctl -l | grep execve -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 If the command does not return all lines or the lines are commented out, this is a finding.

Fix: F-75527r1092557_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart Note: Users must reboot to view above results with command "auditctl -l | grep execve".

b
OL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /var/log/faillock.
MA-4 - Medium - CCI-002884 - V-271571 - SV-271571r1092560_rule
RMF Control
MA-4
Severity
Medium
CCI
CCI-002884
Version
OL09-00-000720
Vuln IDs
  • V-271571
Rule IDs
  • SV-271571r1092560_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
Checks: C-75621r1091423_chk

Verify that OL 9 generates audit records for all account creations, modifications, disabling, and termination events that affect /var/log/faillock with the following command: $ sudo auditctl -l | grep /var/log/faillock -w /var/log/faillock -p wa -k logins If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75528r1092559_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /var/log/tallylog.
MA-4 - Medium - CCI-002884 - V-271572 - SV-271572r1092562_rule
RMF Control
MA-4
Severity
Medium
CCI
CCI-002884
Version
OL09-00-000725
Vuln IDs
  • V-271572
Rule IDs
  • SV-271572r1092562_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
Checks: C-75622r1091426_chk

Verify that OL 9 generates audit records for all account creations, modifications, disabling, and termination events that affect /var/log/tallylog with the following command: $ sudo auditctl -l | grep /var/log/tallylog -w /var/log/tallylog -p wa -k logins If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75529r1092561_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must be configured so that successful/unsuccessful uses of the init command generate an audit record.
AU-12 - Medium - CCI-000172 - V-271573 - SV-271573r1092564_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000172
Version
OL09-00-000730
Vuln IDs
  • V-271573
Rule IDs
  • SV-271573r1092564_rule
Misuse of the init command may cause availability issues for the system.
Checks: C-75623r1091429_chk

Verify that OL 9 is configured to audit the execution of the init command with the following command: $ sudo auditctl -l | grep init -a always,exit -F path=/usr/sbin/init -F perm=x -F auid&gt;=1000 -F auid!=unset -k privileged-init If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75530r1092563_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. Restart auditd: $ sudo service auditd restart

b
OL 9 must be configured so that successful/unsuccessful uses of the poweroff command generate an audit record.
AU-12 - Medium - CCI-000172 - V-271574 - SV-271574r1092566_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000172
Version
OL09-00-000735
Vuln IDs
  • V-271574
Rule IDs
  • SV-271574r1092566_rule
Misuse of the poweroff command may cause availability issues for the system.
Checks: C-75624r1091432_chk

Verify that OL 9 is configured to audit the execution of the poweroff command with the following command: $ sudo auditctl -l | grep poweroff -a always,exit -F path=/usr/sbin/poweroff -F perm=x -F auid&gt;=1000 -F auid!=unset -k privileged-poweroff If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75531r1092565_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. Restart auditd: $ sudo service auditd restart

b
OL 9 must be configured so that successful/unsuccessful uses of the reboot command generate an audit record.
AU-12 - Medium - CCI-000172 - V-271575 - SV-271575r1092568_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000172
Version
OL09-00-000740
Vuln IDs
  • V-271575
Rule IDs
  • SV-271575r1092568_rule
Misuse of the reboot command may cause availability issues for the system.
Checks: C-75625r1091435_chk

Verify that OL 9 is configured to audit the execution of the reboot command with the following command: $ sudo auditctl -l | grep reboot -a always,exit -F path=/usr/sbin/reboot -F perm=x -F auid&gt;=1000 -F auid!=unset -k privileged-reboot If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75532r1092567_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. Restart auditd: $ sudo service auditd restart

b
OL 9 must be configured so that successful/unsuccessful uses of the shutdown command generate an audit record.
AU-12 - Medium - CCI-000172 - V-271576 - SV-271576r1092570_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000172
Version
OL09-00-000745
Vuln IDs
  • V-271576
Rule IDs
  • SV-271576r1092570_rule
Misuse of the shutdown command may cause availability issues for the system.
Checks: C-75626r1091438_chk

Verify that OL 9 is configured to audit the execution of the shutdown command with the following command: $ sudo auditctl -l | grep shutdown -a always,exit -F path=/usr/sbin/shutdown -F perm=x -F auid&gt;=1000 -F auid!=unset -k privileged-shutdown If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75533r1092569_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. Restart auditd: $ sudo service auditd restart

a
OL 9 must enable auditing of processes that start prior to the audit daemon.
AU-3 - Low - CCI-000130 - V-271577 - SV-271577r1091443_rule
RMF Control
AU-3
Severity
Low
CCI
CCI-000130
Version
OL09-00-000750
Vuln IDs
  • V-271577
Rule IDs
  • SV-271577r1091443_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
Checks: C-75627r1091441_chk

Verify that OL 9 is configured to enable auditing of processes that start prior to the audit daemon. Check that the current GRUB 2 configuration enables auditing: $ sudo grubby --info=ALL | grep audit args="ro crashkernel=auto resume=/dev/mapper/ol-swap rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet fips=1 audit=1 audit_backlog_limit=8192 pti=on If "audit" is not set to "1" or is missing, this is a finding. Check that auditing is enabled by default to persist through kernel updates: $ sudo grep audit /etc/default/grub GRUB_CMDLINE_LINUX="audit=1" If "audit" is not set to "1", is missing, or is commented out, this is a finding.

Fix: F-75534r1091442_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
OL 9 must label all offloaded audit logs before sending them to the central log server.
AU-3 - Medium - CCI-000132 - V-271578 - SV-271578r1092572_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000132
Version
OL09-00-000755
Vuln IDs
  • V-271578
Rule IDs
  • SV-271578r1092572_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
Checks: C-75628r1091444_chk

Verify that OL 9 Audit Daemon is configured to label all offloaded audit logs, with the following command: $ sudo grep name_format /etc/audit/auditd.conf name_format = hostname If the "name_format" option is not "hostname", "fqd", or "numeric", or the line is commented out, this is a finding.

Fix: F-75535r1092571_fix

Configure OL 9 to label all offloaded audit logs before sending them to the central log server. 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. Restart auditd: $ sudo service auditd restart

b
OL 9 audit system must take appropriate action when an error writing to the audit storage volume occurs.
AU-12 - Medium - CCI-000169 - V-271579 - SV-271579r1091449_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000169
Version
OL09-00-000760
Vuln IDs
  • V-271579
Rule IDs
  • SV-271579r1091449_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.
Checks: C-75629r1091447_chk

Verify that OL 9 takes the appropriate action when an audit processing failure occurs. Check that OL 9 takes the appropriate action when an audit processing failure occurs with the following command: $ sudo grep disk_error_action /etc/audit/auditd.conf disk_error_action = HALT If the value of the "disk_error_action" option is not "SYSLOG", "SINGLE", or "HALT", or the line is commented out, ask the system administrator (SA) to indicate how the system takes appropriate action when an audit process failure occurs. If there is no evidence of appropriate action, this is a finding.

Fix: F-75536r1091448_fix

Configure OL 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
OL 9 audit system must take appropriate action when the audit storage volume is full.
AU-12 - Medium - CCI-000169 - V-271580 - SV-271580r1091452_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000169
Version
OL09-00-000765
Vuln IDs
  • V-271580
Rule IDs
  • SV-271580r1091452_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.
Checks: C-75630r1091450_chk

Verify that OL 9 takes the appropriate action when the audit storage volume is full. Check that OL 9 takes the appropriate action when the audit storage volume is full with the following command: $ sudo grep disk_full_action /etc/audit/auditd.conf disk_full_action = HALT If the value of the "disk_full_action" option is not "SYSLOG", "SINGLE", or "HALT", or the line is commented out, ask the system administrator (SA) to indicate how the system takes appropriate action when an audit storage volume is full. If there is no evidence of appropriate action, this is a finding.

Fix: F-75537r1091451_fix

Configure OL 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
OL 9 audit system must take appropriate action when the audit files have reached maximum size.
AU-12 - Medium - CCI-000169 - V-271581 - SV-271581r1091455_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000169
Version
OL09-00-000770
Vuln IDs
  • V-271581
Rule IDs
  • SV-271581r1091455_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.
Checks: C-75631r1091453_chk

Verify that OL 9 takes the appropriate action when the audit files have reached maximum size with the following command: $ sudo grep max_log_file_action /etc/audit/auditd.conf max_log_file_action = ROTATE If the value of the "max_log_file_action" option is not "ROTATE", "SINGLE", or the line is commented out, ask the system administrator (SA)to indicate how the system takes appropriate action when an audit storage volume is full. If there is no evidence of appropriate action, this is a finding.

Fix: F-75538r1091454_fix

Configure OL 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
OL 9 must periodically flush audit records to disk to prevent the loss of audit records.
AU-6 - Medium - CCI-000154 - V-271582 - SV-271582r1092574_rule
RMF Control
AU-6
Severity
Medium
CCI
CCI-000154
Version
OL09-00-000775
Vuln IDs
  • V-271582
Rule IDs
  • SV-271582r1092574_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.
Checks: C-75632r1091456_chk

Verify that OL 9 is configured to flush audit records to disk after every 100 records with the following command: $ sudo grep freq /etc/audit/auditd.conf freq = 100 If "freq" isn't set to a value of "100" or greater, the value is missing, or the line is commented out, this is a finding.

Fix: F-75539r1092573_fix

Configure OL 9 to flush audit to disk by adding or updating the following configuration in "/etc/audit/auditd.conf": freq = 100 The audit daemon must be restarted for the changes to take effect. Restart auditd: $ sudo service auditd restart

b
OL 9 audit logs must be group-owned by root or by a restricted logging group to prevent unauthorized read access.
AU-9 - Medium - CCI-000162 - V-271583 - SV-271583r1091461_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-000162
Version
OL09-00-000785
Vuln IDs
  • V-271583
Rule IDs
  • SV-271583r1091461_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
Checks: C-75633r1091459_chk

Verify that OL 9 audit logs are group-owned by "root" or a restricted logging group. First determine if a group other than "root" has been assigned to the audit logs with the following command: $ sudo grep log_group /etc/audit/auditd.conf log_group = root Then determine where the audit logs are stored with the following command: $ sudo grep -iw log_file /etc/audit/auditd.conf log_file = /var/log/audit/audit.log Then, using the location of the audit log file, determine if the audit log is group-owned by "root" using the following command: $ sudo stat -c "%G %n" /var/log/audit/audit.log root /var/log/audit/audit.log If the audit log is not group-owned by "root" or the configured alternative logging group, this is a finding.

Fix: F-75540r1091460_fix

Configure OL 9 audit logs to be group-owned by "root" or a restricted logging group. 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
OL 9 audit log directory must be owned by root to prevent unauthorized read access.
AU-9 - Medium - CCI-000162 - V-271584 - SV-271584r1091464_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-000162
Version
OL09-00-000790
Vuln IDs
  • V-271584
Rule IDs
  • SV-271584r1091464_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
Checks: C-75634r1091462_chk

Verify that OL 9 audit logs directory is owned by "root". First determine where the audit logs are stored with the following command: $ sudo grep -iw log_file /etc/audit/auditd.conf log_file = /var/log/audit/audit.log Then using the location of the audit log file, determine if the audit log directory is owned by "root" using the following command: $ sudo ls -ld /var/log/audit drwx------ 2 root root 23 Jun 11 11:56 /var/log/audit If the audit log directory is not owned by "root", this is a finding.

Fix: F-75541r1091463_fix

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

b
OL 9 audit logs file must have mode 0600 or less permissive to prevent unauthorized access to the audit log.
AU-9 - Medium - CCI-000162 - V-271585 - SV-271585r1091467_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-000162
Version
OL09-00-000795
Vuln IDs
  • V-271585
Rule IDs
  • SV-271585r1091467_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 OL 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
Checks: C-75635r1091465_chk

Verify that OL 9 audit logs have a mode of "0600". First determine where the audit logs are stored with the following command: $ sudo grep -iw log_file /etc/audit/auditd.conf log_file = /var/log/audit/audit.log Then using the location of the audit log file, determine if the audit log files as a mode of "0640" with the following command: $ sudo ls -la /var/log/audit/*.log rw-------. 2 root root 237923 Jun 11 11:56 /var/log/audit/audit.log If the audit logs have a mode more permissive than "0600", this is a finding.

Fix: F-75542r1091466_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
OL 9 audit system must audit local events.
AU-12 - Medium - CCI-000169 - V-271586 - SV-271586r1092576_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000169
Version
OL09-00-000800
Vuln IDs
  • V-271586
Rule IDs
  • SV-271586r1092576_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.
Checks: C-75636r1091468_chk

Verify that OL 9 audit system is configured to audit local events with the following command: $ sudo grep local_events /etc/audit/auditd.conf local_events = yes If "local_events" isn't set to "yes", if the command does not return a line, or the line is commented out, this is a finding.

Fix: F-75543r1092575_fix

Configure OL 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. Restart auditd: $ sudo service auditd restart

b
OL 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.
AU-12 - Medium - CCI-000171 - V-271587 - SV-271587r1091473_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000171
Version
OL09-00-000805
Vuln IDs
  • V-271587
Rule IDs
  • SV-271587r1091473_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.
Checks: C-75637r1091471_chk

Verify that OL 9 sets files in directories "/etc/audit/rules.d/" and "/etc/audit/auditd.conf" files to have a mode of "0640" or less permissive with the following command: $ sudo stat -c "%a %n" /etc/audit/rules.d/*.rules $ sudo sh -c 'stat -c "%a %n" /etc/audit/rules.d/*.rules' 600 /etc/audit/rules.d/audit.rules If the files in the "/etc/audit/rules.d/" directory or the "/etc/audit/auditd.conf" file have a mode more permissive than "0640", this is a finding.

Fix: F-75544r1091472_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
OL 9 /etc/audit/auditd.conf file must have 0640 or less permissive to prevent unauthorized access.
AU-12 - Medium - CCI-000171 - V-271588 - SV-271588r1091476_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000171
Version
OL09-00-000810
Vuln IDs
  • V-271588
Rule IDs
  • SV-271588r1091476_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.
Checks: C-75638r1091474_chk

Verify that OL 9 sets the mode of /etc/audit/auditd.conf with the command: $ sudo stat -c "%a %n" /etc/audit/auditd.conf 640 /etc/audit/auditd.conf If "/etc/audit/auditd.conf" does not have a mode of "0640", this is a finding.

Fix: F-75545r1091475_fix

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

b
OL 9 must forward mail from postmaster to the root account using a postfix alias.
AU-5 - Medium - CCI-000139 - V-271589 - SV-271589r1091479_rule
RMF Control
AU-5
Severity
Medium
CCI
CCI-000139
Version
OL09-00-000815
Vuln IDs
  • V-271589
Rule IDs
  • SV-271589r1091479_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.
Checks: C-75639r1091477_chk

Verify that OL 9 administrators are notified in the event of an audit processing failure. Check that the "/etc/aliases" file has a defined value for "root". $ grep "postmaster:\s*root$" /etc/aliases If the command does not return a line, or the line is commented out, ask the system administrator to indicate how they and the information systems security officer (ISSO) are notified of an audit process failure. If there is no evidence of the proper personnel being notified of an audit processing failure, this is a finding.

Fix: F-75546r1091478_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
OL 9 must take appropriate action when a critical audit processing failure occurs.
AU-5 - Medium - CCI-000139 - V-271590 - SV-271590r1091482_rule
RMF Control
AU-5
Severity
Medium
CCI
CCI-000139
Version
OL09-00-000820
Vuln IDs
  • V-271590
Rule IDs
  • SV-271590r1091482_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-000343-GPOS-00135
Checks: C-75640r1091480_chk

Verify that OL 9 audit service is configured to panic on a critical error with the following command: $ sudo grep "\-f" /etc/audit/audit.rules -f 2 If the value for "-f" is not "2", and availability is not documented as an overriding concern, this is a finding.

Fix: F-75547r1091481_fix

Configure OL 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
The OL 9 system administrator (SA) and/or information system security officer (ISSO) (at a minimum) must be alerted of an audit processing failure event.
AU-5 - Medium - CCI-000139 - V-271591 - SV-271591r1092578_rule
RMF Control
AU-5
Severity
Medium
CCI
CCI-000139
Version
OL09-00-000825
Vuln IDs
  • V-271591
Rule IDs
  • SV-271591r1092578_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
Checks: C-75641r1091483_chk

Verify that OL 9 is configured to notify the SA and/or ISSO (at a minimum) in the event of an audit processing failure with the following command: $ sudo grep action_mail_acct /etc/audit/auditd.conf action_mail_acct = root If the value of the "action_mail_acct" keyword is not set to "root" and/or other accounts for security personnel, the "action_mail_acct" keyword is missing, or the retuned line is commented out, ask the SA to indicate how they and the ISSO are notified of an audit process failure. If there is no evidence of the proper personnel being notified of an audit processing failure, this is a finding.

Fix: F-75548r1092577_fix

Configure the 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. Restart auditd: $ sudo service auditd restart

a
OL 9 must allocate an audit_backlog_limit of sufficient size to capture processes that start prior to the audit daemon.
AU-14 - Low - CCI-001464 - V-271592 - SV-271592r1091488_rule
RMF Control
AU-14
Severity
Low
CCI
CCI-001464
Version
OL09-00-000830
Vuln IDs
  • V-271592
Rule IDs
  • SV-271592r1091488_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
Checks: C-75642r1091486_chk

Verify that OL 9 allocates a sufficient audit_backlog_limit to capture processes that start prior to the audit daemon with the following command: $ sudo grubby --info=ALL | grep args | grep -v 'audit_backlog_limit=8192' If the command returns any outputs, and audit_backlog_limit is less than "8192", this is a finding.

Fix: F-75549r1091487_fix

Configure OL 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
OL 9 must produce audit records containing information to establish the identity of any individual or process associated with the event.
AU-3 - Medium - CCI-001487 - V-271593 - SV-271593r1092580_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-001487
Version
OL09-00-000835
Vuln IDs
  • V-271593
Rule IDs
  • SV-271593r1092580_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.
Checks: C-75643r1091489_chk

Verify that OL 9 audit system is configured to resolve audit information before writing to disk, with the following command: $ sudo grep log_format /etc/audit/auditd.conf log_format = ENRICHED If the "log_format" option is not "ENRICHED", or the line is commented out, this is a finding.

Fix: F-75550r1092579_fix

Configure OL 9 to produce audit records containing information to establish the identity of any individual or process associated with the event. 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must be configured so that successful/unsuccessful uses of the umount system call generate an audit record.
AU-3 - Medium - CCI-000130 - V-271594 - SV-271594r1092582_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000840
Vuln IDs
  • V-271594
Rule IDs
  • SV-271594r1092582_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
Checks: C-75644r1091492_chk

Verify that OL 9 generates an audit record for all uses of the umount system call with the following commands: $ sudo grep "umount" /etc/audit/audit.* $ sudo grep umount /etc/audit/audit.rules If the system is configured to audit this activity, it will return a line like the following: -a always,exit -F arch=b32 -S umount -F auid&gt;=1000 -F auid!=unset -k privileged-umount If the command does not return a line or the line is commented out, this is a finding.

Fix: F-75551r1092581_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 perm_mod -a always,exit -F arch=b64 -S umount -F auid>=1000 -F auid!=unset -k perm_mod The audit daemon must be restarted for the changes to take effect. Restart auditd: $ sudo service auditd restart

b
OL 9 must be configured so that successful/unsuccessful uses of the umount2 system call generate an audit record.
AU-3 - Medium - CCI-000130 - V-271595 - SV-271595r1092584_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
OL09-00-000845
Vuln IDs
  • V-271595
Rule IDs
  • SV-271595r1092584_rule
The changing of file permissions could indicate that a user is attempting to gain access to information that would otherwise be disallowed. Auditing discretionary access control (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
Checks: C-75645r1091495_chk

Verify that OL 9 generates an audit record for all uses of the umount2 system call with the following commands: $ sudo grep "umount2" /etc/audit/audit.rules $ sudo sh -c 'grep "umount2" /etc/audit/audit.rules' If the system is configured to audit this activity, it will return a line. If no line is returned, this is a finding.

Fix: F-75552r1092583_fix

Configure the audit system to generate an audit event for any successful/unsuccessful use of the umount2 system call by adding the following rules to a rules file in /etc/audit/rules.d/ directory: (Example /etc/audit/rules.d/audit.rules) -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. Restart auditd: $ sudo service auditd restart

b
OL 9 must allocate audit record storage capacity to store at least one week's worth of audit records.
AU-4 - Medium - CCI-001849 - V-271596 - SV-271596r1091500_rule
RMF Control
AU-4
Severity
Medium
CCI
CCI-001849
Version
OL09-00-000850
Vuln IDs
  • V-271596
Rule IDs
  • SV-271596r1091500_rule
To ensure OL 9 systems have a sufficient storage capacity in which to write the audit logs, OL 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 OL 9. Satisfies: SRG-OS-000341-GPOS-00132, SRG-OS-000342-GPOS-00133
Checks: C-75646r1091498_chk

Verify that OL 9 allocates audit record storage capacity to store at least one week of audit records when audit records are not immediately sent to a central audit record storage facility. Note: The partition size needed to capture a week of audit records is based on the activity level of the system and the total storage capacity available. Typically 10GB of storage space for audit records should be sufficient. Determine which partition the audit records are being written to with the following command: $ sudo grep log_file /etc/audit/auditd.conf log_file = /var/log/audit/audit.log Check the size of the partition that audit records are written to with the following command and verify whether it is sufficiently large: # df -h /var/log/audit/ /dev/sda2 24G 10.4G 13.6G 43% /var/log/audit If the audit record partition is not allocated for sufficient storage capacity, this is a finding.

Fix: F-75553r1091499_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
OL 9 must be configured to offload audit records onto a different system from the system being audited via syslog.
AU-4 - Medium - CCI-001851 - V-271597 - SV-271597r1092586_rule
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
OL09-00-000855
Vuln IDs
  • V-271597
Rule IDs
  • SV-271597r1092586_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
Checks: C-75647r1091501_chk

Verify that OL 9 is configured use the audisp-remote syslog service with the following command: $ sudo grep active /etc/audit/plugins.d/syslog.conf active = yes If the "active" keyword does not have a value of "yes", the line is commented out, or the line is missing, this is a finding.

Fix: F-75554r1092585_fix

Configure OL 9 to offload audit records onto a different system from the system being audited via syslog. 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must take appropriate action when the internal event queue is full.
AU-4 - Medium - CCI-001851 - V-271598 - SV-271598r1092588_rule
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
OL09-00-000860
Vuln IDs
  • V-271598
Rule IDs
  • SV-271598r1092588_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
Checks: C-75648r1091504_chk

Verify that OL 9 audit system is configured to take an appropriate action when the internal event queue is full: $ sudo grep -i overflow_action /etc/audit/auditd.conf overflow_action = syslog If the value of the "overflow_action" option is not set to "syslog", "single", "halt" or the line is commented out, ask the system administrator (SA) to indicate how the audit logs are offloaded to a different system or media. If there is no evidence that the transfer of the audit logs being offloaded to another system or media takes appropriate action if the internal event queue becomes full, this is a finding.

Fix: F-75555r1092587_fix

Configure OL 9 to take appropriate action when the internal event queue is full. 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. Restart auditd: $ sudo service auditd restart

b
OL 9 must take action when allocated audit record storage volume reaches 75 percent of the repository maximum audit record storage capacity.
AU-5 - Medium - CCI-001855 - V-271599 - SV-271599r1091509_rule
RMF Control
AU-5
Severity
Medium
CCI
CCI-001855
Version
OL09-00-000865
Vuln IDs
  • V-271599
Rule IDs
  • SV-271599r1091509_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.
Checks: C-75649r1091507_chk

Verify that OL 9 takes action when allocated audit record storage volume reaches 75 percent of the repository maximum audit record storage capacity with the following command: $ sudo grep -w space_left /etc/audit/auditd.conf space_left = 25% If the value of the "space_left" keyword is not set to 25 percent of the storage volume allocated to audit logs, or if the line is commented out, ask the system administrator (SA) to indicate how the system is providing real-time alerts to the SA and information system security officer (ISSO). If the "space_left" value is not configured to the correct value, this is a finding.

Fix: F-75556r1091508_fix

Configure OL 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
OL 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.
AU-5 - Medium - CCI-001855 - V-271600 - SV-271600r1091512_rule
RMF Control
AU-5
Severity
Medium
CCI
CCI-001855
Version
OL09-00-000870
Vuln IDs
  • V-271600
Rule IDs
  • SV-271600r1091512_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.
Checks: C-75650r1091510_chk

Verify that OL 9 notifies the SA and ISSO (at a minimum) when allocated audit record storage volume reaches 75 percent of the repository maximum audit record storage capacity with the following command: $ sudo grep -w space_left_action /etc/audit/auditd.conf space_left_action = email If the value of the "space_left_action" is not set to "email", or if the line is commented out, ask the SA to indicate how the system is providing real-time alerts to the SA and ISSO. If there is no evidence that real-time alerts are configured on the system, this is a finding.

Fix: F-75557r1091511_fix

Configure OL 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
OL 9 must take action when allocated audit record storage volume reaches 95 percent of the audit record storage capacity.
AU-5 - Medium - CCI-001855 - V-271601 - SV-271601r1091515_rule
RMF Control
AU-5
Severity
Medium
CCI
CCI-001855
Version
OL09-00-000875
Vuln IDs
  • V-271601
Rule IDs
  • SV-271601r1091515_rule
If action is not taken when storage volume reaches 95 percent utilization, the auditing system may fail when the storage volume reaches capacity.
Checks: C-75651r1091513_chk

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

Fix: F-75558r1091514_fix

Configure OL 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
OL 9 must write audit records to disk.
CM-6 - Medium - CCI-000366 - V-271602 - SV-271602r1092590_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-000880
Vuln IDs
  • V-271602
Rule IDs
  • SV-271602r1092590_rule
Audit data should be synchronously written to disk to ensure log integrity. This setting ensures that all audit event data is written disk.
Checks: C-75652r1091516_chk

Verify that OL 9 audit system is configured to write logs to the disk with the following command: $ sudo grep write_logs /etc/audit/auditd.conf write_logs = yes If "write_logs" does not have a value of "yes", the line is commented out, or the line is missing, this is a finding.

Fix: F-75559r1092589_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. Restart auditd: $ sudo service auditd restart

b
OL 9 must act when allocated audit record storage volume reaches 95 percent of the repository maximum audit record storage capacity.
AU-5 - Medium - CCI-001855 - V-271603 - SV-271603r1092592_rule
RMF Control
AU-5
Severity
Medium
CCI
CCI-001855
Version
OL09-00-000885
Vuln IDs
  • V-271603
Rule IDs
  • SV-271603r1092592_rule
If action is not taken when storage volume reaches 95 percent utilization, the auditing system may fail when the storage volume reaches capacity.
Checks: C-75653r1091519_chk

Verify that OL 9 is configured to take action in the event of allocated audit record storage volume reaches 95 percent of the repository maximum audit record storage capacity with the following command: $ sudo grep admin_space_left_action /etc/audit/auditd.conf admin_space_left_action = single If the value of the "admin_space_left_action" is not set to "single", or if the line is commented out, ask the system administrator (SA) to indicate how the system is providing real-time alerts to the SA and information system security officer (ISSO). If there is no evidence that real-time alerts are configured on the system, this is a finding.

Fix: F-75560r1092591_fix

Configure the 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. Restart auditd: $ sudo service auditd restart

b
OL 9, for PKI-based authentication, must validate certificates by constructing a certification path (which includes status information) to an accepted trust anchor.
IA-5 - Medium - CCI-000185 - V-271604 - SV-271604r1091524_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000185
Version
OL09-00-000900
Vuln IDs
  • V-271604
Rule IDs
  • SV-271604r1091524_rule
Without path validation, an informed trust decision by the relying party cannot be made when presented with any certificate not already explicitly trusted. A trust anchor is an authoritative entity represented via a public key and associated data. It is used in the context of public key infrastructures, X.509 digital certificates, and DNSSEC. When there is a chain of trust, usually the top entity to be trusted becomes the trust anchor; it can be, for example, a certification authority (CA). A certification path starts with the subject certificate and proceeds through a number of intermediate certificates up to a trusted root certificate, typically issued by a trusted CA. This requirement verifies that a certification path to an accepted trust anchor is used for certificate validation and that the path includes status information. Path validation is necessary for a relying party to make an informed trust decision when presented with any certificate not already explicitly trusted. Status information for certification paths includes certificate revocation lists or online certificate status protocol responses. Validation of the certificate status information is out of scope for this requirement. Satisfies: SRG-OS-000066-GPOS-00034, SRG-OS-000384-GPOS-00167, SRG-OS-000775-GPOS-00230
Checks: C-75654r1091522_chk

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

Fix: F-75561r1091523_fix

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

b
OL 9, for PKI-based authentication, must enforce authorized access to the corresponding private key.
IA-5 - Medium - CCI-000186 - V-271605 - SV-271605r1091527_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000186
Version
OL09-00-000905
Vuln IDs
  • V-271605
Rule IDs
  • SV-271605r1091527_rule
If the private key is discovered, an attacker can use the key to authenticate as an authorized user and gain access to the network infrastructure. The cornerstone of the PKI is the private key used to encrypt or digitally sign information. If the private key is stolen, this will lead to the compromise of the authentication and nonrepudiation gained through PKI because the attacker can use the private key to digitally sign documents and pretend to be the authorized user. Both the holders of a digital certificate and the issuing authority must protect the computers, storage devices, or whatever they use to keep the private keys.
Checks: C-75655r1091525_chk

Verify that OL 9 SSH private key files have a passcode. For each private key stored on the system, use the following command: $ sudo ssh-keygen -y -f /path/to/file If the contents of the key are displayed, this is a finding.

Fix: F-75562r1091526_fix

Configure OL 9, for PKI-based authentication, to enforce authorized access to the corresponding private key. Create a new private and public key pair that uses a passcode with the following command: $ sudo ssh-keygen -n [passphrase]

b
OL 9 must map the authenticated identity to the user or group account for PKI-based authentication.
IA-5 - Medium - CCI-000187 - V-271606 - SV-271606r1091530_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000187
Version
OL09-00-000910
Vuln IDs
  • V-271606
Rule IDs
  • SV-271606r1091530_rule
Without mapping the certificate used to authenticate to the user account, the ability to determine the identity of the individual user or group will not be available for forensic analysis.
Checks: C-75656r1091528_chk

Verify that OL 9 maps the authenticated identity to the certificate of the user or group to the corresponding user or group in the "sssd.conf" file with the following command: $ sudo cat /etc/sssd/sssd.conf [certmap/testing.test/rule_name] matchrule =&lt;SAN&gt;.*EDIPI@mil maprule = (userCertificate;binary={cert!bin}) domains = testing.test If the certmap section does not exist, ask the system administrator (SA) to indicate how certificates are mapped to accounts. If there is no evidence of certificate mapping, this is a finding.

Fix: F-75563r1091529_fix

Configure OL 9 to map the authenticated identity to the user or group account by adding or modifying the certmap section of the "/etc/sssd/sssd.conf" file based on the following example: [certmap/testing.test/rule_name] matchrule = .*EDIPI@mil maprule = (userCertificate;binary={cert!bin}) dmains = testing.test The "sssd" service must be restarted for the changes to take effect. To restart the "sssd" service, run the following command: $ sudo systemctl restart sssd.service

b
OL 9 must enable certificate-based smart card authentication.
- Medium - CCI-004046 - V-271607 - SV-271607r1091533_rule
RMF Control
Severity
Medium
CCI
CCI-004046
Version
OL09-00-000925
Vuln IDs
  • V-271607
Rule IDs
  • SV-271607r1091533_rule
Without the use of multifactor authentication (MFA), 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
Checks: C-75657r1091531_chk

Verify that OL 9 has smart cards enabled in System Security Services Daemon (SSSD) if smart cards are used for MFA with the following command: $ sudo grep pam_cert_auth /etc/sssd/sssd.conf pam_cert_auth = True If "pam_cert_auth" is not set to "True", the line is commented out, or the line is missing, this is a finding.

Fix: F-75564r1091532_fix

Configure OL 9 to enable certificate-based smart card authentication. Edit the file "/etc/sssd/sssd.conf" and add or edit the following line: pam_cert_auth = True

b
OL 9 must implement certificate status checking for multifactor authentication (MFA).
- Medium - CCI-004046 - V-271608 - SV-271608r1091536_rule
RMF Control
Severity
Medium
CCI
CCI-004046
Version
OL09-00-000930
Vuln IDs
  • V-271608
Rule IDs
  • SV-271608r1091536_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. OL 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
Checks: C-75658r1091534_chk

Verify that OL 9 implements Online Certificate Status Protocol (OCSP) and is using the proper digest value on the system with the following command: $ sudo grep certificate_verification /etc/sssd/sssd.conf /etc/sssd/conf.d/*.conf | grep -v "^#" certificate_verification = ocsp_dgst=sha512 If the certificate_verification line is missing from the [sssd] section, or is missing "ocsp_dgst=sha512", ask the administrator to indicate what type of multifactor authentication is being used and how the system implements certificate status checking. If there is no evidence of certificate status checking being used, this is a finding.

Fix: F-75565r1091535_fix

Configure OL 9 to implement certificate status checking for MFA. 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
OL 9 must prohibit the use of cached authenticators after one day.
IA-5 - Medium - CCI-002007 - V-271609 - SV-271609r1091539_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-002007
Version
OL09-00-000935
Vuln IDs
  • V-271609
Rule IDs
  • SV-271609r1091539_rule
If cached authentication information is out-of-date, the validity of the authentication information may be questionable.
Checks: C-75659r1091537_chk

Note: If smart card authentication is not being used on the system, this requirement is Not Applicable. Verify that OL 9's System Security Services Daemon (SSSD) prohibits the use of cached authentications after one day. Check that SSSD allows cached authentications with the following command: $ sudo grep cache_credentials /etc/sssd/sssd.conf cache_credentials = true If "cache_credentials" is set to "false" or missing from the configuration file, this is not a finding and no further checks are required. If "cache_credentials" is set to "true", check that SSSD prohibits the use of cached authentications after one day with the following command: $ sudo grep offline_credentials_expiration /etc/sssd/sssd.conf offline_credentials_expiration = 1 If "offline_credentials_expiration" is not set to a value of "1", this is a finding.

Fix: F-75566r1091538_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
OL 9 must use the CAC smart card driver.
IA-2 - Medium - CCI-000764 - V-271610 - SV-271610r1091542_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000764
Version
OL09-00-000940
Vuln IDs
  • V-271610
Rule IDs
  • SV-271610r1091542_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
Checks: C-75660r1091540_chk

Verify that OL 9 loads the CAC driver with the following command: $ grep card_drivers /etc/opensc.conf card_drivers = cac; If "cac" is not listed as a card driver, or there is no line returned for "card_drivers", this is a finding.

Fix: F-75567r1091541_fix

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

b
OL 9 must ensure the password complexity module is enabled in the system-auth file.
CM-6 - Medium - CCI-000366 - V-271611 - SV-271611r1091545_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-001000
Vuln IDs
  • V-271611
Rule IDs
  • SV-271611r1091545_rule
Enabling PAM password complexity permits enforcement of strong passwords and consequently makes the system less prone to dictionary attacks.
Checks: C-75661r1091543_chk

Verify that OL 9 uses "pwquality" to enforce the password complexity rules in the system-auth file with the following command: $ cat /etc/pam.d/system-auth | grep pam_pwquality password required pam_pwquality.so If the command does not return a line containing the value "pam_pwquality.so", or the line is commented out, this is a finding.

Fix: F-75568r1091544_fix

Configure OL 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
OL 9 must ensure the password complexity module in the system-auth file is configured for three retries or less.
- Medium - CCI-004066 - V-271612 - SV-271612r1091548_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
OL09-00-001001
Vuln IDs
  • V-271612
Rule IDs
  • SV-271612r1091548_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. OL 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.
Checks: C-75662r1091546_chk

Verify that OL 9 is configured to limit the "pwquality" retry option to "3". Check for the use of the "pwquality" retry option in the system-auth file with the following command: $ grep pam_pwquality /etc/pam.d/system-auth password required pam_pwquality.so retry=3 If the value of "retry" is set to "0" or greater than "3", or is missing, this is a finding.

Fix: F-75569r1091547_fix

Configure OL 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
OL 9 must enforce password complexity by requiring that at least one uppercase character be used.
- Medium - CCI-004066 - V-271613 - SV-271613r1091551_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
OL09-00-001005
Vuln IDs
  • V-271613
Rule IDs
  • SV-271613r1091551_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.
Checks: C-75663r1091549_chk

Verify that OL 9 enforces password complexity by requiring at least one uppercase character. Check the value for "ucredit" with the following command: $ grep ucredit /etc/security/pwquality.conf /etc/security/pwquality.conf.d/*.conf ucredit = -1 If the value of "ucredit" is a positive number or is commented out, this is a finding.

Fix: F-75570r1091550_fix

Configure OL 9 to enforce password complexity by requiring that at least one uppercase character is 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
OL 9 must ensure the password complexity module is enabled in the password-auth file.
- Medium - CCI-004066 - V-271614 - SV-271614r1091554_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
OL09-00-001010
Vuln IDs
  • V-271614
Rule IDs
  • SV-271614r1091554_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
Checks: C-75664r1091552_chk

Verify that OL 9 uses "pwquality" to enforce the password complexity rules in the password-auth file with the following command: $ grep pam_pwquality /etc/pam.d/password-auth | grep pam_pwquality password required pam_pwquality.so If the command does not return a line containing the value "pam_pwquality.so", or the line is commented out, this is a finding.

Fix: F-75571r1091553_fix

Configure OL 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
OL 9 must enforce password complexity by requiring that at least one lowercase character be used.
- Medium - CCI-004066 - V-271615 - SV-271615r1091557_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
OL09-00-001015
Vuln IDs
  • V-271615
Rule IDs
  • SV-271615r1091557_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.
Checks: C-75665r1091555_chk

Verify that OL 9 enforces password complexity by requiring at least one lowercase character. Check the value for "lcredit" with the following command: $ grep lcredit /etc/security/pwquality.conf /etc/security/pwquality.conf.d/*.conf /etc/security/pwquality.conf:lcredit = -1 If the value of "lcredit" is a positive number or is commented out, this is a finding.

Fix: F-75572r1091556_fix

Configure OL 9 to enforce password complexity by requiring at least one lowercase character is 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
OL 9 must enforce password complexity by requiring that at least one numeric character be used.
- Medium - CCI-004066 - V-271616 - SV-271616r1091560_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
OL09-00-001020
Vuln IDs
  • V-271616
Rule IDs
  • SV-271616r1091560_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.
Checks: C-75666r1091558_chk

Verify that OL 9 enforces password complexity by requiring at least one numeric character. Check the value for "dcredit" with the following command: $ grep dcredit /etc/security/pwquality.conf /etc/security/pwquality.conf.d/*.conf /etc/security/pwquality.conf:dcredit = -1 If the value of "dcredit" is a positive number or is commented out, this is a finding.

Fix: F-75573r1091559_fix

Configure OL 9 to enforce password complexity by requiring at least one numeric character is 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
OL 9 must require the change of at least eight characters when passwords are changed.
- Medium - CCI-004066 - V-271617 - SV-271617r1091563_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
OL09-00-001025
Vuln IDs
  • V-271617
Rule IDs
  • SV-271617r1091563_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.
Checks: C-75667r1091561_chk

Verify that OL 9 requires the change of at least eight characters when passwords are changed. Verify the value of the "difok" option in "/etc/security/pwquality.conf" with the following command: $ grep difok /etc/security/pwquality.conf /etc/security/pwquality.conf.d/*.conf difok = 8 If the value of "difok" is set to less than "8", or is commented out, this is a finding.

Fix: F-75574r1091562_fix

Configure OL 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
OL 9 must require the maximum number of repeating characters of the same character class be limited to four when passwords are changed.
- Medium - CCI-004066 - V-271618 - SV-271618r1091566_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
OL09-00-001030
Vuln IDs
  • V-271618
Rule IDs
  • SV-271618r1091566_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.
Checks: C-75668r1091564_chk

Verify that OL 9 requires the maximum number of repeating characters of the same character class be limited to four when passwords are changed. Verify the value of the "maxclassrepeat" option in "/etc/security/pwquality.conf" with the following command: $ grep maxclassrepeat /etc/security/pwquality.conf /etc/security/pwquality.conf.d/*.conf maxclassrepeat = 4 If the value of "maxclassrepeat" is set to "0", more than "4", or is commented out, this is a finding.

Fix: F-75575r1091565_fix

Configure OL 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
OL 9 must require the maximum number of repeating characters be limited to three when passwords are changed.
- Medium - CCI-004066 - V-271619 - SV-271619r1091569_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
OL09-00-001035
Vuln IDs
  • V-271619
Rule IDs
  • SV-271619r1091569_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.
Checks: C-75669r1091567_chk

Verify that OL 9 requires the maximum number of repeating characters be limited to three when passwords are changed. Verify the value of the "maxrepeat" option in "/etc/security/pwquality.conf" with the following command: $ grep maxrepeat /etc/security/pwquality.conf /etc/security/pwquality.conf.d/*.conf maxrepeat = 3 If the value of "maxrepeat" is set to more than "3", or is commented out, this is a finding.

Fix: F-75576r1091568_fix

Configure OL 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
OL 9 must require the change of at least four character classes when passwords are changed.
- Medium - CCI-004066 - V-271620 - SV-271620r1091572_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
OL09-00-001040
Vuln IDs
  • V-271620
Rule IDs
  • SV-271620r1091572_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.
Checks: C-75670r1091570_chk

Verify that OL 9 requires the change of at least four character classes when passwords are changed. Verify the value of the "minclass" option in "/etc/security/pwquality.conf" with the following command: $ grep minclass /etc/security/pwquality.conf /etc/security/pwquality.conf.d/*.conf minclass = 4 If the value of "minclass" is set to less than "4", or is commented out, this is a finding.

Fix: F-75577r1091571_fix

Configure OL 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
OL 9 must enforce password complexity rules for the root account.
- Medium - CCI-004066 - V-271621 - SV-271621r1091575_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
OL09-00-001045
Vuln IDs
  • V-271621
Rule IDs
  • SV-271621r1091575_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
Checks: C-75671r1091573_chk

Verify that OL 9 enforces password complexity rules for the root account. Check if root user is required to use complex passwords with the following command: $ grep enforce_for_root /etc/security/pwquality.conf /etc/security/pwquality.conf.d/*.conf /etc/security/pwquality.conf:enforce_for_root If "enforce_for_root" is commented or missing, this is a finding.

Fix: F-75578r1091574_fix

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

b
OL 9 must be configured so that user and group account administration utilities are configured to store only encrypted representations of passwords.
- Medium - CCI-004062 - V-271622 - SV-271622r1091578_rule
RMF Control
Severity
Medium
CCI
CCI-004062
Version
OL09-00-001050
Vuln IDs
  • V-271622
Rule IDs
  • SV-271622r1091578_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.
Checks: C-75672r1091576_chk

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

Fix: F-75579r1091577_fix

Configure OL 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
OL 9 must be configured to use the shadow file to store only encrypted representations of passwords.
- Medium - CCI-004062 - V-271623 - SV-271623r1091581_rule
RMF Control
Severity
Medium
CCI
CCI-004062
Version
OL09-00-001055
Vuln IDs
  • V-271623
Rule IDs
  • SV-271623r1091581_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.
Checks: C-75673r1091579_chk

Verify that OL 9 shadow file is configured to store only encrypted representations of passwords with a hash value of "SHA512" with the following command: # grep -i encrypt_method /etc/login.defs ENCRYPT_METHOD SHA512 If "ENCRYPT_METHOD" does not have a value of "SHA512", or the line is commented out, this is a finding.

Fix: F-75580r1091580_fix

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

b
OL 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.
- Medium - CCI-004062 - V-271624 - SV-271624r1091584_rule
RMF Control
Severity
Medium
CCI
CCI-004062
Version
OL09-00-001060
Vuln IDs
  • V-271624
Rule IDs
  • SV-271624r1091584_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. OL 9 systems using 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 use authentication that meets DOD requirements. This allows for Security Levels 1, 2, 3, or 4 for use on a general-purpose computing system.
Checks: C-75674r1091582_chk

Verify that OL 9 pam_unix.so module is configured to use sha512 in /etc/pam.d/password-auth with the following command: $ grep "^password.*pam_unix.so.*sha512" /etc/pam.d/password-auth password sufficient pam_unix.so sha512 If "sha512" is missing, or the line is commented out, this is a finding.

Fix: F-75581r1091583_fix

Configure OL 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
OL 9 password-auth must be configured to use a sufficient number of hashing rounds.
- Medium - CCI-004062 - V-271625 - SV-271625r1091587_rule
RMF Control
Severity
Medium
CCI
CCI-004062
Version
OL09-00-001065
Vuln IDs
  • V-271625
Rule IDs
  • SV-271625r1091587_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
Checks: C-75675r1091585_chk

Verify that OL 9 password-auth is configured to use a sufficient number of hashing rounds with the following command: $ sudo grep rounds /etc/pam.d/password-auth password sufficient pam_unix.so sha512 rounds=100000 If a matching line is not returned or "rounds" is less than "100000", this a finding.

Fix: F-75582r1091586_fix

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

b
OL 9 system-auth must be configured to use a sufficient number of hashing rounds.
- Medium - CCI-004062 - V-271626 - SV-271626r1091590_rule
RMF Control
Severity
Medium
CCI
CCI-004062
Version
OL09-00-001070
Vuln IDs
  • V-271626
Rule IDs
  • SV-271626r1091590_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
Checks: C-75676r1091588_chk

Verify that OL 9 system-auth is configured to use a sufficient number of hashing rounds with the following command: $ sudo grep rounds /etc/pam.d/system-auth password sufficient pam_unix.so sha512 rounds=100000 If a matching line is not returned or "rounds" is less than 100000, this a finding.

Fix: F-75583r1091589_fix

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

b
OL 9 shadow password suite must be configured to use a sufficient number of hashing rounds.
- Medium - CCI-004062 - V-271627 - SV-271627r1091593_rule
RMF Control
Severity
Medium
CCI
CCI-004062
Version
OL09-00-001075
Vuln IDs
  • V-271627
Rule IDs
  • SV-271627r1091593_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
Checks: C-75677r1091591_chk

Verify that OL 9 has a minimum number of hash rounds configured with the following command: $ grep -i sha_crypt /etc/login.defs If "SHA_CRYPT_MIN_ROUNDS" or "SHA_CRYPT_MAX_ROUNDS" is less than "100000", this is a finding.

Fix: F-75584r1091592_fix

Configure OL 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 "100000": SHA_CRYPT_MIN_ROUNDS 100000 SHA_CRYPT_MAX_ROUNDS 100000

b
OL 9 must employ FIPS 140-3 approved cryptographic hashing algorithms for all stored passwords.
- Medium - CCI-004062 - V-271628 - SV-271628r1091596_rule
RMF Control
Severity
Medium
CCI
CCI-004062
Version
OL09-00-001080
Vuln IDs
  • V-271628
Rule IDs
  • SV-271628r1091596_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
Checks: C-75678r1091594_chk

Verify that OL 9 interactive user account passwords are using a strong password hash with the following command: $ sudo cut -d: -f2 /etc/shadow $6$kcOnRq/5$NUEYPuyL.wghQwWssXRcLRFiiru7f5JPV6GaJhNC2aK5F3PZpE/BCCtwrxRc/AInKMNX3CdMw11m9STiql12f/ Password hashes "!" or "*" indicate inactive accounts not available for logon and are not evaluated. If any interactive user password hash does not begin with "$6", this is a finding.

Fix: F-75585r1091595_fix

Lock all interactive user accounts not using SHA-512 hashing until the passwords can be regenerated with SHA-512. To lock an account: $ sudo passwd -l [username]

b
OL 9 passwords for new users or password changes must have a 24-hour minimum password lifetime restriction in /etc/login.defs.
- Medium - CCI-004066 - V-271629 - SV-271629r1091599_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
OL09-00-001085
Vuln IDs
  • V-271629
Rule IDs
  • SV-271629r1091599_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.
Checks: C-75679r1091597_chk

Verify that OL 9 enforces a 24-hour minimum password lifetime for new user accounts. Check for the value of "PASS_MIN_DAYS" in "/etc/login.defs" with the following command: $ grep -i pass_min_days /etc/login.defs PASS_MIN_DAYS 1 If the "PASS_MIN_DAYS" parameter value is not "1" or greater, or is commented out, this is a finding.

Fix: F-75586r1091598_fix

Configure OL 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
OL 9 passwords must have a 24-hour minimum password lifetime restriction in /etc/shadow.
- Medium - CCI-004066 - V-271630 - SV-271630r1091602_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
OL09-00-001090
Vuln IDs
  • V-271630
Rule IDs
  • SV-271630r1091602_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.
Checks: C-75680r1091600_chk

Verify that OL 9 has configured the minimum time period between password changes for each user account as 24 hours or greater with the following command: $ sudo awk -F: '$4 &lt; 1 {print $1 " " $4}' /etc/shadow If any results are returned that are not associated with a system account, this is a finding.

Fix: F-75587r1091601_fix

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

b
OL 9 user account passwords for new users or password changes must have a 60-day maximum password lifetime restriction in /etc/login.defs.
- Medium - CCI-004066 - V-271631 - SV-271631r1091605_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
OL09-00-001095
Vuln IDs
  • V-271631
Rule IDs
  • SV-271631r1091605_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.
Checks: C-75681r1091603_chk

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

Fix: F-75588r1091604_fix

Configure OL 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
OL 9 user account passwords must have a 60-day maximum password lifetime restriction.
- Medium - CCI-004066 - V-271632 - SV-271632r1091608_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
OL09-00-001100
Vuln IDs
  • V-271632
Rule IDs
  • SV-271632r1091608_rule
Any password, no matter how complex, can eventually be cracked; therefore, passwords need to be changed periodically. If OL 9 does not limit the lifetime of passwords and force users to change their passwords, there is the risk that OL 9 passwords could be compromised.
Checks: C-75682r1091606_chk

Verify that OL 9 user account passwords have a 60-day maximum password lifetime restriction with the following commands: $ sudo awk -F: '$5 &gt; 60 {print $1 "" "" $5}' /etc/shadow $ sudo awk -F: '$5 &lt;= 0 {print $1 "" "" $5}' /etc/shadow If any results are returned that are not associated with a system account, this is a finding.

Fix: F-75589r1091607_fix

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

b
OL 9 passwords must be created with a minimum of 15 characters.
- Medium - CCI-004066 - V-271633 - SV-271633r1091611_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
OL09-00-001105
Vuln IDs
  • V-271633
Rule IDs
  • SV-271633r1091611_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. OL 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.
Checks: C-75683r1091609_chk

Verify that OL 9 enforces a minimum 15-character password length with the following command: $ grep minlen /etc/security/pwquality.conf /etc/security/pwquality.conf.d/*.conf minlen = 15 If the command does not return a "minlen" value of "15" or greater, does not return a line, or the line is commented out, this is a finding.

Fix: F-75590r1091610_fix

Configure OL 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

c
OL 9 must not allow blank or null passwords.
CM-6 - High - CCI-000366 - V-271634 - SV-271634r1091614_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
OL09-00-001110
Vuln IDs
  • V-271634
Rule IDs
  • SV-271634r1091614_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.
Checks: C-75684r1091612_chk

Verify that OL 9 does not allow null passwords with the following command: $ grep -i nullok /etc/pam.d/system-auth /etc/pam.d/password-auth If output is produced, this is a finding.

Fix: F-75591r1091613_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
OL 9 must require a boot loader superuser password.
AC-3 - Medium - CCI-000213 - V-271635 - SV-271635r1091617_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-000213
Version
OL09-00-001115
Vuln IDs
  • V-271635
Rule IDs
  • SV-271635r1091617_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.
Checks: C-75685r1091615_chk

Verify that OL 9 requires a boot loader superuser password with the following command: $ sudo grep "superusers" /etc/grub2.cfg password_pbkdf2 superusers-account ${GRUB2_PASSWORD} To verify the boot loader superuser account password has been set, and the password encrypted, run the following command: $ sudo cat /boot/grub2/user.cfg GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.C4E08AC72FBFF7E837FD267BFAD7AEB3D42DDC 2C99F2A94DD5E2E75C2DC331B719FE55D9411745F82D1B6CFD9E927D61925F9BBDD1CFAA0080E0 916F7AB46E0D.1302284FCCC52CD73BA3671C6C12C26FF50BA873293B24EE2A96EE3B57963E6D7 0C83964B473EC8F93B07FE749AA6710269E904A9B08A6BBACB00A2D242AD828 If a "GRUB2_PASSWORD" is not set, this is a finding.

Fix: F-75592r1091616_fix

Configure OL 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
OL 9 must enforce password complexity by requiring that at least one special character be used.
- Medium - CCI-004066 - V-271636 - SV-271636r1091620_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
OL09-00-001120
Vuln IDs
  • V-271636
Rule IDs
  • SV-271636r1091620_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. OL 9 uses "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".
Checks: C-75686r1091618_chk

Verify that OL 9 enforces password complexity by requiring at least one special character with the following command: $ sudo grep ocredit /etc/security/pwquality.conf /etc/security/pwquality.conf.d/*.conf ocredit = -1 If the value of "ocredit" is a positive number or is commented out, this is a finding.

Fix: F-75593r1091619_fix

Configure OL 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
OL 9 must prevent the use of dictionary words for passwords.
CM-6 - Medium - CCI-000366 - V-271637 - SV-271637r1091623_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-001125
Vuln IDs
  • V-271637
Rule IDs
  • SV-271637r1091623_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 OL 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.
Checks: C-75687r1091621_chk

Verify that OL 9 prevents the use of dictionary words for passwords with the following command: $ grep dictcheck /etc/security/pwquality.conf /etc/pwquality.conf.d/*.conf /etc/security/pwquality.conf:dictcheck=1 If "dictcheck" does not have a value other than "0", or is commented out, this is a finding.

Fix: F-75594r1091622_fix

Configure OL 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
OL 9 must not have accounts configured with blank or null passwords.
CM-6 - Medium - CCI-000366 - V-271638 - SV-271638r1091626_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-001130
Vuln IDs
  • V-271638
Rule IDs
  • SV-271638r1091626_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.
Checks: C-75688r1091624_chk

Verify that OL 9 does not have accounts configured with blank or null passwords with the following command: $ sudo awk -F: '!$2 {print $1}' /etc/shadow If the command returns any results, this is a finding.

Fix: F-75595r1091625_fix

Configure OL 9 so that all accounts 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
OL 9 file system automount function must be disabled unless required.
IA-3 - Medium - CCI-000778 - V-271639 - SV-271639r1091629_rule
RMF Control
IA-3
Severity
Medium
CCI
CCI-000778
Version
OL09-00-002000
Vuln IDs
  • V-271639
Rule IDs
  • SV-271639r1091629_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
Checks: C-75689r1091627_chk

Verify that OL 9 file system automount function has been disabled and masked with the following command: $ systemctl is-enabled autofs masked If the returned value is not "masked" and is not documented as operational requirement with the information system security officer (ISSO), this is a finding.

Fix: F-75596r1091628_fix

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

b
OL 9 must be configured so that the Network File System (NFS) is configured to use RPCSEC_GSS.
CM-6 - Medium - CCI-000366 - V-271640 - SV-271640r1091632_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002010
Vuln IDs
  • V-271640
Rule IDs
  • SV-271640r1091632_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 authenticate the remote mount request more securely.
Checks: C-75690r1091630_chk

If no NFS mounts are configured, this requirement is Not Applicable. Verify that OL 9 has the "sec" option configured for all NFS mounts with the following command: $ cat /etc/fstab | grep nfs 192.168.22.2:/mnt/export /data nfs4 rw,nosuid,nodev,noexec,sync,soft,sec=krb5p:krb5i:krb5 If the system is mounting file systems via NFS and has the sec option without the "krb5:krb5i:krb5p" settings, the "sec" option has the "sys" setting, or the "sec" option is missing, this is a finding.

Fix: F-75597r1091631_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
OL 9 must prevent special devices on file systems that are imported via Network File System (NFS).
CM-6 - Medium - CCI-000366 - V-271641 - SV-271641r1091635_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002011
Vuln IDs
  • V-271641
Rule IDs
  • SV-271641r1091635_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.
Checks: C-75691r1091633_chk

If no NFS mounts are configured, this requirement is Not Applicable. Verify that OL 9 has the "nodev" option configured for all NFS mounts with the following command: $ cat /etc/fstab | grep nfs 192.168.22.2:/mnt/export /data nfs4 rw,nosuid,nodev,noexec,sync,soft,sec=krb5:krb5i:krb5p If the system is mounting file systems via NFS and the "nodev" option is missing, this is a finding.

Fix: F-75598r1091634_fix

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

b
OL 9 must prevent code from being executed on file systems that are imported via Network File System (NFS).
CM-6 - Medium - CCI-000366 - V-271642 - SV-271642r1092593_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002012
Vuln IDs
  • V-271642
Rule IDs
  • SV-271642r1092593_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.
Checks: C-75692r1091636_chk

If no NFS mounts are configured, this requirement is Not Applicable. Verify that OL 9 has the "noexec" option configured for all NFS mounts with the following command: $ cat /etc/fstab | grep nfs 192.168.22.2:/mnt/export /data nfs4 rw,nosuid,nodev,noexec,sync,soft,sec=krb5:krb5i:krb5p If the system is mounting file systems via NFS and the "noexec" option is missing, this is a finding.

Fix: F-75599r1091637_fix

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

b
OL 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).
CM-6 - Medium - CCI-000366 - V-271643 - SV-271643r1091641_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002013
Vuln IDs
  • V-271643
Rule IDs
  • SV-271643r1091641_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.
Checks: C-75693r1091639_chk

If no NFS mounts are configured, this requirement is Not Applicable. Verify that OL 9 has the "nosuid" option configured for all NFS mounts with the following command: $ cat /etc/fstab | grep nfs 192.168.22.2:/mnt/export /data nfs4 rw,nosuid,nodev,noexec,sync,soft,sec=krb5:krb5i:krb5p If the system is mounting file systems via NFS and the "nosuid" option is missing, this is a finding.

Fix: F-75600r1091640_fix

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

b
OL 9 must prevent code from being executed on file systems that are used with removable media.
CM-6 - Medium - CCI-000366 - V-271644 - SV-271644r1091644_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002020
Vuln IDs
  • V-271644
Rule IDs
  • SV-271644r1091644_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 files, as they may be incompatible. Executing files from untrusted file systems increases the opportunity for nonprivileged users to attain unauthorized administrative access.
Checks: C-75694r1091642_chk

Verify that OL 9 file systems that are used for removable media are mounted with the "noexec" option with the following command: $ more /etc/fstab UUID=2bc871e4-e2a3-4f29-9ece-3be60c835222 /mnt/usbflash vfat noauto,owner,ro,nosuid,nodev,noexec 0 0 If a file system found in "/etc/fstab" refers to removable media and it does not have the "noexec" option set, this is a finding.

Fix: F-75601r1091643_fix

Configure the "/etc/fstab" to use the "noexec" option on file systems that are associated with removable media.

b
OL 9 must prevent special devices on file systems that are used with removable media.
CM-6 - Medium - CCI-000366 - V-271645 - SV-271645r1091647_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002021
Vuln IDs
  • V-271645
Rule IDs
  • SV-271645r1091647_rule
The "nodev" mount option causes the system not to interpret character or block special devices. Executing character or blocking special devices from untrusted file systems increases the opportunity for nonprivileged users to attain unauthorized administrative access.
Checks: C-75695r1091645_chk

Verify that OL 9 file systems that are used for removable media are mounted with the "nodev" option with the following command: $ more /etc/fstab UUID=2bc871e4-e2a3-4f29-9ece-3be60c835222 /mnt/usbflash vfat noauto,owner,ro,nosuid,nodev,noexec 0 0 If a file system found in "/etc/fstab" refers to removable media and it does not have the "nodev" option set, this is a finding.

Fix: F-75602r1091646_fix

Configure the "/etc/fstab" to use the "nodev" option on file systems that are associated with removable media.

b
OL 9 must prevent files with the setuid and setgid bit set from being executed on file systems that are used with removable media.
CM-6 - Medium - CCI-000366 - V-271646 - SV-271646r1091650_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002022
Vuln IDs
  • V-271646
Rule IDs
  • SV-271646r1091650_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.
Checks: C-75696r1091648_chk

Verify that OL 9 file systems that are used for removable media are mounted with the "nosuid" option with the following command: $ more /etc/fstab UUID=2bc871e4-e2a3-4f29-9ece-3be60c835222 /mnt/usbflash vfat noauto,owner,ro,nosuid,nodev,noexec 0 0 If a file system found in "/etc/fstab" refers to removable media and it does not have the "nosuid" option set, this is a finding.

Fix: F-75603r1091649_fix

Configure the "/etc/fstab" to use the "nosuid" option on file systems that are associated with removable media.

b
OL 9 must mount /boot with the nodev option.
CM-7 - Medium - CCI-001764 - V-271647 - SV-271647r1091653_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
OL09-00-002030
Vuln IDs
  • V-271647
Rule IDs
  • SV-271647r1091653_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.
Checks: C-75697r1091651_chk

Verify that OL 9 is configured to mount /boot with the nodev option. Verify that the "/boot" mount point has the "nodev" option is with the following command: $ mount | grep '\s/boot\s' /dev/sda1 on /boot type xfs (rw,nodev,relatime,seclabel,attr2) If the "/boot" file system does not have the "nodev" option set, this is a finding.

Fix: F-75604r1091652_fix

Configure OL 9 to mount /boot with the nodev option. Modify "/etc/fstab" to use the "nodev" option on the "/boot" directory.

b
OL 9 must prevent files with the setuid and setgid bit set from being executed on the /boot directory.
CM-7 - Medium - CCI-001764 - V-271648 - SV-271648r1091656_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
OL09-00-002031
Vuln IDs
  • V-271648
Rule IDs
  • SV-271648r1091656_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.
Checks: C-75698r1091654_chk

Verify that OL 9 is configured to mount /boot with the nosuid option. Verify that the /boot directory is mounted with the "nosuid" option with the following command: $ mount | grep '\s/boot\s' /dev/sda1 on /boot type xfs (rw,nosuid,relatime,seclabe,attr2,inode64,noquota) If the /boot file system does not have the "nosuid" option set, this is a finding.

Fix: F-75605r1091655_fix

Configure OL 9 to prevent files with the setuid and setgid bit set from being executed on the /boot directory. Modify "/etc/fstab" to use the "nosuid" option on the "/boot" directory.

b
OL 9 must prevent files with the setuid and setgid bit set from being executed on the /boot/efi directory.
CM-7 - Medium - CCI-001764 - V-271649 - SV-271649r1091659_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
OL09-00-002032
Vuln IDs
  • V-271649
Rule IDs
  • SV-271649r1091659_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.
Checks: C-75699r1091657_chk

For systems that use BIOS, this requirement is Not Applicable. Verify that OL 9 /boot/efi directory is mounted with the "nosuid" option with the following command: $ mount | grep '\s/boot/efi\s' /dev/sda1 on /boot/efi type vfat (rw,nosuid,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=winnt,errors=remount-ro) If the /boot/efi file system does not have the "nosuid" option set, this is a finding.

Fix: F-75606r1091658_fix

Configure OL 9 to prevent files with the setuid and setgid bit set from being executed on the /boot/efi directory. Modify "/etc/fstab" to use the "nosuid" option on the "/boot/efi" directory.

b
OL 9 must mount /dev/shm with the nodev option.
CM-7 - Medium - CCI-001764 - V-271650 - SV-271650r1091662_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
OL09-00-002040
Vuln IDs
  • V-271650
Rule IDs
  • SV-271650r1091662_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.
Checks: C-75700r1091660_chk

Verify that OL 9 is configured to mount /dev/shm with the nodev option. Verify "/dev/shm" is mounted with the "nodev" option with the following command: $ mount | grep /dev/shm tmpfs on /dev/shm type tmpfs (rw,nodev,nosuid,noexec,seclabel) If the /dev/shm file system is mounted without the "nodev" option, this is a finding.

Fix: F-75607r1091661_fix

Configure OL 9 to mount /dev/shm with the nodev option. Modify "/etc/fstab" to use the "nodev" option on the "/dev/shm" file system.

b
OL 9 must mount /dev/shm with the noexec option.
CM-7 - Medium - CCI-001764 - V-271651 - SV-271651r1091665_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
OL09-00-002041
Vuln IDs
  • V-271651
Rule IDs
  • SV-271651r1091665_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.
Checks: C-75701r1091663_chk

Verify that OL 9 is configured to mount /dev/shm with the noexec option. Verify "/dev/shm" is mounted with the "noexec" option with the following command: $ mount | grep /dev/shm tmpfs on /dev/shm type tmpfs (rw,nodev,nosuid,noexec,seclabel) If the /dev/shm file system is mounted without the "noexec" option, this is a finding.

Fix: F-75608r1091664_fix

Configure OL 9 to mount /dev/shm with the noexec option. Modify "/etc/fstab" to use the "noexec" option on the "/dev/shm" file system.

b
OL 9 must mount /dev/shm with the nosuid option.
CM-7 - Medium - CCI-001764 - V-271652 - SV-271652r1094966_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
OL09-00-002042
Vuln IDs
  • V-271652
Rule IDs
  • SV-271652r1094966_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.
Checks: C-75702r1094965_chk

Verify that OL 9 is configured to mount /dev/shm with the nosuid option. Verify "/dev/shm" is mounted with the "nosuid" option with the following command: $ mount | grep /dev/shm tmpfs on /dev/shm type tmpfs (rw,nodev,nosuid,noexec,seclabel) If the /dev/shm file system is mounted without the "nosuid" option, this is a finding.

Fix: F-75609r1091667_fix

Configure OL 9 to mount /dev/shm with the nosuid option. Modify "/etc/fstab" to use the "nosuid" option on the "/dev/shm" file system.

b
OL 9 must mount /tmp with the nodev option.
CM-7 - Medium - CCI-001764 - V-271653 - SV-271653r1091671_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
OL09-00-002050
Vuln IDs
  • V-271653
Rule IDs
  • SV-271653r1091671_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.
Checks: C-75703r1091669_chk

Verify that OL 9 is configured to mount /tmp with the nodev option. Verify "/tmp" is mounted with the "nodev" option: $ mount | grep /tmp /dev/mapper/ol-tmp on /tmp type xfs (rw,nodev,nosuid,noexec,seclabel) If the "/tmp" file system is mounted without the "nodev" option, this is a finding.

Fix: F-75610r1091670_fix

Configure OL 9 to mount /tmp with the nodev option. Modify "/etc/fstab" to use the "nodev" option on the "/tmp" directory.

b
OL 9 must mount /tmp with the noexec option.
CM-7 - Medium - CCI-001764 - V-271654 - SV-271654r1091674_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
OL09-00-002051
Vuln IDs
  • V-271654
Rule IDs
  • SV-271654r1091674_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.
Checks: C-75704r1091672_chk

Verify that OL 9 is configured to mount /tmp with the noexec option. Verify "/tmp" is mounted with the "noexec" option: $ mount | grep /tmp /dev/mapper/ol-tmp on /tmp type xfs (rw,nodev,nosuid,noexec,seclabel) If the "/tmp" file system is mounted without the "noexec" option, this is a finding.

Fix: F-75611r1091673_fix

Configure OL 9 to mount /tmp with the noexec option. Modify "/etc/fstab" to use the "noexec" option on the "/tmp" directory.

b
OL 9 must mount /tmp with the nosuid option.
CM-7 - Medium - CCI-001764 - V-271655 - SV-271655r1091677_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
OL09-00-002052
Vuln IDs
  • V-271655
Rule IDs
  • SV-271655r1091677_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.
Checks: C-75705r1091675_chk

Verify that OL 9 is configured to mount /tmp with the nosuid option. Verify "/tmp" is mounted with the "nosuid" option: $ mount | grep /tmp /dev/mapper/ol-tmp on /tmp type xfs (rw,nodev,nosuid,noexec,seclabel) If the "/tmp" file system is mounted without the "nosuid" option, this is a finding.

Fix: F-75612r1091676_fix

Configure OL 9 to mount /tmp with the nosuid option. Modify "/etc/fstab" to use the "nosuid" option on the "/tmp" directory.

b
OL 9 must mount /var with the nodev option.
CM-7 - Medium - CCI-001764 - V-271656 - SV-271656r1091680_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
OL09-00-002060
Vuln IDs
  • V-271656
Rule IDs
  • SV-271656r1091680_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.
Checks: C-75706r1091678_chk

Verify that OL 9 is configured to mount /var with the nodev option. Verify "/var" is mounted with the "nodev" option: $ mount | grep /var /dev/mapper/ol-var on /var type xfs (rw,nodev,nosuid,noexec,seclabel) If the "/var" file system is mounted without the "nodev" option, this is a finding.

Fix: F-75613r1091679_fix

Configure OL 9 to mount /var with the nodev option. Modify "/etc/fstab" to use the "nodev" option on the "/var" directory.

b
OL 9 must mount /var/log with the nodev option.
CM-7 - Medium - CCI-001764 - V-271657 - SV-271657r1091683_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
OL09-00-002061
Vuln IDs
  • V-271657
Rule IDs
  • SV-271657r1091683_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.
Checks: C-75707r1091681_chk

Verify that OL 9 is configured to mount /var/log with the nodev option. Verify "/var/log" is mounted with the "nodev" option: $ mount | grep /var/log /dev/mapper/ol-var-log on /var/log type xfs (rw,nodev,nosuid,noexec,seclabel) If the "/var/log" file system is mounted without the "nodev" option, this is a finding.

Fix: F-75614r1091682_fix

Configure OL 9 to mount /var/log with the nodev option. Modify "/etc/fstab" to use the "nodev" option on the "/var/log" directory.

b
OL 9 must mount /var/log with the noexec option.
CM-7 - Medium - CCI-001764 - V-271658 - SV-271658r1091686_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
OL09-00-002062
Vuln IDs
  • V-271658
Rule IDs
  • SV-271658r1091686_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.
Checks: C-75708r1091684_chk

Verify that OL 9 is configured to mount /var/log with the noexec option. Verify "/var/log" is mounted with the "noexec" option: $ mount | grep /var/log /dev/mapper/ol-var-log on /var/log type xfs (rw,nodev,nosuid,noexec,seclabel) If the "/var/log" file system is mounted without the "noexec" option, this is a finding.

Fix: F-75615r1091685_fix

Configure OL 9 to mount /var/log with the noexec option. Modify "/etc/fstab" to use the "noexec" option on the "/var/log" directory.

b
OL 9 must mount /var/log with the nosuid option.
CM-7 - Medium - CCI-001764 - V-271659 - SV-271659r1091689_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
OL09-00-002063
Vuln IDs
  • V-271659
Rule IDs
  • SV-271659r1091689_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.
Checks: C-75709r1091687_chk

Verify that OL 9 is configured to mount /var/log with the nosuid option. Verify "/var/log" is mounted with the "nosuid" option: $ mount | grep /var/log /dev/mapper/ol-var-log on /var/log type xfs (rw,nodev,nosuid,noexec,seclabel) If the "/var/log" file system is mounted without the "nosuid" option, this is a finding.

Fix: F-75616r1091688_fix

Configure OL 9 to mount /var/log with the nosuid option. Modify "/etc/fstab" to use the "nosuid" option on the "/var/log" directory.

b
OL 9 must mount /var/log/audit with the nodev option.
CM-7 - Medium - CCI-001764 - V-271660 - SV-271660r1091692_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
OL09-00-002064
Vuln IDs
  • V-271660
Rule IDs
  • SV-271660r1091692_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.
Checks: C-75710r1091690_chk

Verify that OL 9 is configured to mount /var/log/audit with the nodev option. Verify "/var/log/audit" is mounted with the "nodev" option: $ mount | grep /var/log/audit /dev/mapper/ol-var-log-audit on /var/log/audit type xfs (rw,nodev,nosuid,noexec,seclabel) If the "/var/log/audit" file system is mounted without the "nodev" option, this is a finding.

Fix: F-75617r1091691_fix

Configure OL 9 to mount /var/log/audit with the nodev option. Modify "/etc/fstab" to use the "nodev" option on the "/var/log/audit" directory.

b
OL 9 must mount /var/log/audit with the noexec option.
CM-7 - Medium - CCI-001764 - V-271661 - SV-271661r1091695_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
OL09-00-002065
Vuln IDs
  • V-271661
Rule IDs
  • SV-271661r1091695_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.
Checks: C-75711r1091693_chk

Verify that OL 9 is configured to mount /var/log/audit with the noexec option. Verify "/var/log/audit" is mounted with the "noexec" option: $ mount | grep /var/log/audit /dev/mapper/ol-var-log-audit on /var/log/audit type xfs (rw,nodev,nosuid,noexec,seclabel) If the "/var/log/audit" file system is mounted without the "noexec" option, this is a finding.

Fix: F-75618r1091694_fix

Configure OL 9 to mount /var/log/audit with the noexec option. Modify "/etc/fstab" to use the "noexec" option on the "/var/log/audit" directory.

b
OL 9 must mount /var/log/audit with the nosuid option.
CM-7 - Medium - CCI-001764 - V-271662 - SV-271662r1091698_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
OL09-00-002066
Vuln IDs
  • V-271662
Rule IDs
  • SV-271662r1091698_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.
Checks: C-75712r1091696_chk

Verify that OL 9 is configured to mount /var/log/audit with the nosuid option. Verify "/var/log/audit" is mounted with the "nosuid" option: $ mount | grep /var/log/audit /dev/mapper/ol-var-log-audit on /var/log/audit type xfs (rw,nodev,nosuid,noexec,seclabel) If the "/var/log/audit" file system is mounted without the "nosuid" option, this is a finding.

Fix: F-75619r1091697_fix

Configure OL 9 to mount /var/log/audit with the nosuid option. Modify "/etc/fstab" to use the "nosuid" option on the "/var/log/audit" directory.

b
OL 9 must mount /var/tmp with the nodev option.
CM-7 - Medium - CCI-001764 - V-271663 - SV-271663r1091701_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
OL09-00-002067
Vuln IDs
  • V-271663
Rule IDs
  • SV-271663r1091701_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.
Checks: C-75713r1091699_chk

Verify that OL 9 is configured to mount /var/tmp with the nodev option. Verify "/var/tmp" is mounted with the "nodev" option: $ mount | grep /var/tmp /dev/mapper/ol-var-tmp on /var/tmp type xfs (rw,nodev,nosuid,noexec,seclabel) If the "/var/tmp" file system is mounted without the "nodev" option, this is a finding.

Fix: F-75620r1091700_fix

Configure OL 9 to mount /var/tmp with the nodev option. Modify "/etc/fstab" to use the "nodev" option on the "/var/tmp" directory.

b
OL 9 must mount /var/tmp with the noexec option.
CM-7 - Medium - CCI-001764 - V-271664 - SV-271664r1091704_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
OL09-00-002068
Vuln IDs
  • V-271664
Rule IDs
  • SV-271664r1091704_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.
Checks: C-75714r1091702_chk

Verify that OL 9 is configured to mount /var/tmp with the noexec option. Verify "/var/tmp" is mounted with the "noexec" option: $ mount | grep /var/tmp /dev/mapper/ol-var-tmp on /var/tmp type xfs (rw,nodev,nosuid,noexec,seclabel) If the "/var/tmp" file system is mounted without the "noexec" option, this is a finding.

Fix: F-75621r1091703_fix

Configure OL 9 to mount /var/tmp with the noexec option. Modify "/etc/fstab" to use the "noexec" option on the "/var/tmp" directory.

b
OL 9 must mount /var/tmp with the nosuid option.
CM-7 - Medium - CCI-001764 - V-271665 - SV-271665r1091707_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
OL09-00-002069
Vuln IDs
  • V-271665
Rule IDs
  • SV-271665r1091707_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.
Checks: C-75715r1091705_chk

Verify that OL 9 is configured to mount /var/tmp with the nosuid option. Verify "/var/tmp" is mounted with the "nosuid" option: $ mount | grep /var/tmp /dev/mapper/ol-var-tmp on /var/tmp type xfs (rw,nodev,nosuid,noexec,seclabel) If the "/var/tmp" file system is mounted without the "nosuid" option, this is a finding.

Fix: F-75622r1091706_fix

Configure OL 9 to mount /var/tmp with the nosuid option. Modify "/etc/fstab" to use the "nosuid" option on the "/var/tmp" directory.

b
OL 9 must prevent device files from being interpreted on file systems that contain user home directories.
CM-7 - Medium - CCI-001764 - V-271666 - SV-271666r1091710_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
OL09-00-002070
Vuln IDs
  • V-271666
Rule IDs
  • SV-271666r1091710_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.
Checks: C-75716r1091708_chk

Verify that OL 9 is configured to mount /home with the nodev option. Verify "/home" is mounted with the "nodev" option with the following command: Note: If a separate file system has not been created for the user home directories (user home directories are mounted under "/"), this is automatically a finding, as the "nodev" option cannot be used on the "/" system. $ mount | grep /home tmpfs on /home type tmpfs (rw,nodev,nosuid,noexec,seclabel) If the "/home" file system is mounted without the "nodev" option, this is a finding.

Fix: F-75623r1091709_fix

Configure OL 9 to prevent device files from being interpreted on file systems that contain user home directories. Modify "/etc/fstab" to use the "nodev" option on the "/home" directory.

b
OL 9 must prevent files with the setuid and setgid bit set from being executed on file systems that contain user home directories.
CM-7 - Medium - CCI-001764 - V-271667 - SV-271667r1091713_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
OL09-00-002071
Vuln IDs
  • V-271667
Rule IDs
  • SV-271667r1091713_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.
Checks: C-75717r1091711_chk

Verify that OL 9 is configured to mount /home with the nosuid option. Verify "/home" is mounted with the "nosuid" option with the following command: Note: If a separate file system has not been created for the user home directories (user home directories are mounted under "/"), this is automatically a finding, as the "nosuid" option cannot be used on the "/" system. $ mount | grep /home tmpfs on /home type tmpfs (rw,nodev,nosuid,noexec,seclabel) If the "/home" file system is mounted without the "nosuid" option, this is a finding.

Fix: F-75624r1091712_fix

Configure OL 9 to prevent files with the setuid and setgid bit set from being executed on file systems that contain user home directories. Modify "/etc/fstab" to use the "nosuid" option on the "/home" directory.

b
OL 9 must prevent code from being executed on file systems that contain user home directories.
CM-6 - Medium - CCI-000366 - V-271668 - SV-271668r1091716_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002072
Vuln IDs
  • V-271668
Rule IDs
  • SV-271668r1091716_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.
Checks: C-75718r1091714_chk

Verify that OL 9 is configured to mount /home with the nodexec option. Verify "/home" is mounted with the "noexec" option with the following command: Note: If a separate file system has not been created for the user home directories (user home directories are mounted under "/"), this is automatically a finding, as the "noexec" option cannot be used on the "/" system. $ mount | grep /home tmpfs on /home type xfs (rw,nodev,nosuid,noexec,seclabel) If the "/home" file system is mounted without the "noexec" option, this is a finding.

Fix: F-75625r1091715_fix

Configure OL 9 to prevent code from being executed on file systems that contain user home directories. Modify "/etc/fstab" to use the "noexec" option on the "/home" directory.

b
OL 9 must prevent special devices on nonroot local partitions.
CM-6 - Medium - CCI-000366 - V-271669 - SV-271669r1091719_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002080
Vuln IDs
  • V-271669
Rule IDs
  • SV-271669r1091719_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.
Checks: C-75719r1091717_chk

Verify that OL 9 prevents special devices on nonroot local partitions. Verify all nonroot local partitions are mounted with the "nodev" option with the following command: $ mount | grep '^/dev\S* on /\S' | grep --invert-match 'nodev' If any output is produced, this is a finding.

Fix: F-75626r1091718_fix

Configure the "/etc/fstab" to use the "nodev" option on all nonroot local partitions.

b
OL 9 must disable the graphical user interface automount function unless required.
IA-3 - Medium - CCI-000778 - V-271670 - SV-271670r1091722_rule
RMF Control
IA-3
Severity
Medium
CCI
CCI-000778
Version
OL09-00-002100
Vuln IDs
  • V-271670
Rule IDs
  • SV-271670r1091722_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
Checks: C-75720r1091720_chk

This requirement assumes the use of the OL 9 default graphical user interface—the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Verify that OL 9 disables the graphical user interface automount function with the following command: $ gsettings get org.gnome.desktop.media-handling automount-open false If "automount-open" is set to "true", and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-75627r1091721_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 Update the dconf system databases: $ sudo dconf update

b
OL 9 must disable the graphical user interface autorun function unless required.
CM-7 - Medium - CCI-001764 - V-271671 - SV-271671r1091725_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
OL09-00-002101
Vuln IDs
  • V-271671
Rule IDs
  • SV-271671r1091725_rule
Allowing autorun commands to execute may introduce malicious code to a system. Configuring this setting prevents autorun commands from executing.
Checks: C-75721r1091723_chk

This requirement assumes the use of the OL 9 default graphical user interface—the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Verify that OL 9 disables the graphical user interface autorun function with the following command: $ gsettings get org.gnome.desktop.media-handling autorun-never true If "autorun-never" is set to "false", and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-75628r1091724_fix

Configure the GNOME desktop to disable the autorun function on 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] autorun-never=true Update the dconf system databases: $ sudo dconf update

b
OL 9 must disable the user list at logon for graphical user interfaces.
CM-6 - Medium - CCI-000366 - V-271672 - SV-271672r1092631_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002102
Vuln IDs
  • V-271672
Rule IDs
  • SV-271672r1092631_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.
Checks: C-75722r1091726_chk

This requirement assumes the use of the OL 9 default graphical user interface—the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Verify that OL 9 disables the user logon list for graphical user interfaces with the following command: $ gsettings get org.gnome.login-screen disable-user-list true If the setting is "false", this is a finding.

Fix: F-75629r1092630_fix

Configure OL 9 to disable the user list at logon for graphical user interfaces. Create a database to contain the systemwide screensaver settings (if it does not already exist) with the following command: Note: The example below is using the database "local" for the system, so if the system is using another database in "/etc/dconf/profile/user", the file should be created under the appropriate subdirectory. $ 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
OL 9 must initiate a session lock for graphical user interfaces when the screensaver is activated.
AC-11 - Medium - CCI-000057 - V-271673 - SV-271673r1091731_rule
RMF Control
AC-11
Severity
Medium
CCI
CCI-000057
Version
OL09-00-002103
Vuln IDs
  • V-271673
Rule IDs
  • SV-271673r1091731_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 logout because of the temporary nature of the absence.
Checks: C-75723r1091729_chk

This requirement assumes the use of the OL 9 default graphical user interface—the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Verify that OL 9 initiates a session lock for graphical user interfaces when the screensaver is activated with the following command: $ gsettings get org.gnome.desktop.screensaver lock-delay uint32 5 If the "uint32" setting is not set to "5" or less, or is missing, this is a finding.

Fix: F-75630r1091730_fix

Configure OL 9 to initiate a session lock for graphical user interfaces when a screensaver is activated. 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/00-screensaver [org/gnome/desktop/screensaver] lock-delay=uint32 5 The "uint32" must be included along with the integer key values as shown. Update the system databases: $ sudo dconf update

b
OL 9 must automatically lock graphical user sessions after 15 minutes of inactivity.
AC-11 - Medium - CCI-000057 - V-271674 - SV-271674r1091734_rule
RMF Control
AC-11
Severity
Medium
CCI
CCI-000057
Version
OL09-00-002104
Vuln IDs
  • V-271674
Rule IDs
  • SV-271674r1091734_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
Checks: C-75724r1091732_chk

This requirement assumes the use of the OL 9 default graphical user interface—the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Verify that OL 9 initiates a session lock after a 15-minute period of inactivity for graphical user interfaces with the following command: $ gsettings get org.gnome.desktop.session idle-delay uint32 900 If "idle-delay" is set to "0" or a value greater than "900", this is a finding.

Fix: F-75631r1091733_fix

Configure OL 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
OL 9 must conceal, via the session lock, information previously visible on the display with a publicly viewable image.
AC-11 - Medium - CCI-000060 - V-271676 - SV-271676r1091740_rule
RMF Control
AC-11
Severity
Medium
CCI
CCI-000060
Version
OL09-00-002106
Vuln IDs
  • V-271676
Rule IDs
  • SV-271676r1091740_rule
Setting the screensaver mode to blank-only conceals the contents of the display from passersby.
Checks: C-75726r1091738_chk

This requirement assumes the use of the OL 9 default graphical user interface—the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Verify that OL 9 configures the screensaver to be blank with the following command: $ gsettings get org.gnome.desktop.screensaver picture-uri If properly configured, the output should be "''". To ensure that users cannot set the screensaver background, run the following: $ grep picture-uri /etc/dconf/db/local.d/locks/* If properly configured, the output should be "/org/gnome/desktop/screensaver/picture-uri". If it is not set or configured properly, this is a finding.

Fix: F-75633r1091739_fix

Configure OL 9 to conceal, via the session lock, information previously visible on the display with a publicly viewable image. The dconf settings can be edited in the /etc/dconf/db/* location. 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='' 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 Update the dconf system databases: $ sudo dconf update

b
OL 9 must disable the ability of a user to accidentally press Ctrl-Alt-Del and cause a system to shut down or reboot.
CM-6 - Medium - CCI-000366 - V-271677 - SV-271677r1091743_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002107
Vuln IDs
  • V-271677
Rule IDs
  • SV-271677r1091743_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.
Checks: C-75727r1091741_chk

This requirement assumes the use of the OL 9 default graphical user interface—the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Verify that OL 9 is configured to ignore the Ctrl-Alt-Del sequence in the GNOME desktop with the following command: $ gsettings get org.gnome.settings-daemon.plugins.media-keys logout "['']" If the GNOME desktop is configured to shut down when Ctrl-Alt-Del is pressed, this is a finding.

Fix: F-75634r1091742_fix

Configure OL 9 to ignore the Ctrl-Alt-Del sequence in the GNOME desktop. Add or update the [org/gnome/settings-daemon/plugins/media-keys] section of the /etc/dconf/db/local.d/00-security-settings database file and add or update the following lines: [org/gnome/settings-daemon/plugins/media-keys] logout=[''] Run the following command to update the database: $ sudo dconf update

b
OL 9 must prevent a user from overriding the disabling of the graphical user interface automount function.
IA-3 - Medium - CCI-000778 - V-271678 - SV-271678r1091746_rule
RMF Control
IA-3
Severity
Medium
CCI
CCI-000778
Version
OL09-00-002120
Vuln IDs
  • V-271678
Rule IDs
  • SV-271678r1091746_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
Checks: C-75728r1091744_chk

This requirement assumes the use of the OL 9 default graphical user interface—the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Verify that OL 9 disables ability of the user to override the graphical user interface automount setting. Determine which profile the system database is using with the following command: $ grep system-db /etc/dconf/profile/user system-db:local Check that the automount setting is locked from nonprivileged user modification with the following command: Note: The example below is using the database "local" for the system, so the path is "/etc/dconf/db/local.d". This path must be modified if a database other than "local" is being used. $ grep 'automount-open' /etc/dconf/db/local.d/locks/* /org/gnome/desktop/media-handling/automount-open If the command does not return at least the example result, this is a finding.

Fix: F-75635r1091745_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 Update the dconf system databases: $ sudo dconf update

b
OL 9 must prevent a user from overriding the disabling of the graphical user interface autorun function.
IA-3 - Medium - CCI-000778 - V-271679 - SV-271679r1091749_rule
RMF Control
IA-3
Severity
Medium
CCI
CCI-000778
Version
OL09-00-002121
Vuln IDs
  • V-271679
Rule IDs
  • SV-271679r1091749_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
Checks: C-75729r1091747_chk

This requirement assumes the use of the OL 9 default graphical user interface—the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Verify that OL 9 disables ability of the user to override the graphical user interface autorun setting. Determine which profile the system database is using with the following command: $ grep system-db /etc/dconf/profile/user system-db:local Check that the automount setting is locked from nonprivileged user modification with the following command: Note: The example below is using the database "local" for the system, so the path is "/etc/dconf/db/local.d". This path must be modified if a database other than "local" is being used. $ grep 'autorun-never' /etc/dconf/db/local.d/locks/* /org/gnome/desktop/media-handling/autorun-never If the command does not return at least the example result, this is a finding.

Fix: F-75636r1091748_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 Update the dconf system databases: $ sudo dconf update

b
OL 9 must prevent a user from overriding the banner-message-enable setting for the graphical user interface.
AC-8 - Medium - CCI-000048 - V-271680 - SV-271680r1091752_rule
RMF Control
AC-8
Severity
Medium
CCI
CCI-000048
Version
OL09-00-002122
Vuln IDs
  • V-271680
Rule IDs
  • SV-271680r1091752_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
Checks: C-75730r1091750_chk

This requirement assumes the use of the OL 9 default graphical user interface—the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Verify that OL 9 prevents a user from overriding settings for graphical user interfaces. Determine which profile the system database is using with the following command: $ grep system-db /etc/dconf/profile/user system-db:local Check that graphical settings are locked from nonprivileged user modification with the following command: Note: The example below is using the database "local" for the system, so the path is "/etc/dconf/db/local.d". This path must be modified if a database other than "local" is being used. $ grep banner-message-enable /etc/dconf/db/local.d/locks/* /org/gnome/login-screen/banner-message-enable If the output is not "/org/gnome/login-screen/banner-message-enable", the line is commented out, or the line is missing, this is a finding.

Fix: F-75637r1091751_fix

Configure OL 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: /org/gnome/login-screen/banner-message-enable Run the following command to update the database: $ sudo dconf update

b
OL 9 must prevent a user from overriding the screensaver lock-enabled setting for the graphical user interface.
AC-11 - Medium - CCI-000056 - V-271681 - SV-271681r1091755_rule
RMF Control
AC-11
Severity
Medium
CCI
CCI-000056
Version
OL09-00-002123
Vuln IDs
  • V-271681
Rule IDs
  • SV-271681r1091755_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
Checks: C-75731r1091753_chk

This requirement assumes the use of the OL 9 default graphical user interface—the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Verify that OL 9 prevents a user from overriding settings for graphical user interfaces. Determine which profile the system database is using with the following command: $ grep system-db /etc/dconf/profile/user system-db:local Check that graphical settings are locked from nonprivileged user modification with the following command: Note: The example below is using the database "local" for the system, so the path is "/etc/dconf/db/local.d". This path must be modified if a database other than "local" is being used. $ grep -i lock-enabled /etc/dconf/db/local.d/locks/* /org/gnome/desktop/screensaver/lock-enabled If the command does not return at least the example result, this is a finding.

Fix: F-75638r1091754_fix

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

b
OL 9 must prevent a user from overriding the session idle-delay setting for the graphical user interface.
AC-11 - Medium - CCI-000057 - V-271682 - SV-271682r1091758_rule
RMF Control
AC-11
Severity
Medium
CCI
CCI-000057
Version
OL09-00-002124
Vuln IDs
  • V-271682
Rule IDs
  • SV-271682r1091758_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
Checks: C-75732r1091756_chk

This requirement assumes the use of the OL 9 default graphical user interface—the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Verify that OL 9 prevents a user from overriding settings for graphical user interfaces. Determine which profile the system database is using with the following command: $ grep system-db /etc/dconf/profile/user system-db:local Check that graphical settings are locked from nonprivileged user modification with the following command: Note: The example below is using the database "local" for the system, so the path is "/etc/dconf/db/local.d". This path must be modified if a database other than "local" is being used. $ grep -i idle /etc/dconf/db/local.d/locks/* /org/gnome/desktop/session/idle-delay If the command does not return at least the example result, this is a finding.

Fix: F-75639r1091757_fix

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

b
OL 9 must prevent a user from overriding the session lock-delay setting for the graphical user interface.
AC-11 - Medium - CCI-000057 - V-271683 - SV-271683r1091761_rule
RMF Control
AC-11
Severity
Medium
CCI
CCI-000057
Version
OL09-00-002125
Vuln IDs
  • V-271683
Rule IDs
  • SV-271683r1091761_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.
Checks: C-75733r1091759_chk

This requirement assumes the use of the OL 9 default graphical user interface—the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Verify that OL 9 prevents a user from overriding settings for graphical user interfaces. Determine which profile the system database is using with the following command: $ grep system-db /etc/dconf/profile/user system-db:local Check that graphical settings are locked from nonprivileged user modification with the following command: Note: The example below is using the database "local" for the system, so the path is "/etc/dconf/db/local.d". This path must be modified if a database other than "local" is being used. $ grep -i lock-delay /etc/dconf/db/local.d/locks/* /org/gnome/desktop/screensaver/lock-delay If the command does not return at least the example result, this is a finding.

Fix: F-75640r1091760_fix

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

b
OL 9 must prevent a user from overriding the disabling of the graphical user smart card removal action.
AC-11 - Medium - CCI-000056 - V-271684 - SV-271684r1091764_rule
RMF Control
AC-11
Severity
Medium
CCI
CCI-000056
Version
OL09-00-002126
Vuln IDs
  • V-271684
Rule IDs
  • SV-271684r1091764_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, OL 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-000028-GPOS-00009, SRG-OS-000030-GPOS-00011
Checks: C-75734r1091762_chk

This requirement assumes the use of the OL 9 default graphical user interface—the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Verify that OL 9 disables ability of the user to override the smart card removal action setting. Determine which profile the system database is using with the following command: $ grep system-db /etc/dconf/profile/user system-db:local Check that the removal action setting is locked from nonprivileged user modification with the following command: Note: The example below is using the database "local" for the system, so the path is "/etc/dconf/db/local.d". This path must be modified if a database other than "local" is being used. $ grep 'removal-action' /etc/dconf/db/local.d/locks/* /org/gnome/settings-daemon/peripherals/smartcard/removal-action If the command does not return at least the example result, this is a finding.

Fix: F-75641r1091763_fix

Configure OL 9 must prevent a user from overriding the disabling of the graphical user smart card removal action. Add the following line to "/etc/dconf/db/local.d/locks/00-security-settings-lock": /org/gnome/settings-daemon/peripherals/smartcard/removal-action Update the dconf system databases: $ sudo dconf update

b
OL 9 must disable the ability of a user to restart the system from the login screen.
CM-6 - Medium - CCI-000366 - V-271685 - SV-271685r1091767_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002127
Vuln IDs
  • V-271685
Rule IDs
  • SV-271685r1091767_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.
Checks: C-75735r1091765_chk

This requirement assumes the use of the OL 9 default graphical user interface—the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Verify that OL 9 disables a user's ability to restart the system with the following command: $ grep -R disable-restart-buttons /etc/dconf/db/* /etc/dconf/db/distro.d/20-authselect:disable-restart-buttons='true' If the "disable-restart-button" setting is not set to "true", is missing or commented out from the dconf database files, this is a finding.

Fix: F-75642r1091766_fix

Configure OL 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/settings-daemon/peripherals/smartcard] disable-restart-buttons='true' Then update the dconf system databases: $ sudo dconf update

b
OL 9 must prevent a user from overriding the disable-restart-buttons setting for the graphical user interface.
CM-6 - Medium - CCI-000366 - V-271686 - SV-271686r1091770_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002128
Vuln IDs
  • V-271686
Rule IDs
  • SV-271686r1091770_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.
Checks: C-75736r1091768_chk

This requirement assumes the use of the OL 9 default graphical user interface—the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Verify that OL 9 prevents a user from overriding the disable-restart-buttons setting for graphical user interfaces. Determine which profile the system database is using with the following command: $ grep system-db /etc/dconf/profile/user system-db:local Check that graphical settings are locked from nonprivileged user modification with the following command: Note: The example below is using the database "local" for the system, so the path is "/etc/dconf/db/local.d". This path must be modified if a database other than "local" is being used. $ grep disable-restart-buttons /etc/dconf/db/local.d/locks/* /org/gnome/login-screen/disable-restart-buttons If the command does not return at least the example result, this is a finding.

Fix: F-75643r1091769_fix

Configure OL 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
OL 9 must prevent a user from overriding the Ctrl-Alt-Del sequence settings for the graphical user interface.
CM-6 - Medium - CCI-000366 - V-271687 - SV-271687r1091773_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002129
Vuln IDs
  • V-271687
Rule IDs
  • SV-271687r1091773_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.
Checks: C-75737r1091771_chk

This requirement assumes the use of the OL 9 default graphical user interface—the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Verify that OL 9 users cannot enable the Ctrl-Alt-Del sequence in the GNOME desktop with the following command: $ grep logout /etc/dconf/db/local.d/locks/* /org/gnome/settings-daemon/plugins/media-keys/logout If the output is not "/org/gnome/settings-daemon/plugins/media-keys/logout", the line is commented out, or the line is missing, this is a finding.

Fix: F-75644r1091772_fix

Configure OL 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
OL 9 must be configured to enable the display of the Standard Mandatory DOD Notice and Consent Banner before granting local or remote access to the system via a graphical user logon.
AC-8 - Medium - CCI-000048 - V-271688 - SV-271688r1091776_rule
RMF Control
AC-8
Severity
Medium
CCI
CCI-000048
Version
OL09-00-002150
Vuln IDs
  • V-271688
Rule IDs
  • SV-271688r1091776_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
Checks: C-75738r1091774_chk

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

Fix: F-75645r1091775_fix

Configure OL 9 to display the Standard Mandatory DOD Notice and Consent Banner before granting access to the system via a graphical user logon. Create a database to contain the system-wide graphical user logon settings (if it does not already exist) with the following command: $ sudo touch /etc/dconf/db/local.d/01-banner-message Add the following lines to the [org/gnome/login-screen] section of the "/etc/dconf/db/local.d/01-banner-message": [org/gnome/login-screen] banner-message-enable=true Run the following command to update the database: $ sudo dconf update

b
OL 9 must display the Standard Mandatory DOD Notice and Consent Banner before granting local or remote access to the system via a graphical user logon.
AC-8 - Medium - CCI-000048 - V-271689 - SV-271689r1091779_rule
RMF Control
AC-8
Severity
Medium
CCI
CCI-000048
Version
OL09-00-002151
Vuln IDs
  • V-271689
Rule IDs
  • SV-271689r1091779_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. System use notifications are required only for access via logon interfaces with human users and are not required when such human interfaces do not exist. The banner must be formatted in accordance with applicable DOD policy. Use the following verbiage for operating systems that can accommodate banners of 1300 characters: "You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." Satisfies: SRG-OS-000023-GPOS-00006, SRG-OS-000228-GPOS-00088
Checks: C-75739r1091777_chk

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

Fix: F-75646r1091778_fix

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

b
OL 9 must be able to directly initiate a session lock for all connection types using smart card when the smart card is removed.
AC-11 - Medium - CCI-000056 - V-271690 - SV-271690r1092634_rule
RMF Control
AC-11
Severity
Medium
CCI
CCI-000056
Version
OL09-00-002160
Vuln IDs
  • V-271690
Rule IDs
  • SV-271690r1092634_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, OL 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
Checks: C-75740r1092632_chk

This requirement assumes the use of the OL 9 default graphical user interface—the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Verify that OL 9 enables a user's session lock until that user reestablishes access using established identification and authentication procedures with the following command: $ grep -R removal-action /etc/dconf/db/* /etc/dconf/db/distro.d/20-authselect:removal-action='lock-screen' If the "removal-action='lock-screen'" setting is missing or commented out from the dconf database files, this is a finding.

Fix: F-75647r1092633_fix

Configure OL 9 to enable a user's session lock until that user reestablishes 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' Update the dconf system databases: $ sudo dconf update

c
OL 9 must not allow unattended or automatic logon via the graphical user interface.
CM-6 - High - CCI-000366 - V-271691 - SV-271691r1091785_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
OL09-00-002161
Vuln IDs
  • V-271691
Rule IDs
  • SV-271691r1091785_rule
Failure to restrict system access to authenticated users negatively impacts operating system security.
Checks: C-75741r1091783_chk

This requirement assumes the use of the OL 9 default graphical user interface—the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Verify that OL 9 does not allow an unattended or automatic logon to the system via a graphical user interface. Check for the value of the "AutomaticLoginEnable" in the "/etc/gdm/custom.conf" file with the following command: $ grep -i automaticlogin /etc/gdm/custom.conf [daemon] AutomaticLoginEnable=false If the value of "AutomaticLoginEnable" is not set to "false", this is a finding.

Fix: F-75648r1091784_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
OL 9 effective dconf policy must match the policy keyfiles.
CM-6 - Medium - CCI-000366 - V-271692 - SV-271692r1091788_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002162
Vuln IDs
  • V-271692
Rule IDs
  • SV-271692r1091788_rule
Unlike text-based keyfiles, the binary database is impossible to check through most automated and all manual means; therefore, to evaluate dconf configuration, both have to be true at the same time - configuration files have to be compliant, and the database needs to be more recent than those keyfiles, which gives confidence that it reflects them.
Checks: C-75742r1091786_chk

This requirement assumes the use of the OL 9 default graphical user interface—the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Verify that OL 9 effective dconf policy matches the policy keyfiles. Check the last modification time of the local databases, comparing it to the last modification time of the related keyfiles. The following command will check every dconf database and compare its modification time to the related system keyfiles: $ function dconf_needs_update { for db in $(find /etc/dconf/db -maxdepth 1 -type f); do db_mtime=$(stat -c %Y "$db"); keyfile_mtime=$(stat -c %Y "$db".d/* | sort -n | tail -1); if [ -n "$db_mtime" ] &amp;&amp; [ -n "$keyfile_mtime" ] &amp;&amp; [ "$db_mtime" -lt "$keyfile_mtime" ]; then echo "$db needs update"; return 1; fi; done; }; dconf_needs_update If the command has any output, then a dconf database needs to be updated, and this is a finding.

Fix: F-75649r1091787_fix

Update the dconf databases by running the following command: $ sudo dconf update

b
OL 9 must define default permissions for the bash shell.
CM-6 - Medium - CCI-000366 - V-271693 - SV-271693r1091791_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002301
Vuln IDs
  • V-271693
Rule IDs
  • SV-271693r1091791_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.
Checks: C-75743r1091789_chk

Verify that OL 9 "umask" setting is configured correctly in the "/etc/bashrc" file with the following command: Note: If the value of the "umask" parameter is set to "000" "/etc/bashrc" file, the severity of this requirement is raised to a CAT I. $ grep umask /etc/bashrc umask 077 umask 077 If the value for the "umask" parameter is not "077", or the "umask" parameter is missing or is commented out, this is a finding.

Fix: F-75650r1091790_fix

Configure OL 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
OL 9 must define default permissions for the c shell.
CM-6 - Medium - CCI-000366 - V-271694 - SV-271694r1091794_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002302
Vuln IDs
  • V-271694
Rule IDs
  • SV-271694r1091794_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.
Checks: C-75744r1091792_chk

Verify that OL 9 "umask" setting is configured correctly in the "/etc/csh.cshrc" file with the following command: Note: If the value of the "umask" parameter is set to "000" "/etc/csh.cshrc" file, the severity of this requirement is raised to a CAT I. $ grep umask /etc/csh.cshrc umask 077 umask 077 If the value for the "umask" parameter is not "077", or the "umask" parameter is missing or is commented out, this is a finding.

Fix: F-75651r1091793_fix

Configure OL 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
OL 9 must define default permissions for the system default profile.
CM-6 - Medium - CCI-000366 - V-271695 - SV-271695r1091797_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002303
Vuln IDs
  • V-271695
Rule IDs
  • SV-271695r1091797_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.
Checks: C-75745r1091795_chk

Verify that OL 9 "umask" setting is configured correctly in the "/etc/profile" file with the following command: Note: If the value of the "umask" parameter is set to "000" "/etc/profile" file, the severity of this requirement is raised to a CAT I. $ grep umask /etc/profile umask 077 If the value for the "umask" parameter is not "077", or the "umask" parameter is missing or is commented out, this is a finding.

Fix: F-75652r1091796_fix

Configure OL 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

b
OL 9 must define default permissions for all authenticated users in such a way that the user can only read and modify their own files.
CM-6 - Medium - CCI-000366 - V-271696 - SV-271696r1091800_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002304
Vuln IDs
  • V-271696
Rule IDs
  • SV-271696r1091800_rule
Setting the most restrictive default permissions ensures that when new accounts are created, they do not have unnecessary access.
Checks: C-75746r1091798_chk

Verify that OL 9 defines default permissions for all authenticated users in such a way that the user can only read and modify their own files with the following command: Note: If the value of the "UMASK" parameter is set to "000" in "/etc/login.defs" file, the severity of this requirement is raised to a CAT I. $ grep -i umask /etc/login.defs UMASK 077 If the value for the "UMASK" parameter is not "077", or the "UMASK" parameter is missing or is commented out, this is a finding.

Fix: F-75653r1091799_fix

Configure OL 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

a
OL 9 must disable the chrony daemon from acting as a server.
CM-7 - Low - CCI-000382 - V-271697 - SV-271697r1091803_rule
RMF Control
CM-7
Severity
Low
CCI
CCI-000382
Version
OL09-00-002320
Vuln IDs
  • V-271697
Rule IDs
  • SV-271697r1091803_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
Checks: C-75747r1091801_chk

Verify that OL 9 disables the chrony daemon from acting as a server with the following command: $ grep -w port /etc/chrony.conf port 0 If the "port" option is not set to "0", is commented out, or is missing, this is a finding.

Fix: F-75654r1091802_fix

Configure OL 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
OL 9 must disable network management of the chrony daemon.
CM-7 - Low - CCI-000382 - V-271698 - SV-271698r1091806_rule
RMF Control
CM-7
Severity
Low
CCI
CCI-000382
Version
OL09-00-002321
Vuln IDs
  • V-271698
Rule IDs
  • SV-271698r1091806_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
Checks: C-75748r1091804_chk

Verify that OL 9 disables network management of the chrony daemon with the following command: $ grep -w cmdport /etc/chrony.conf cmdport 0 If the "cmdport" option is not set to "0", is commented out, or is missing, this is a finding.

Fix: F-75655r1091805_fix

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

b
OL 9 must securely compare internal information system clocks at least every 24 hours.
- Medium - CCI-004923 - V-271699 - SV-271699r1091809_rule
RMF Control
Severity
Medium
CCI
CCI-004923
Version
OL09-00-002323
Vuln IDs
  • V-271699
Rule IDs
  • SV-271699r1091809_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. Depending on the infrastructure being used the "pool" directive may not be supported. Authoritative time sources include the United States Naval Observatory (USNO) time servers, a time server designated for the appropriate DOD network (NIPRNet/SIPRNet), and/or the Global Positioning System (GPS). Satisfies: SRG-OS-000355-GPOS-00143, SRG-OS-000356-GPOS-00144, SRG-OS-000359-GPOS-00146
Checks: C-75749r1091807_chk

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

Fix: F-75656r1091808_fix

Configure OL 9 to securely compare internal information system clocks at least every 24 hours with an NTP server by adding/modifying the following line in the /etc/chrony.conf file. server [ntp.server.name] iburst maxpoll 16

a
OL 9 must enable Linux audit logging for the USBGuard daemon.
AU-12 - Low - CCI-000169 - V-271700 - SV-271700r1091812_rule
RMF Control
AU-12
Severity
Low
CCI
CCI-000169
Version
OL09-00-002330
Vuln IDs
  • V-271700
Rule IDs
  • SV-271700r1091812_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 OL 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.
Checks: C-75750r1091810_chk

Verify that OL 9 Linux Audit logging is enabled for the USBGuard daemon with the following command: $ sudo grep AuditBackend /etc/usbguard/usbguard-daemon.conf AuditBackend=LinuxAudit If "AuditBackend" is not set to "LinuxAudit", this is a finding.

Fix: F-75657r1091811_fix

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

b
OL 9 must block unauthorized peripherals before establishing a connection.
IA-3 - Medium - CCI-001958 - V-271701 - SV-271701r1091815_rule
RMF Control
IA-3
Severity
Medium
CCI
CCI-001958
Version
OL09-00-002331
Vuln IDs
  • V-271701
Rule IDs
  • SV-271701r1091815_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.
Checks: C-75751r1091813_chk

Verify that OL 9 USBGuard has a policy configured with the following command: $ usbguard list-rules allow id 1d6b:0001 serial If the command does not return results or an error is returned, ask the SA to indicate how unauthorized peripherals are being blocked. If there is no evidence that unauthorized peripherals are being blocked before establishing a connection, this is a finding.

Fix: F-75658r1091814_fix

Configure the operating system to enable the blocking of unauthorized peripherals with the following command: Note: This command must be run from a root shell and will create an allow list for any USB devices currently connect to the system. # usbguard generate-policy --no-hash > /etc/usbguard/rules.conf Note: Enabling and starting USBGuard without properly configuring it for an individual system will immediately prevent any access over a USB device such as a keyboard or mouse.

b
OL 9 must disable automatic mounting of Universal Serial Bus (USB) mass storage driver.
- Medium - CCI-003959 - V-271702 - SV-271702r1091818_rule
RMF Control
Severity
Medium
CCI
CCI-003959
Version
OL09-00-002332
Vuln IDs
  • V-271702
Rule IDs
  • SV-271702r1091818_rule
Without authenticating devices, unidentified or unknown devices may be introduced, thereby facilitating malicious activity. Peripherals include, but are not limited to, such devices as flash drives, external storage, and printers.
Checks: C-75752r1091816_chk

Verify that OL 9 disables automatic mounting of the USB storage kernel module with the following command: $ grep usb-storage /etc/modprobe.d/* | grep "/bin/true" install usb-storage /bin/true If the command does not return any output, or the line is commented out, this is a finding. Verify the operating system disables the ability to use USB mass storage device. $ grep usb-storage /etc/modprobe.d/* | grep -i "blacklist" blacklist usb-storage If the command does not return any output, or the line is commented out, this is a finding.

Fix: F-75659r1091817_fix

Configure OL 9 to disable using the USB storage kernel module. Create a file under "/etc/modprobe.d" to contain the following: # sudo su -c "echo install usb-storage /bin/true >> /etc/modprobe.d/DISASTIG.conf" Configure the operating system to disable the ability to use USB mass storage devices. # sudo su -c "echo blacklist usb-storage >> /etc/modprobe.d/DISASTIG.conf"

b
OL 9 must log SSH connection attempts and failures to the server.
AC-17 - Medium - CCI-000067 - V-271703 - SV-271703r1091821_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-000067
Version
OL09-00-002340
Vuln IDs
  • V-271703
Rule IDs
  • SV-271703r1091821_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.
Checks: C-75753r1091819_chk

Verify that OL 9 logs SSH connection attempts and failures to the server. Check what the SSH daemon's "LogLevel" option is set to with the following command: $ sudo /usr/sbin/sshd -dd 2&gt;&amp;1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*loglevel' LogLevel VERBOSE If a value of "VERBOSE" is not returned, the line is commented out, or is missing, this is a finding.

Fix: F-75660r1091820_fix

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

b
OL 9 SSH daemon must not allow Generic Security Service Application Program Interface (GSSAPI) authentication.
CM-5 - Medium - CCI-001813 - V-271704 - SV-271704r1091824_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001813
Version
OL09-00-002341
Vuln IDs
  • V-271704
Rule IDs
  • SV-271704r1091824_rule
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.
Checks: C-75754r1091822_chk

Verify that OL 9 SSH daemon does not allow GSSAPI authentication with the following command: $ sudo /usr/sbin/sshd -dd 2&gt;&amp;1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*gssapiauthentication' GSSAPIAuthentication no If the value is returned as "yes", the returned line is commented out, no output is returned, and the use of GSSAPI authentication has not been documented with the information system security officer (ISSO), this is a finding.

Fix: F-75661r1091823_fix

Configure the SSH daemon to not allow GSSAPI authentication. Add or uncomment the following line to "/etc/ssh/sshd_config" or to a file in "/etc/ssh/sshd_config.d" and set the value to "no": GSSAPIAuthentication no The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service

b
OL 9 must force a frequent session key renegotiation for SSH connections to the server.
SC-8 - Medium - CCI-002418 - V-271705 - SV-271705r1091827_rule
RMF Control
SC-8
Severity
Medium
CCI
CCI-002418
Version
OL09-00-002342
Vuln IDs
  • V-271705
Rule IDs
  • SV-271705r1091827_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
Checks: C-75755r1091825_chk

Verify that OL 9 SSH server is configured to force frequent session key renegotiation with the following command: $ sudo /usr/sbin/sshd -dd 2&gt;&amp;1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*rekeylimit' RekeyLimit 1G 1h If "RekeyLimit" does not have a maximum data amount and maximum time defined, is missing or commented out, this is a finding.

Fix: F-75662r1091826_fix

Configure OL 9 to force a frequent session key renegotiation for SSH connections to the server by adding or modifying the following line in the "/etc/ssh/sshd_config" or in a file in "/etc/ssh/sshd_config.d": RekeyLimit 1G 1h Restart the SSH daemon for the settings to take effect. $ sudo systemctl restart sshd.service

c
OL 9 SSHD must not allow blank passwords.
IA-2 - High - CCI-000766 - V-271706 - SV-271706r1091830_rule
RMF Control
IA-2
Severity
High
CCI
CCI-000766
Version
OL09-00-002343
Vuln IDs
  • V-271706
Rule IDs
  • SV-271706r1091830_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.
Checks: C-75756r1091828_chk

Verify that OL 9 remote access using SSH prevents logging on with a blank password with the following command: $ sudo /usr/sbin/sshd -dd 2&gt;&amp;1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*permitemptypasswords' PermitEmptyPasswords no If the "PermitEmptyPasswords" keyword is set to "yes", is missing, or is commented out, this is a finding.

Fix: F-75663r1091829_fix

Configure OL 9 to prevent SSH users from logging on with blank passwords by editing the following line in "/etc/ssh/sshd_config" or in a file in "/etc/ssh/sshd_config.d": PermitEmptyPasswords no Restart the SSH daemon for the settings to take effect: $ sudo systemctl restart sshd.service

c
OL 9 must enable the Pluggable Authentication Module (PAM) interface for SSHD.
MA-4 - High - CCI-000877 - V-271707 - SV-271707r1091833_rule
RMF Control
MA-4
Severity
High
CCI
CCI-000877
Version
OL09-00-002344
Vuln IDs
  • V-271707
Rule IDs
  • SV-271707r1091833_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.
Checks: C-75757r1091831_chk

Verify that OL 9 SSHD is configured to allow for the UsePAM interface with the following command: $ sudo /usr/sbin/sshd -dd 2&gt;&amp;1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*usepam' UsePAM yes If the "UsePAM" keyword is set to "no", is missing, or is commented out, this is a finding.

Fix: F-75664r1091832_fix

Configure the OL 9 SSHD to use the UsePAM interface by adding or modifying the following line in "/etc/ssh/sshd_config" or in a file in "/etc/ssh/sshd_config.d". UsePAM yes Restart the SSH daemon for the settings to take effect: $ sudo systemctl restart sshd.service

b
OL 9 must not permit direct logons to the root account using remote access via SSH.
- Medium - CCI-004045 - V-271708 - SV-271708r1092594_rule
RMF Control
Severity
Medium
CCI
CCI-004045
Version
OL09-00-002345
Vuln IDs
  • V-271708
Rule IDs
  • SV-271708r1092594_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.
Checks: C-75758r1091834_chk

Verify that OL 9 remote access using SSH prevents users from logging on directly as "root" with the following command: $ sudo /usr/sbin/sshd -dd 2&gt;&amp;1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*permitrootlogin' PermitRootLogin no If the "PermitRootLogin" keyword is set to "yes", is missing, or is commented out, this is a finding.

Fix: F-75665r1091835_fix

Configure OL 9 to prevent SSH users from logging on directly as root by adding or modifying the following line in "/etc/ssh/sshd_config" or in a file in "/etc/ssh/sshd_config.d". PermitRootLogin no Restart the SSH daemon for the settings to take effect: $ sudo systemctl restart sshd.service

b
OL 9 must be configured so that all network connections associated with SSH traffic terminate after becoming unresponsive.
SC-10 - Medium - CCI-001133 - V-271709 - SV-271709r1091839_rule
RMF Control
SC-10
Severity
Medium
CCI
CCI-001133
Version
OL09-00-002346
Vuln IDs
  • V-271709
Rule IDs
  • SV-271709r1091839_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. OL 9 uses /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
Checks: C-75759r1091837_chk

Verify that OL 9 is configured so that all network connections associated with SSH traffic terminate after becoming unresponsive. Verify that the "ClientAliveCountMax" is set to "1" by performing the following command: $ sudo /usr/sbin/sshd -dd 2&gt;&amp;1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*clientalivecountmax' ClientAliveCountMax 1 If "ClientAliveCountMax" does not exist, is not set to a value of "1" in "/etc/ssh/sshd_config", or is commented out, this is a finding.

Fix: F-75666r1091838_fix

Note: This setting must be applied in conjunction with ClientAliveInterval 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" or in a file in "/etc/ssh/sshd_config.d": ClientAliveCountMax 1 In order for the changes to take effect, the SSH daemon must be restarted. $ sudo systemctl restart sshd.service

b
OL 9 must be configured so that all network connections associated with SSH traffic are terminated after 10 minutes of becoming unresponsive.
SC-10 - Medium - CCI-001133 - V-271710 - SV-271710r1092596_rule
RMF Control
SC-10
Severity
Medium
CCI
CCI-001133
Version
OL09-00-002347
Vuln IDs
  • V-271710
Rule IDs
  • SV-271710r1092596_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. OL 9 uses /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, SRG-OS-000395-GPOS-00175
Checks: C-75760r1091840_chk

Verify that OL 9 is configured so that all network connections associated with SSH traffic are terminated after 10 minutes of becoming unresponsive. Verify that the "ClientAliveInterval" variable is set to a value of "600" or less by performing the following command: $ sudo /usr/sbin/sshd -dd 2&gt;&amp;1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*clientaliveinterval' ClientAliveInterval 600 If "ClientAliveInterval" does not exist, does not have a value of "600" or less in "/etc/ssh/sshd_config", or is commented out, this is a finding.

Fix: F-75667r1092595_fix

Note: This setting must be applied in conjunction with ClientAliveCountMax" setting 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" or in a file in "/etc/ssh/sshd_config.d": ClientAliveInterval 600 In order for the changes to take effect, the SSH daemon must be restarted. $ sudo systemctl restart sshd.service

b
OL 9 SSH daemon must not allow rhosts authentication.
CM-6 - Medium - CCI-000366 - V-271711 - SV-271711r1091845_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002348
Vuln IDs
  • V-271711
Rule IDs
  • SV-271711r1091845_rule
SSH trust relationships mean a compromise on one host can allow an attacker to move trivially to other hosts.
Checks: C-75761r1091843_chk

Verify that OL 9 SSH daemon does not allow rhosts authentication with the following command: $ sudo /usr/sbin/sshd -dd 2&gt;&amp;1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*ignorerhosts' IgnoreRhosts yes If the value is returned as "no", the returned line is commented out, or no output is returned, this is a finding.

Fix: F-75668r1091844_fix

Configure the SSH daemon to not allow rhosts authentication. Add the following line to "/etc/ssh/sshd_config" or to a file in "/etc/ssh/sshd_config.d" or uncomment the line and set the value to "yes": IgnoreRhosts yes The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service

b
OL 9 SSH daemon must not allow known hosts authentication.
CM-6 - Medium - CCI-000366 - V-271712 - SV-271712r1091848_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002349
Vuln IDs
  • V-271712
Rule IDs
  • SV-271712r1091848_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.
Checks: C-75762r1091846_chk

Verify that OL 9 SSH daemon does not allow known hosts authentication with the following command: $ sudo /usr/sbin/sshd -dd 2&gt;&amp;1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*ignoreuserknownhosts' IgnoreUserKnownHosts yes If the value is returned as "no", the returned line is commented out, or no output is returned, this is a finding.

Fix: F-75669r1091847_fix

Configure the SSH daemon to not allow known hosts authentication. Add the following line to "/etc/ssh/sshd_config" or to a file in "/etc/ssh/sshd_config.d" or uncomment the line and set the value to "yes": IgnoreUserKnownHosts yes The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service

b
OL 9 SSH daemon must disable remote X connections for interactive users.
CM-6 - Medium - CCI-000366 - V-271713 - SV-271713r1091851_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002350
Vuln IDs
  • V-271713
Rule IDs
  • SV-271713r1091851_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.
Checks: C-75763r1091849_chk

Verify that OL 9 SSH daemon does not allow X11Forwarding with the following command: $ sudo /usr/sbin/sshd -dd 2&gt;&amp;1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*x11forwarding' X11forwarding no If the value is returned as "yes", the returned line is commented out, or no output is returned, and X11 forwarding is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-75670r1091850_fix

Configure the SSH daemon to not allow X11 forwarding. Add the following line to "/etc/ssh/sshd_config" or to a file in "/etc/ssh/sshd_config.d" or uncomment the line and set the value to "no": X11Forwarding no The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service

b
OL 9 SSH daemon must perform strict mode checking of home directory configuration files.
CM-6 - Medium - CCI-000366 - V-271714 - SV-271714r1091854_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002351
Vuln IDs
  • V-271714
Rule IDs
  • SV-271714r1091854_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.
Checks: C-75764r1091852_chk

Verify that OL 9 SSH daemon performs strict mode checking of home directory configuration files with the following command: $ sudo /usr/sbin/sshd -dd 2&gt;&amp;1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*strictmodes' StrictModes yes If the "StrictModes" keyword is set to "no", the returned line is commented out, or no output is returned, this is a finding.

Fix: F-75671r1091853_fix

Configure the SSH daemon to perform strict mode checking of home directory configuration files. Add the following line to "/etc/ssh/sshd_config" or to a file in "/etc/ssh/sshd_config.d" or uncomment the line and set the value to "yes": StrictModes yes The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service

b
OL 9 SSH daemon must display the date and time of the last successful account logon upon an SSH logon.
CM-6 - Medium - CCI-000366 - V-271715 - SV-271715r1091857_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002352
Vuln IDs
  • V-271715
Rule IDs
  • SV-271715r1091857_rule
Providing users feedback on when account accesses last occurred facilitates user recognition and reporting of unauthorized account use.
Checks: C-75765r1091855_chk

Verify that OL 9 SSH daemon provides users with feedback on when account accesses last occurred with the following command: $ sudo /usr/sbin/sshd -dd 2&gt;&amp;1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*printlastlog' PrintLastLog yes If the "PrintLastLog" keyword is set to "no", the returned line is commented out, or no output is returned, this is a finding.

Fix: F-75672r1091856_fix

Configure the SSH daemon to provide users with feedback on when account accesses last occurred. Add the following line to "/etc/ssh/sshd_config" or to a file in "/etc/ssh/sshd_config.d" or uncomment the line and set the value to "yes": PrintLastLog yes The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service

b
OL 9 SSH daemon must prevent remote hosts from connecting to the proxy display.
CM-6 - Medium - CCI-000366 - V-271716 - SV-271716r1091860_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002354
Vuln IDs
  • V-271716
Rule IDs
  • SV-271716r1091860_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.
Checks: C-75766r1091858_chk

Verify that OL 9 SSH daemon prevents remote hosts from connecting to the proxy display with the following command: $ sudo /usr/sbin/sshd -dd 2&gt;&amp;1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*x11uselocalhost' X11UseLocalhost yes If the "X11UseLocalhost" keyword is set to "no", is missing, or is commented out, this is a finding.

Fix: F-75673r1091859_fix

Configure the SSH daemon to prevent remote hosts from connecting to the proxy display. Add the following line to "/etc/ssh/sshd_config" or to a file in "/etc/ssh/sshd_config.d" or uncomment the line and set the value to "yes": X11UseLocalhost yes The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service

b
OL 9 SSH daemon must not allow compression or must only allow compression after successful authentication.
CM-6 - Medium - CCI-000366 - V-271717 - SV-271717r1091863_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002355
Vuln IDs
  • V-271717
Rule IDs
  • SV-271717r1091863_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.
Checks: C-75767r1091861_chk

Verify that OL 9 SSH daemon performs compression after a user successfully authenticates with the following command: $ sudo /usr/sbin/sshd -dd 2&gt;&amp;1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*compression' Compression delayed If the "Compression" keyword is set to "yes", is missing, or the returned line is commented out, this is a finding.

Fix: F-75674r1091862_fix

Configure the SSH daemon to not allow compression. Add the following line to "/etc/ssh/sshd_config" or to a file in "/etc/ssh/sshd_config.d" or uncomment the line and set the value to "delayed" or "no": Compression no The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service

b
OL 9 SSH daemon must not allow Kerberos authentication.
CM-5 - Medium - CCI-001813 - V-271718 - SV-271718r1091866_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001813
Version
OL09-00-002356
Vuln IDs
  • V-271718
Rule IDs
  • SV-271718r1091866_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.
Checks: C-75768r1091864_chk

Verify that OL 9 SSH daemon does not allow Kerberos authentication with the following command: $ sudo /usr/sbin/sshd -dd 2&gt;&amp;1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*kerberosauthentication' KerberosAuthentication no If the value is returned as "yes", the returned line is commented out, no output is returned, and the use of Kerberos authentication has not been documented with the information system security officer (ISSO), this is a finding.

Fix: F-75675r1091865_fix

Configure the SSH daemon to not allow Kerberos authentication. Add the following line in "/etc/ssh/sshd_config" or to a file in "/etc/ssh/sshd_config.d" or uncomment the line and set the value to "no": KerberosAuthentication no The SSH service must be restarted for changes to take effect: $ sudo systemctl restart sshd.service

b
OL 9 must not allow a noncertificate trusted host SSH logon to the system.
CM-6 - Medium - CCI-000366 - V-271719 - SV-271719r1091869_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002357
Vuln IDs
  • V-271719
Rule IDs
  • SV-271719r1091869_rule
SSH trust relationships mean a compromise on one host can allow an attacker to move trivially to other hosts.
Checks: C-75769r1091867_chk

Verify that OL 9 does not allow a noncertificate trusted host SSH logon to the system with the following command: $ sudo /usr/sbin/sshd -dd 2&gt;&amp;1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*hostbasedauthentication' HostbasedAuthentication no If the "HostbasedAuthentication" keyword is not set to "no", is missing, or is commented out, this is a finding.

Fix: F-75676r1091868_fix

Configure OL 9 to not allow a noncertificate trusted host SSH logon to access the system. Add or modify the following line in "/etc/ssh/sshd_config" or in a file in "/etc/ssh/sshd_config.d". HostbasedAuthentication no Restart the SSH daemon for the settings to take effect: $ sudo systemctl restart sshd.service

b
OL 9 must not allow users to override SSH environment variables.
CM-6 - Medium - CCI-000366 - V-271720 - SV-271720r1091872_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002358
Vuln IDs
  • V-271720
Rule IDs
  • SV-271720r1091872_rule
SSH environment options potentially allow users to bypass access restriction in some configurations.
Checks: C-75770r1091870_chk

Verify that OL 9 does not allow users to override SSH environment variables. Verify that unattended or automatic logon via SSH is disabled with the following command: $ sudo /usr/sbin/sshd -dd 2&gt;&amp;1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*permituserenvironment' PermitUserEnvironment no If "PermitUserEnvironment" is set to "yes", is missing completely, or is commented out, this is a finding.

Fix: F-75677r1091871_fix

Configure the OL 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" or in a file in "/etc/ssh/sshd_config.d": PermitUserEnvironment no Restart the SSH daemon for the setting to take effect: $ sudo systemctl restart sshd.service

b
OL 9 SSHD must accept public key authentication.
IA-2 - Medium - CCI-000765 - V-271721 - SV-271721r1091875_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000765
Version
OL09-00-002359
Vuln IDs
  • V-271721
Rule IDs
  • SV-271721r1091875_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
Checks: C-75771r1091873_chk

Verify that OL 9 SSH daemon accepts public key encryption with the following command: $ sudo grep -i PubkeyAuthentication /etc/ssh/sshd_config PubkeyAuthentication yes If "PubkeyAuthentication" is set to no, the line is commented out, or the line is missing, this is a finding.

Fix: F-75678r1091874_fix

Configure OL 9 to accept public key authentication by adding or modifying 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

b
OL 9 must require reauthentication when using the "sudo" command.
CM-6 - Medium - CCI-000366 - V-271722 - SV-271722r1091878_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002360
Vuln IDs
  • V-271722
Rule IDs
  • SV-271722r1091878_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.
Checks: C-75772r1091876_chk

Verify that OL 9 requires reauthentication when using the "sudo" command to elevate privileges with the following command: $ sudo grep -i 'timestamp_timeout' /etc/sudoers /etc/sudoers.d/* /etc/sudoers:Defaults timestamp_timeout=0 If results are returned from more than one file location, this is a finding. If "timestamp_timeout" is set to a negative number, is commented out, or no results are returned, this is a finding.

Fix: F-75679r1091877_fix

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

b
OL 9 must restrict the use of the su command.
AC-3 - Medium - CCI-002165 - V-271723 - SV-271723r1091881_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-002165
Version
OL09-00-002361
Vuln IDs
  • V-271723
Rule IDs
  • SV-271723r1091881_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.
Checks: C-75773r1091879_chk

Verify that OL 9 requires uses to be members of the "wheel" group with the following command: $ grep pam_wheel /etc/pam.d/su auth required pam_wheel.so use_uid If a line for "pam_wheel.so" does not exist, or is commented out, this is a finding.

Fix: F-75680r1091880_fix

Configure OL 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" Or use the following command to update /etc/pam.d/su $ 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. $ grep wheel /etc/group

b
OL 9 must require users to reauthenticate for privilege escalation.
AC-6 - Medium - CCI-002234 - V-271724 - SV-271724r1091884_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-002234
Version
OL09-00-002362
Vuln IDs
  • V-271724
Rule IDs
  • SV-271724r1091884_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.
Checks: C-75774r1091882_chk

Verify that OL 9 requires users to reauthenticate for privilege escalation. Verify that "/etc/sudoers" has no occurrences of "!authenticate" with the following command: $ sudo grep -ri '!authenticate' /etc/sudoers /etc/sudoers.d/* If any occurrences of "!authenticate" are returned, this is a finding.

Fix: F-75681r1091883_fix

Configure OL 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
OL 9 must require users to provide a password for privilege escalation.
AC-6 - Medium - CCI-002234 - V-271725 - SV-271725r1091887_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-002234
Version
OL09-00-002363
Vuln IDs
  • V-271725
Rule IDs
  • SV-271725r1091887_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.
Checks: C-75775r1091885_chk

Verify that OL 9 requires users to provide a password for privilege escalation. Verify that "/etc/sudoers" has no occurrences of "NOPASSWD" with the following command: $ sudo grep -ri nopasswd /etc/sudoers /etc/sudoers.d/* If any occurrences of "NOPASSWD" are returned, this is a finding.

Fix: F-75682r1091886_fix

Configure OL 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
OL 9 must not be configured to bypass password requirements for privilege escalation.
AC-6 - Medium - CCI-002234 - V-271726 - SV-271726r1091890_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-002234
Version
OL09-00-002364
Vuln IDs
  • V-271726
Rule IDs
  • SV-271726r1091890_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.
Checks: C-75776r1091888_chk

Verify that OL 9 is not configured to bypass password requirements for privilege escalation with the following command: $ grep pam_succeed_if /etc/pam.d/sudo If any occurrences of "pam_succeed_if" are returned, this is a finding.

Fix: F-75683r1091889_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
OL 9 must disable the use of user namespaces.
CM-6 - Medium - CCI-000366 - V-271727 - SV-271727r1091893_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002370
Vuln IDs
  • V-271727
Rule IDs
  • SV-271727r1091893_rule
User namespaces are used primarily for Linux containers. The value "0" disallows the use of user namespaces.
Checks: C-75777r1091891_chk

Note: User namespaces are used primarily for Linux containers. If containers are in use, this requirement is Not Applicable. Verify that OL 9 disables the use of user namespaces with the following commands: $ sysctl user.max_user_namespaces user.max_user_namespaces = 0 If the returned line does not have a value of "0", or a line is not returned, this is a finding.

Fix: F-75684r1091892_fix

Configure OL 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
OL 9 must disable the kernel.core_pattern.
CM-6 - Medium - CCI-000366 - V-271728 - SV-271728r1091896_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002380
Vuln IDs
  • V-271728
Rule IDs
  • SV-271728r1091896_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.
Checks: C-75778r1091894_chk

Verify that OL 9 disables storing core dumps with the following commands: $ sysctl kernel.core_pattern kernel.core_pattern = |/bin/false If the returned line does not have a value of "|/bin/false", or a line is not returned and the need for core dumps is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-75685r1091895_fix

Configure OL 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
OL 9 must disable core dump backtraces.
CM-6 - Medium - CCI-000366 - V-271729 - SV-271729r1091899_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002381
Vuln IDs
  • V-271729
Rule IDs
  • SV-271729r1091899_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.
Checks: C-75779r1091897_chk

Verify that OL 9 disables core dump backtraces by issuing the following command: $ grep -i process /etc/systemd/coredump.conf ProcessSizeMax=0 If the "ProcessSizeMax" item is missing, commented out, or the value is anything other than "0" and the need for core dumps is not documented with the information system security officer (ISSO) as an operational requirement for all domains that have the "core" item assigned, this is a finding.

Fix: F-75686r1091898_fix

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

b
OL 9 must disable storing core dumps.
CM-6 - Medium - CCI-000366 - V-271730 - SV-271730r1091902_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002382
Vuln IDs
  • V-271730
Rule IDs
  • SV-271730r1091902_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.
Checks: C-75780r1091900_chk

Verify that OL 9 disables storing core dumps for all users by issuing the following command: $ grep -i storage /etc/systemd/coredump.conf Storage=none If the "Storage" item is missing, commented out, or the value is anything other than "none" and the need for core dumps is not documented with the information system security officer (ISSO) as an operational requirement for all domains that have the "core" item assigned, this is a finding.

Fix: F-75687r1091901_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
OL 9 must disable core dumps for all users.
CM-6 - Medium - CCI-000366 - V-271731 - SV-271731r1091905_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002383
Vuln IDs
  • V-271731
Rule IDs
  • SV-271731r1091905_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.
Checks: C-75781r1091903_chk

Verify that OL 9 disables core dumps for all users by issuing the following command: $ grep -r -s core /etc/security/limits.conf /etc/security/limits.d/*.conf /etc/security/limits.conf:* hard core 0 This can be set as a global domain (with the * wildcard) but may be set differently for multiple domains. If the "core" item is missing, commented out, or the value is anything other than "0" and the need for core dumps is not documented with the information system security officer (ISSO) as an operational requirement for all domains that have the "core" item assigned, this is a finding.

Fix: F-75688r1091904_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
OL 9 must disable acquiring, saving, and processing core dumps.
CM-6 - Medium - CCI-000366 - V-271732 - SV-271732r1091908_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002384
Vuln IDs
  • V-271732
Rule IDs
  • SV-271732r1091908_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.
Checks: C-75782r1091906_chk

Verify that OL 9 is not configured to acquire, save, or process core dumps with the following command: $ systemctl status systemd-coredump.socket systemd-coredump.socket Loaded: masked (Reason: Unit systemd-coredump.socket is masked.) Active: inactive (dead) If the "systemd-coredump.socket" is loaded and not masked and the need for core dumps is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-75689r1091907_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
OL 9 must be configured so that the kdump service is disabled.
CM-6 - Medium - CCI-000366 - V-271733 - SV-271733r1092598_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002385
Vuln IDs
  • V-271733
Rule IDs
  • SV-271733r1092598_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.
Checks: C-75783r1091909_chk

Verify that OL 9 kdump service is disabled or masked in system boot configuration with the following command: $ systemctl is-enabled kdump disabled (or masked) Verify that the kdump service is not active (i.e., not running) through current runtime configuration with the following command: $ systemctl is-active kdump inactive Verify that the kdump service is masked with the following command: $ systemctl show kdump | grep "LoadState\|UnitFileState" LoadState=masked UnitFileState=masked If the "kdump" service is loaded or active, and is not masked, this is a finding.

Fix: F-75690r1092597_fix

Configure OL 9 to disable and mask the kdump service. 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

b
OL 9 must clear SLUB/SLAB objects to prevent use-after-free attacks.
SI-16 - Medium - CCI-002824 - V-271734 - SV-271734r1091914_rule
RMF Control
SI-16
Severity
Medium
CCI
CCI-002824
Version
OL09-00-002390
Vuln IDs
  • V-271734
Rule IDs
  • SV-271734r1091914_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
Checks: C-75784r1091912_chk

Verify that OL 9 GRUB 2 is configured to enable poisoning of SLUB/SLAB objects to mitigate use-after-free vulnerabilities with the following commands: Check that the current GRUB 2 configuration has poisoning of SLUB/SLAB objects enabled: $ sudo grubby --info=ALL | grep args | grep -v 'slub_debug=P' If any output is returned, this is a finding. Check that poisoning of SLUB/SLAB objects is enabled by default to persist in kernel updates: $ sudo grep slub_debug /etc/default/grub GRUB_CMDLINE_LINUX="slub_debug=P" If "slub_debug" is not set to "P", is missing or commented out, this is a finding.

Fix: F-75691r1091913_fix

Configure OL 9 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
OL 9 must enable mitigations against processor-based vulnerabilities.
SI-16 - Low - CCI-002824 - V-271735 - SV-271735r1091917_rule
RMF Control
SI-16
Severity
Low
CCI
CCI-002824
Version
OL09-00-002391
Vuln IDs
  • V-271735
Rule IDs
  • SV-271735r1091917_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
Checks: C-75785r1091915_chk

Verify that OL 9 enables kernel page-table isolation with the following command: $ sudo grubby --info=ALL | grep pti args="ro crashkernel=auto resume=/dev/mapper/ol-swap rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet fips=1 audit=1 audit_backlog_limit=8192 pti=on If the "pti" entry does not equal "on", or is missing, this is a finding. Check that kernel page-table isolation is enabled by default to persist in kernel updates: $ sudo grep pti /etc/default/grub GRUB_CMDLINE_LINUX="pti=on" If "pti" is not set to "on", is missing or commented out, this is a finding.

Fix: F-75692r1091916_fix

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

b
OL 9 must disable the ability of systemd to spawn an interactive boot process.
CM-6 - Medium - CCI-000366 - V-271736 - SV-271736r1091920_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002392
Vuln IDs
  • V-271736
Rule IDs
  • SV-271736r1091920_rule
Using interactive or recovery boot, the console user could disable auditing, firewalls, or other services, weakening system security.
Checks: C-75786r1091918_chk

Verify that OL 9 GRUB 2 is configured to disable interactive boot. Check that the current GRUB 2 configuration disables the ability of systemd to spawn an interactive boot process with the following command: $ sudo grubby --info=ALL | grep args | grep 'systemd.confirm_spawn' If any output is returned, this is a finding.

Fix: F-75693r1091919_fix

Configure OL 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
OL 9 must disable virtual system calls.
SC-3 - Medium - CCI-001084 - V-271737 - SV-271737r1094967_rule
RMF Control
SC-3
Severity
Medium
CCI
CCI-001084
Version
OL09-00-002393
Vuln IDs
  • V-271737
Rule IDs
  • SV-271737r1094967_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 OL 6 components, virtual system calls will have to be enabled so the components function properly.
Checks: C-75787r1091921_chk

Verify that OL 9 disables virtual system calls. Check the current GRUB 2 configuration with the following command: $ sudo grubby --info=ALL | grep args | grep -v 'vsyscall=none' If any output is returned, this is a finding. Check that virtual system calls are disabled by default to persist in kernel updates with the following command: $ grep vsyscall /etc/default/grub GRUB_CMDLINE_LINUX="vsyscall=none" If "vsyscall" is not set to "none", is missing or commented out, and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-75694r1091922_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
OL 9 must clear the page allocator to prevent use-after-free attacks.
SC-3 - Medium - CCI-001084 - V-271738 - SV-271738r1092600_rule
RMF Control
SC-3
Severity
Medium
CCI
CCI-001084
Version
OL09-00-002394
Vuln IDs
  • V-271738
Rule IDs
  • SV-271738r1092600_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.
Checks: C-75788r1092599_chk

Verify that OL 9 clears the page allocator to prevent use-after-free attacks. Verify that GRUB 2 is configured to enable page poisoning to mitigate use-after-free vulnerabilities. Check that the current GRUB 2 configuration has page poisoning enabled with the following command: $ sudo grubby --info=ALL | grep args | grep -v 'page_poison=1' If any output is returned, this is a finding. Check that page poisoning is enabled by default to persist in kernel updates with the following command: $ grep page_poison /etc/default/grub GRUB_CMDLINE_LINUX="page_poison=1" If "page_poison" is not set to "1", is missing or commented out, this is a finding.

Fix: F-75695r1091925_fix

Configure OL 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
OL 9 systemd-journald service must be enabled.
SC-24 - Medium - CCI-001665 - V-271739 - SV-271739r1091929_rule
RMF Control
SC-24
Severity
Medium
CCI
CCI-001665
Version
OL09-00-002400
Vuln IDs
  • V-271739
Rule IDs
  • SV-271739r1091929_rule
In the event of a system failure, OL 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.
Checks: C-75789r1091927_chk

Verify that OL 9 systemd-journald is active with the following command: $ systemctl is-active systemd-journald active If the systemd-journald service is not active, this is a finding.

Fix: F-75696r1091928_fix

Configure OL 9 to enable the systemd-journald service with the following command: $ sudo systemctl enable --now systemd-journald

b
OL 9 must enable kernel parameters to enforce discretionary access control on hardlinks.
AC-3 - Medium - CCI-002165 - V-271740 - SV-271740r1091932_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-002165
Version
OL09-00-002401
Vuln IDs
  • V-271740
Rule IDs
  • SV-271740r1091932_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
Checks: C-75790r1091930_chk

Verify that OL 9 is configured to enable DAC on hardlinks. Check the status of the fs.protected_hardlinks kernel parameter with the following command: $ sudo sysctl fs.protected_hardlinks fs.protected_hardlinks = 1 If "fs.protected_hardlinks" is not set to "1" or is missing, this is a finding.

Fix: F-75697r1091931_fix

Configure OL 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
OL 9 must enable kernel parameters to enforce discretionary access control on symlinks.
AC-3 - Medium - CCI-002165 - V-271741 - SV-271741r1091935_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-002165
Version
OL09-00-002402
Vuln IDs
  • V-271741
Rule IDs
  • SV-271741r1091935_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
Checks: C-75791r1091933_chk

Verify that OL 9 is configured to enable DAC on symlinks. Check the status of the fs.protected_symlinks kernel parameter with the following command: $ sudo sysctl fs.protected_symlinks fs.protected_symlinks = 1 If "fs.protected_symlinks " is not set to "1" or is missing, this is a finding.

Fix: F-75698r1091934_fix

Configure OL 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
OL 9 debug-shell systemd service must be disabled.
AC-6 - Medium - CCI-002235 - V-271742 - SV-271742r1091938_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-002235
Version
OL09-00-002403
Vuln IDs
  • V-271742
Rule IDs
  • SV-271742r1091938_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.
Checks: C-75792r1091936_chk

Verify that OL 9 is configured to mask the debug-shell systemd service with the following command: $ systemctl status debug-shell.service debug-shell.service Loaded: masked (Reason: Unit debug-shell.service is masked.) Active: inactive (dead) If the "debug-shell.service" is loaded and not masked, this is a finding.

Fix: F-75699r1091937_fix

Configure OL 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
OL 9 IP tunnels must use 140-3 approved cryptographic algorithms.
AC-17 - Medium - CCI-000068 - V-271743 - SV-271743r1092635_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-000068
Version
OL09-00-002404
Vuln IDs
  • V-271743
Rule IDs
  • SV-271743r1092635_rule
Overriding the system crypto policy makes the behavior of the Libreswan service violate expectations and makes system configuration more fragmented.
Checks: C-75793r1092601_chk

Note: If the IPsec service is not installed, this requirement is Not Applicable. Verify that the IPsec service uses the systemwide cryptographic policy with the following command: $ grep include /etc/ipsec.conf /etc/ipsec.d/*.conf /etc/ipsec.conf:include /etc/crypto-policies/back-ends/libreswan.config If the IPsec configuration file does not contain "include /etc/crypto-policies/back-ends/libreswan.config", this is a finding.

Fix: F-75700r1092602_fix

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

b
OL 9 must have mail aliases to notify the information system security officer (ISSO) and system administrator (SA) (at a minimum) in the event of an audit processing failure.
AU-5 - Medium - CCI-000139 - V-271744 - SV-271744r1091944_rule
RMF Control
AU-5
Severity
Medium
CCI
CCI-000139
Version
OL09-00-002405
Vuln IDs
  • V-271744
Rule IDs
  • SV-271744r1091944_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.
Checks: C-75794r1091942_chk

Verify that OL 9 is configured to notify the appropriate interactive users in the event of an audit processing failure. Find the alias maps that are being used with the following command: $ postconf alias_maps alias_maps = hash:/etc/aliases Query the Postfix alias maps for an alias for the root user with the following command: $ postmap -q root hash:/etc/aliases isso If an alias is not set, this is a finding.

Fix: F-75701r1091943_fix

Configure OL 9 to have mail aliases notify the ISSO and SA (at a minimum) in the event of an audit processing failure. Edit the aliases map file (by default /etc/aliases) used by Postfix and configure a root alias (using the user ISSO as an example): root: ISSO Update the aliases database with the command: $ sudo newaliases

b
OL 9 must restrict access to the kernel message buffer.
SC-2 - Medium - CCI-001082 - V-271745 - SV-271745r1091947_rule
RMF Control
SC-2
Severity
Medium
CCI
CCI-001082
Version
OL09-00-002406
Vuln IDs
  • V-271745
Rule IDs
  • SV-271745r1091947_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
Checks: C-75795r1091945_chk

Verify that OL 9 is configured to restrict access to the kernel message buffer with the following commands: Check the status of the kernel.dmesg_restrict kernel parameter. $ sudo sysctl kernel.dmesg_restrict kernel.dmesg_restrict = 1 If "kernel.dmesg_restrict" is not set to "1" or is missing, this is a finding.

Fix: F-75702r1091946_fix

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

b
OL 9 must prevent kernel profiling by nonprivileged users.
SC-2 - Medium - CCI-001082 - V-271746 - SV-271746r1091950_rule
RMF Control
SC-2
Severity
Medium
CCI
CCI-001082
Version
OL09-00-002407
Vuln IDs
  • V-271746
Rule IDs
  • SV-271746r1091950_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
Checks: C-75796r1091948_chk

Verify that OL 9 is configured to prevent kernel profiling by nonprivileged users with the following commands: Check the status of the kernel.perf_event_paranoid kernel parameter. $ sysctl kernel.perf_event_paranoid kernel.perf_event_paranoid = 2 If "kernel.perf_event_paranoid" is not set to "2" or is missing, this is a finding.

Fix: F-75703r1091949_fix

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

b
OL 9 must restrict exposed kernel pointer addresses access.
SC-2 - Medium - CCI-001082 - V-271747 - SV-271747r1091953_rule
RMF Control
SC-2
Severity
Medium
CCI
CCI-001082
Version
OL09-00-002408
Vuln IDs
  • V-271747
Rule IDs
  • SV-271747r1091953_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
Checks: C-75797r1091951_chk

Verify that OL 9 restricts access to exposed kernel pointers with the following command: $ sysctl kernel.kptr_restrict kernel.kptr_restrict = 1

Fix: F-75704r1091952_fix

Configure OL 9 to prevent the leak of kernel pointers to unprivileged users. Add or edit the following line in /etc/sysctl.d/99-sysctl.conf system configuration file: kernel.kptr_restrict = 1 Reload settings from all system configuration files with the following command: $ sudo sysctl --system

b
OL 9 must disable access to network bpf system call from nonprivileged processes.
SC-2 - Medium - CCI-001082 - V-271748 - SV-271748r1091956_rule
RMF Control
SC-2
Severity
Medium
CCI
CCI-001082
Version
OL09-00-002409
Vuln IDs
  • V-271748
Rule IDs
  • SV-271748r1091956_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.
Checks: C-75798r1091954_chk

Verify that OL 9 prevents privilege escalation thru the kernel by disabling access to the bpf system call with the following commands: $ sysctl kernel.unprivileged_bpf_disabled kernel.unprivileged_bpf_disabled = 1 If the returned line does not have a value of "1", or a line is not returned, this is a finding.

Fix: F-75705r1091955_fix

Configure OL 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
OL 9 must restrict usage of ptrace to descendant processes.
SC-2 - Medium - CCI-001082 - V-271749 - SV-271749r1091959_rule
RMF Control
SC-2
Severity
Medium
CCI
CCI-001082
Version
OL09-00-002410
Vuln IDs
  • V-271749
Rule IDs
  • SV-271749r1091959_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).
Checks: C-75799r1091957_chk

Verify that OL 9 restricts usage of ptrace to descendant processes with the following commands: $ sysctl kernel.yama.ptrace_scope kernel.yama.ptrace_scope = 1 If the returned line does not have a value of "1", or a line is not returned, this is a finding.

Fix: F-75706r1091958_fix

Configure OL 9 to restrict usage of ptrace to descendant processes by adding the following line to "/etc/sysctl.d/99-sysctl.conf": 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
OL 9 must automatically exit interactive command shell user sessions after 15 minutes of inactivity.
SC-10 - Medium - CCI-001133 - V-271750 - SV-271750r1091962_rule
RMF Control
SC-10
Severity
Medium
CCI
CCI-001133
Version
OL09-00-002411
Vuln IDs
  • V-271750
Rule IDs
  • SV-271750r1091962_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
Checks: C-75800r1091960_chk

Verify that OL 9 is configured to exit interactive command shell user sessions after 15 minutes of inactivity or less with the following command: $ grep -i tmout /etc/profile /etc/profile.d/*.sh /etc/profile.d/tmout.sh:declare -xr TMOUT=900 If "TMOUT" is not set to "900" or less in a script located in the "/etc/'profile.d/ directory, is missing or is commented out, this is a finding.

Fix: F-75707r1091961_fix

Configure OL 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

c
OL 9 must be configured so that the systemd Ctrl-Alt-Delete burst key sequence is disabled.
AC-6 - High - CCI-002235 - V-271751 - SV-271751r1091965_rule
RMF Control
AC-6
Severity
High
CCI
CCI-002235
Version
OL09-00-002412
Vuln IDs
  • V-271751
Rule IDs
  • SV-271751r1091965_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.
Checks: C-75801r1091963_chk

Verify that OL 9 is configured to not reboot the system when Ctrl-Alt-Delete is pressed seven times within two seconds with the following command: $ grep -i ctrl /etc/systemd/system.conf CtrlAltDelBurstAction=none If the "CtrlAltDelBurstAction" is not set to "none", commented out, or is missing, this is a finding.

Fix: F-75708r1091964_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
OL 9 must be configured so that the x86 Ctrl-Alt-Delete key sequence is disabled.
AC-6 - High - CCI-002235 - V-271752 - SV-271752r1091968_rule
RMF Control
AC-6
Severity
High
CCI
CCI-002235
Version
OL09-00-002413
Vuln IDs
  • V-271752
Rule IDs
  • SV-271752r1091968_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.
Checks: C-75802r1091966_chk

Verify that OL 9 is not configured to reboot the system when Ctrl-Alt-Delete is pressed with the following command: $ systemctl status ctrl-alt-del.target ctrl-alt-del.target Loaded: masked (Reason: Unit ctrl-alt-del.target is masked.) Active: inactive (dead) If the "ctrl-alt-del.target" is loaded and not masked, this is a finding.

Fix: F-75709r1091967_fix

Configure OL 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

a
OL 9 must limit the number of concurrent sessions to ten for all accounts and/or account types.
AC-10 - Low - CCI-000054 - V-271753 - SV-271753r1091971_rule
RMF Control
AC-10
Severity
Low
CCI
CCI-000054
Version
OL09-00-002415
Vuln IDs
  • V-271753
Rule IDs
  • SV-271753r1091971_rule
Operating system management includes the ability to control the number of users and user sessions that use 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.
Checks: C-75803r1091969_chk

Verify that OL 9 limits the number of concurrent sessions to "10" for all accounts and/or account types with the following command: $ grep -r -s maxlogins /etc/security/limits.conf /etc/security/limits.d/*.conf /etc/security/limits.conf:* hard maxlogins 10 This can be set as a global domain (with the * wildcard) but may be set differently for multiple domains. If the "maxlogins" item is missing, commented out, or the value is set greater than "10" and is not documented with the information system security officer (ISSO) as an operational requirement for all domains that have the "maxlogins" item assigned, this is a finding.

Fix: F-75710r1091970_fix

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

b
OL 9 must automatically lock an account when three unsuccessful logon attempts occur during a 15-minute time period.
AC-7 - Medium - CCI-002238 - V-271754 - SV-271754r1091974_rule
RMF Control
AC-7
Severity
Medium
CCI
CCI-002238
Version
OL09-00-002416
Vuln IDs
  • V-271754
Rule IDs
  • SV-271754r1091974_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
Checks: C-75804r1091972_chk

Note: If the system administrator demonstrates the use of an approved centralized account management method that locks an account after three unsuccessful logon attempts within a period of 15 minutes, this requirement is Not Applicable. Verify that OL 9 locks an account after three unsuccessful logon attempts within a period of 15 minutes with the following command: $ grep fail_interval /etc/security/faillock.conf fail_interval = 900 If the "fail_interval" option is not set to "900" or less (but not "0"), the line is commented out, or the line is missing, this is a finding.

Fix: F-75711r1091973_fix

Configure OL 9 to lock out the "root" account after a number of incorrect login attempts within 15 minutes using "pam_faillock.so" by enabling the feature using the following command: $ sudo authselect enable-feature with-faillock Then edit the "/etc/security/faillock.conf" file as follows: fail_interval = 900

b
OL 9 must maintain an account lock until the locked account is released by an administrator.
AC-7 - Medium - CCI-002238 - V-271755 - SV-271755r1091977_rule
RMF Control
AC-7
Severity
Medium
CCI
CCI-002238
Version
OL09-00-002417
Vuln IDs
  • V-271755
Rule IDs
  • SV-271755r1091977_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
Checks: C-75805r1091975_chk

Verify that OL 9 is configured to lock an account until released by an administrator after three unsuccessful logon attempts with the command: $ grep 'unlock_time =' /etc/security/faillock.conf unlock_time = 0 If the "unlock_time" option is not set to "0", the line is missing, or commented out, this is a finding.

Fix: F-75712r1091976_fix

Configure OL 9 to lock an account until released by an administrator after three unsuccessful logon attempts with the command: $ sudo authselect enable-feature with-faillock Then edit the "/etc/security/faillock.conf" file as follows: unlock_time = 0

c
OL 9 local disk partitions must implement cryptographic mechanisms to prevent unauthorized disclosure or modification of all information that requires at rest protection.
SC-28 - High - CCI-002476 - V-271756 - SV-271756r1091980_rule
RMF Control
SC-28
Severity
High
CCI
CCI-002476
Version
OL09-00-002418
Vuln IDs
  • V-271756
Rule IDs
  • SV-271756r1091980_rule
OL 9 systems handling data requiring "data at rest" protections must employ cryptographic mechanisms to prevent unauthorized disclosure and modification of the information at rest. Selection of a cryptographic mechanism is based on the need to protect the integrity of organizational information. The strength of the mechanism is commensurate with the security category and/or classification of the information. Organizations have the flexibility to either encrypt all information on storage devices (i.e., full disk encryption) or encrypt specific data structures (e.g., files, records, or fields). Satisfies: SRG-OS-000405-GPOS-00184, SRG-OS-000185-GPOS-00079, SRG-OS-000404-GPOS-00183
Checks: C-75806r1091978_chk

Note: If there is a documented and approved reason for not having data-at-rest encryption, this requirement is Not Applicable. Verify that OL 9 prevents unauthorized disclosure or modification of all information requiring at-rest protection by using disk encryption. Verify all system partitions are encrypted with the following command: $ sudo blkid /dev/map per/ol-root: UUID="67b7d7fe-de60-6fd0-befb-e6748cf97743" TYPE="crypto_LUKS" Every persistent disk partition present must be of type "crypto_LUKS". If any partitions other than the boot partition or pseudo file systems (such as /proc or /sys) or temporary file systems (that are tmpfs) are not type "crypto_LUKS", ask the administrator to indicate how the partitions are encrypted. If there is no evidence that these partitions are encrypted, this is a finding.

Fix: F-75713r1091979_fix

Configure OL 9 to prevent unauthorized modification of all information at rest by using disk encryption. Encrypting a partition in an already installed system is more difficult, because existing partitions will need to be resized and changed. To encrypt an entire partition, dedicate a partition for encryption in the partition layout.

c
OL 9 file systems must not contain shosts.equiv files.
CM-6 - High - CCI-000366 - V-271757 - SV-271757r1092604_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
OL09-00-002419
Vuln IDs
  • V-271757
Rule IDs
  • SV-271757r1092604_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.
Checks: C-75807r1091981_chk

Verify that OL 9 has no "shosts.equiv" files on the system with the following command: $ sudo find / -name shosts.equiv If a "shosts.equiv" file is found, this is a finding.

Fix: F-75714r1091982_fix

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

c
OL 9 file systems must not contain .shosts files.
CM-6 - High - CCI-000366 - V-271758 - SV-271758r1091986_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
OL09-00-002420
Vuln IDs
  • V-271758
Rule IDs
  • SV-271758r1091986_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.
Checks: C-75808r1091984_chk

Verify that OL 9 has no ".shosts" files on the system with the following command: $ sudo find / -name .shosts If a ".shosts" file is found, this is a finding.

Fix: F-75715r1091985_fix

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

b
OL 9 must implement DOD-approved encryption in the bind package.
SC-8 - Medium - CCI-002418 - V-271759 - SV-271759r1091989_rule
RMF Control
SC-8
Severity
Medium
CCI
CCI-002418
Version
OL09-00-002421
Vuln IDs
  • V-271759
Rule IDs
  • SV-271759r1091989_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. OL 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
Checks: C-75809r1091987_chk

Note: If the "bind" package is not installed, this requirement is Not Applicable. Verify that OL 9 BIND uses the system crypto policy with the following command: $ sudo grep include /etc/named.conf include "/etc/crypto-policies/back-ends/bind.config";' If BIND is installed and the BIND config file does not include the "/etc/crypto-policies/back-ends/bind.config" directive, or the line is commented out, this is a finding.

Fix: F-75716r1091988_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";

b
OL 9 must implement nonexecutable data to protect its memory from unauthorized code execution.
SI-16 - Medium - CCI-002824 - V-271760 - SV-271760r1091992_rule
RMF Control
SI-16
Severity
Medium
CCI
CCI-002824
Version
OL09-00-002422
Vuln IDs
  • V-271760
Rule IDs
  • SV-271760r1091992_rule
ExecShield uses the segmentation feature on all x86 systems to prevent execution in memory higher than a certain address. It writes an address as a limit in the code segment descriptor, to control where code can be executed, on a per-process basis. When the kernel places a process's memory regions such as the stack and heap higher than this address, the hardware prevents execution in that address range. This is enabled by default on the latest Oracle systems if supported by the hardware.
Checks: C-75810r1091990_chk

Verify that OL 9 ExecShield is enabled on 64-bit systems with the following command: $ sudo dmesg | grep '[NX|DX]*protection' [ 0.000000] NX (Execute Disable) protection: active If "dmesg" does not show "NX (Execute Disable) protection" active, this is a finding.

Fix: F-75717r1091991_fix

Update the GRUB 2 bootloader configuration. Run the following command: $ sudo grubby --update-kernel=ALL --remove-args=noexec

b
OL 9 must implement address space layout randomization (ASLR) to protect its memory from unauthorized code execution.
SI-16 - Medium - CCI-002824 - V-271761 - SV-271761r1091995_rule
RMF Control
SI-16
Severity
Medium
CCI
CCI-002824
Version
OL09-00-002423
Vuln IDs
  • V-271761
Rule IDs
  • SV-271761r1091995_rule
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 to repurpose it using return-oriented programming (ROP) techniques.
Checks: C-75811r1091993_chk

Verify that OL 9 is implementing ASLR with the following command: $ sysctl kernel.randomize_va_space kernel.randomize_va_space = 2 If "kernel.randomize_va_space" is not set to "2" or is missing, this is a finding.

Fix: F-75718r1091994_fix

Configure OL 9 to implement address space layout randomization (ASLR) to protect its memory from unauthorized code execution. 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
OL 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.
IA-7 - Medium - CCI-000803 - V-271762 - SV-271762r1091998_rule
RMF Control
IA-7
Severity
Medium
CCI
CCI-000803
Version
OL09-00-002424
Vuln IDs
  • V-271762
Rule IDs
  • SV-271762r1091998_rule
Overriding the system crypto policy makes the behavior of Kerberos violate expectations and makes system configuration more fragmented.
Checks: C-75812r1091996_chk

Verify that OL 9 configures Kerberos to use the systemwide crypto policy with the following command: $ file /etc/crypto-policies/back-ends/krb5.config /etc/crypto-policies/back-ends/krb5.config: symbolic link to /usr/share/crypto-policies/FIPS/krb5.txt If the symlink does not exist or points to a different target, this is a finding.

Fix: F-75719r1091997_fix

Configure Kerberos to use system crypto policy. Remove incorrect symlink if it exists using the following command: $ sudo rm /etc/crypto-policies/back-ends/krb5.config Create a symlink pointing to system crypto policy in the Kerberos configuration using the following command: $ sudo ln -s /usr/share/crypto-policies/FIPS/krb5.txt /etc/crypto-policies/back-ends/krb5.config

b
OL 9 must be configured to prevent unrestricted mail relaying.
CM-6 - Medium - CCI-000366 - V-271763 - SV-271763r1092001_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002425
Vuln IDs
  • V-271763
Rule IDs
  • SV-271763r1092001_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.
Checks: C-75813r1091999_chk

Note: If postfix is not installed, this requirement is Not Applicable. Verify that OL 9 is configured to prevent unrestricted mail relaying with the following command: $ postconf -n smtpd_client_restrictions smtpd_client_restrictions = permit_mynetworks,reject If the "smtpd_client_restrictions" parameter contains any entries other than "permit_mynetworks" and "reject", and the additional entries have not been documented with the information system security officer (ISSO), this is a finding.

Fix: F-75720r1092000_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
OL 9 Trivial File Transfer Protocol (TFTP) daemon must be configured to operate in secure mode if the TFTP server is required.
CM-6 - Medium - CCI-000366 - V-271764 - SV-271764r1092004_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002426
Vuln IDs
  • V-271764
Rule IDs
  • SV-271764r1092004_rule
Restricting TFTP to a specific directory prevents remote users from copying, transferring, or overwriting system files. Using the "-s" option causes the TFTP service to only serve files from the given directory.
Checks: C-75814r1092002_chk

Verify that OL 9 TFTP daemon is configured to operate in secure mode. Check if a TFTP server is installed with the following command: $ sudo dnf list --installed tftp-server Installed Packages tftp-server.x86_64 5.2-38.el9 @ol9_appstream Note: If a TFTP server is not installed, this requirement is Not Applicable. If a TFTP server is installed, check for the server arguments with the following command: $ systemctl cat tftp | grep ExecStart ExecStart=/usr/sbin/in.tftpd -s /var/lib/tftpboot If the "ExecStart" line does not have a "-s" option, and a subdirectory is not assigned, this is a finding.

Fix: F-75721r1092003_fix

Configure the TFTP daemon to operate in secure mode. Find the path for the systemd service. $ sudo systemctl show tftp | grep FragmentPath= FragmentPath=/etc/systemd/system/tftp.service Edit the ExecStart line on that file to add the -s option with a subdirectory. ExecStart=/usr/sbin/in.tftpd -s /var/lib/tftpboot

b
OL 9 must be configured so that local initialization files do not execute world-writable programs.
CM-6 - Medium - CCI-000366 - V-271765 - SV-271765r1092007_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002427
Vuln IDs
  • V-271765
Rule IDs
  • SV-271765r1092007_rule
If user start-up files execute world-writable programs, especially in unprotected directories, they could be maliciously modified to destroy user files or otherwise compromise the system at the user level. If the system is compromised at the user level, it is easier to elevate privileges to eventually compromise the system at the root and network level.
Checks: C-75815r1092005_chk

Verify that OL 9 is configured so that local initialization files do not execute world-writable programs with the following command: Note: The example will be for a system that is configured to create user home directories in the "/home" directory. $ sudo find /home -perm -002 -type f -name ".[^.]*" -exec ls -ld {} \; If any local initialization files are found to reference world-writable files, this is a finding.

Fix: F-75722r1092006_fix

Configure OL 9 so that local initialization files do not execute world-writable programs. Set the mode on files being executed by the local initialization files with the following command: $ sudo chmod 0755 <file>

b
OL 9 must prevent the loading of a new kernel for later execution.
- Medium - CCI-003992 - V-271766 - SV-271766r1092010_rule
RMF Control
Severity
Medium
CCI
CCI-003992
Version
OL09-00-002428
Vuln IDs
  • V-271766
Rule IDs
  • SV-271766r1092010_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.
Checks: C-75816r1092008_chk

Verify that OL 9 is configured to disable kernel image loading. Check the status of the kernel.kexec_load_disabled kernel parameter with the following command: $ sysctl kernel.kexec_load_disabled kernel.kexec_load_disabled = 1 If "kernel.kexec_load_disabled" is not set to "1" or is missing, this is a finding.

Fix: F-75723r1092009_fix

Configure OL 9 to prevent the loading of a new kernel for later execution. 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
OL 9 must prevent system daemons from using Kerberos for authentication.
IA-7 - Medium - CCI-000803 - V-271767 - SV-271767r1092013_rule
RMF Control
IA-7
Severity
Medium
CCI
CCI-000803
Version
OL09-00-002429
Vuln IDs
  • V-271767
Rule IDs
  • SV-271767r1092013_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. OL 9 systems using 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 use authentication that meets DOD requirements. This allows for Security Levels 1, 2, 3, or 4 for use on a general-purpose computing system.
Checks: C-75817r1092011_chk

Verify that OL 9 prevents system daemons from using Kerberos for authentication with the following command: $ ls -al /etc/*.keytab ls: cannot access '/etc/*.keytab': No such file or directory If this command produces any "keytab" file(s), this is a finding.

Fix: F-75724r1092012_fix

Configure OL 9 to prevent system daemons from using Kerberos for authentication. Remove any files with the .keytab extension from the operating system. $ sudo rm -f /etc/*.keytab

b
OL 9 must enable hardening for the Berkeley Packet Filter (BPF) just-in-time compiler.
CM-6 - Medium - CCI-000366 - V-271768 - SV-271768r1092016_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002430
Vuln IDs
  • V-271768
Rule IDs
  • SV-271768r1092016_rule
When hardened, the extended 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".
Checks: C-75818r1092014_chk

Verify that OL 9 enables hardening for the BPF JIT with the following commands: $ sudo sysctl net.core.bpf_jit_harden net.core.bpf_jit_harden = 2 If the returned line does not have a value of "2", or a line is not returned, this is a finding.

Fix: F-75725r1092015_fix

Configure OL 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
OL 9 must be configured so that all system device files are correctly labeled to prevent unauthorized modification.
CM-6 - Medium - CCI-000366 - V-271769 - SV-271769r1092019_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002500
Vuln IDs
  • V-271769
Rule IDs
  • SV-271769r1092019_rule
If an unauthorized or modified device is allowed to exist on the system, there is the possibility the system may perform unintended or unauthorized operations.
Checks: C-75819r1092017_chk

Verify that OL 9 configures all system device files to be correctly labeled to prevent unauthorized modification. List all device files on the system that are incorrectly labeled with the following commands: Note: Device files are normally found under "/dev", but applications may place device files in other directories and may necessitate a search of the entire system. $ sudo find /dev -context *:device_t:* \( -type c -o -type b \) -printf "%p %Z\n" $ sudo find /dev -context *:unlabeled_t:* \( -type c -o -type b \) -printf "%p %Z\n" Note: There are device files, such as "/dev/dtrace/helper" or "/dev/vmci", that are used for system trace capabilities or when the operating system is a host virtual machine. They will not be owned by a user on the system and require the "device_t" label to operate. These device files are not a finding. If there is output from either of these commands, other than already noted, this is a finding.

Fix: F-75726r1092018_fix

Configure OL 9 to correctly label all system devices. Restore the SELinux policy for the affected device file from the system policy database using the following command: $ sudo restorecon -v <device_path> Substituting "<device_path>" with the path to the affected device file (from the output of the previous commands). An example device file path would be "/dev/ttyUSB0". If the output of the above command does not indicate that the device was relabeled to a more specific SELinux type label, then the SELinux policy of the system must be updated with more specific policy for the device class specified. If a package was used to install support for a device class, that package could be reinstalled using the following command: $ sudo dnf reinstall -y <package_name> If a package was not used to install the SELinux policy for a given device class, then it must be generated manually and provide specific type labels.

b
OL 9 must not have unauthorized accounts.
CM-6 - Medium - CCI-000366 - V-271770 - SV-271770r1092022_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002501
Vuln IDs
  • V-271770
Rule IDs
  • SV-271770r1092022_rule
Accounts providing no operational purpose provide additional opportunities for system compromise. Unnecessary accounts include user accounts for individuals not requiring access to the system and application accounts for applications not installed on the system.
Checks: C-75820r1092020_chk

Verify that OL 9 prohibits unauthorized interactive user accounts with the following command: $ less /etc/passwd root:x:0:0:root:/root:/bin/bash ... games:x:12:100:games:/usr/games:/sbin/nologin scsaustin:x:1001:1001:scsaustin:/home/scsaustin:/bin/bash djohnson:x:1002:1002:djohnson:/home/djohnson:/bin/bash Interactive user account, generally will have a user identifier (UID) of 1000 or greater, a home directory in a specific partition, and an interactive shell. Obtain the list of interactive user accounts authorized to be on the system from the system administrator or information system security officer (ISSO) and compare it to the list of local interactive user accounts on the system. If there are unauthorized local user accounts on the system, this is a finding.

Fix: F-75727r1092021_fix

Remove unauthorized local interactive user accounts with the following command where <unauthorized_user> is the unauthorized account: $ sudo userdel <unauthorized_user>

b
OL 9 SSH private host key files must have mode 0640 or less permissive.
CM-6 - Medium - CCI-000366 - V-271771 - SV-271771r1092025_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002502
Vuln IDs
  • V-271771
Rule IDs
  • SV-271771r1092025_rule
If an unauthorized user obtains the private SSH host key file, the host could be impersonated.
Checks: C-75821r1092023_chk

Verify that OL 9 SSH private host key files have a mode of "0640" or less permissive with the following command: $ ls -l /etc/ssh/*_key 640 /etc/ssh/ssh_host_dsa_key 640 /etc/ssh/ssh_host_ecdsa_key 640 /etc/ssh/ssh_host_ed25519_key 640 /etc/ssh/ssh_host_rsa_key If any private host key file has a mode more permissive than "0640", this is a finding.

Fix: F-75728r1092024_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
OL 9 SSH public host key files must have mode 0644 or less permissive.
CM-6 - Medium - CCI-000366 - V-271772 - SV-271772r1092028_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002503
Vuln IDs
  • V-271772
Rule IDs
  • SV-271772r1092028_rule
If a public host key file is modified by an unauthorized user, the SSH service may be compromised.
Checks: C-75822r1092026_chk

Verify that OL 9 SSH public host key files have a mode of "0644" or less permissive with the following command: Note: SSH public key files may be found in other directories on the system depending on the installation. $ sudo stat -c "%a %n" /etc/ssh/*.pub 644 /etc/ssh/ssh_host_dsa_key.pub 644 /etc/ssh/ssh_host_ecdsa_key.pub 644 /etc/ssh/ssh_host_ed25519_key.pub 644 /etc/ssh/ssh_host_rsa_key.pub If any key.pub file has a mode more permissive than "0644", this is a finding.

Fix: F-75729r1092027_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
OL 9 system commands must be group-owned by root or a system account.
CM-5 - Medium - CCI-001499 - V-271773 - SV-271773r1092031_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
OL09-00-002504
Vuln IDs
  • V-271773
Rule IDs
  • SV-271773r1092031_rule
If OL 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 OL 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.
Checks: C-75823r1092029_chk

Verify that OL 9 system commands contained in the following directories are group-owned by "root", or a required system account, with the following command: $ sudo find -L /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin ! -group root -exec ls -l {} \; If any system commands are returned and is not group-owned by a required system account, this is a finding.

Fix: F-75730r1092030_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
OL 9 system commands must be owned by root.
CM-5 - Medium - CCI-001499 - V-271774 - SV-271774r1092034_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
OL09-00-002505
Vuln IDs
  • V-271774
Rule IDs
  • SV-271774r1092034_rule
If OL 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 OL 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.
Checks: C-75824r1092032_chk

Verify that OL 9 system commands contained in the following directories are owned by "root" with the following command: $ sudo find -L /bin /sbin /usr/bin /usr/sbin /usr/libexec /usr/local/bin /usr/local/sbin ! -user root -exec ls -l {} \; If any system commands are found to not be owned by root, this is a finding.

Fix: F-75731r1092033_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
OL 9 system commands must have mode 755 or less permissive.
CM-5 - Medium - CCI-001499 - V-271775 - SV-271775r1092037_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
OL09-00-002506
Vuln IDs
  • V-271775
Rule IDs
  • SV-271775r1092037_rule
If OL 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 OL 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.
Checks: C-75825r1092035_chk

Verify that OL 9 system commands contained in the following directories have mode "755" or less permissive with the following command: $ sudo find -L /bin /sbin /usr/bin /usr/sbin /usr/libexec /usr/local/bin /usr/local/sbin -perm /022 -exec ls -l {} \; If any system commands are found to be group-writable or world-writable, this is a finding.

Fix: F-75732r1092036_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
OL 9 SSH server configuration file must be group-owned by root.
CM-6 - Medium - CCI-000366 - V-271776 - SV-271776r1092040_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002507
Vuln IDs
  • V-271776
Rule IDs
  • SV-271776r1092040_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.
Checks: C-75826r1092038_chk

Verify that OL 9 configures group ownership of the "/etc/ssh/sshd_config" file with the following command: $ ls -al /etc/ssh/sshd_config rw-------. 1 root root 3669 Feb 22 11:34 /etc/ssh/sshd_config If the "/etc/ssh/sshd_config" file does not have a group owner of "root", this is a finding.

Fix: F-75733r1092039_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
OL 9 SSH server configuration file must be owned by root.
CM-6 - Medium - CCI-000366 - V-271777 - SV-271777r1092043_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002508
Vuln IDs
  • V-271777
Rule IDs
  • SV-271777r1092043_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.
Checks: C-75827r1092041_chk

Verify that OL 9 configures ownership of the "/etc/ssh/sshd_config" file with the following command: $ ls -al /etc/ssh/sshd_config rw-------. 1 root root 3669 Feb 22 11:34 /etc/ssh/sshd_config If the "/etc/ssh/sshd_config" file does not have an owner of "root", this is a finding.

Fix: F-75734r1092042_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
OL 9 SSH server configuration file must have mode 0600 or less permissive.
CM-6 - Medium - CCI-000366 - V-271778 - SV-271778r1092046_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002509
Vuln IDs
  • V-271778
Rule IDs
  • SV-271778r1092046_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.
Checks: C-75828r1092044_chk

Verify that OL 9 configures permissions of the "/etc/ssh/sshd_config" file with the following command: $ ls -al /etc/ssh/sshd_config rw-------. 1 root root 3669 Feb 22 11:34 /etc/ssh/sshd_config If the "/etc/ssh/sshd_config" permissions are not "0600", this is a finding.

Fix: F-75735r1092045_fix

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

b
OL 9 must be configured so that a sticky bit must be set on all public directories.
SC-4 - Medium - CCI-001090 - V-271779 - SV-271779r1092049_rule
RMF Control
SC-4
Severity
Medium
CCI
CCI-001090
Version
OL09-00-002510
Vuln IDs
  • V-271779
Rule IDs
  • SV-271779r1092049_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.
Checks: C-75829r1092047_chk

Verify that OL 9 world-writable directories have the sticky bit set. Determine if all world-writable directories have the sticky bit set by running the following command: $ sudo find / -type d \( -perm -0002 -a ! -perm -1000 \) -print 2&gt;/dev/null drwxrwxrwt 7 root root 4096 Jul 26 11:19 /tmp If any of the returned directories are world-writable and do not have the sticky bit set, this is a finding.

Fix: F-75736r1092048_fix

Configure all world-writable directories to have the sticky bit set to prevent unauthorized and unintended information transferred via shared system resources. Set the sticky bit on all world-writable directories using the command, replace "[World-Writable Directory]" with any directory path missing the sticky bit: $ sudo chmod a+t [World-Writable Directory]

b
OL 9 local files and directories must have a valid group owner.
CM-6 - Medium - CCI-000366 - V-271780 - SV-271780r1092052_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002511
Vuln IDs
  • V-271780
Rule IDs
  • SV-271780r1092052_rule
Files without a valid group owner may be unintentionally inherited if a group is assigned the same Group Identifier (GID) as the GID of the files without a valid group owner.
Checks: C-75830r1092050_chk

Verify that OL 9 local files and directories have a valid group with the following command: $ df --local -P | awk {'if (NR!=1) print $6'} | sudo xargs -I '{}' find '{}' -xdev -nogroup If any files on the system do not have an assigned group, this is a finding.

Fix: F-75737r1092051_fix

Configure OL 9 local files and directories to have a valid group owner. Either remove all files and directories from OL 9 that do not have a valid group, or assign a valid group to all files and directories on the system with the "chgrp" command: $ sudo chgrp <group> <file>

b
OL 9 local files and directories must have a valid owner.
CM-6 - Medium - CCI-000366 - V-271781 - SV-271781r1092055_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002512
Vuln IDs
  • V-271781
Rule IDs
  • SV-271781r1092055_rule
Unowned files and directories may be unintentionally inherited if a user is assigned the same user identifier "UID" as the UID of the unowned files.
Checks: C-75831r1092053_chk

Verify that OL 9 local files and directories on OL 9 have a valid owner with the following command: $ df --local -P | awk {'if (NR!=1) print $6'} | sudo xargs -I '{}' find '{}' -xdev -nouser If any files on the system do not have an assigned owner, this is a finding.

Fix: F-75738r1092054_fix

Configure OL 9 local files and directories to have a valid owner. Either remove all files and directories from the system that do not have a valid user, or assign a valid user to all unowned files and directories on OL 9 with the "chown" command: $ sudo chown <user> <file>

b
OL 9 local initialization files must have mode 0740 or less permissive.
CM-6 - Medium - CCI-000366 - V-271782 - SV-271782r1092058_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002513
Vuln IDs
  • V-271782
Rule IDs
  • SV-271782r1092058_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.
Checks: C-75832r1092056_chk

Verify that OL 9 configures all local initialization files to have a mode of "0740" or less permissive with the following command: Note: The example will be for the "wadea" user, who has a home directory of "/home/wadea". $ sudo ls -al /home/wadea/.[^.]* | more -rwxr-xr-x 1 wadea users 896 Mar 10 2011 .profile -rwxr-xr-x 1 wadea users 497 Jan 6 2007 .login -rwxr-xr-x 1 wadea users 886 Jan 6 2007 .something If any local initialization files have a mode more permissive than "0740", this is a finding.

Fix: F-75739r1092057_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
OL 9 local interactive user home directories must be group-owned by the home directory owner's primary group.
CM-6 - Medium - CCI-000366 - V-271783 - SV-271783r1092061_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002514
Vuln IDs
  • V-271783
Rule IDs
  • SV-271783r1092061_rule
If the Group Identifier (GID) of a local interactive user's home directory is not the same as the primary GID of the user, this would allow unauthorized access to the user's files, and users that share the same group may not be able to access files that they legitimately should.
Checks: C-75833r1092059_chk

Verify that OL 9 configures assigned home directories of all local interactive users to be group-owned by that user's primary GID with the following command: Note: This may miss local interactive users that have been assigned a privileged user identifier (UID). Evidence of interactive use may be obtained from a number of log files containing system logon information. The returned directory "/home/wadea" is used as an example. $ sudo ls -ld $(awk -F: '($3&gt;=1000)&amp;&amp;($7 !~ /nologin/){print $6}' /etc/passwd) drwxr-x--- 2 wadea admin 4096 Jun 5 12:41 wadea Check the user's primary group with the following command: $ sudo grep $(grep wadea /etc/passwd | awk -F: '{print $4}') /etc/group admin:x:250:wadea,jonesj,jacksons If the user home directory referenced in "/etc/passwd" is not group-owned by that user's primary GID, this is a finding.

Fix: F-75740r1092060_fix

Change the group owner of a local interactive user's home directory to the group found in "/etc/passwd". To change the group owner of a local interactive user's home directory, use the following command: Note: The example will be for the user "wadea", who has a home directory of "/home/wadea", and has a primary group of users. $ sudo chgrp users /home/wadea

b
OL 9 local interactive user home directories must have mode 0750 or less permissive.
CM-6 - Medium - CCI-000366 - V-271784 - SV-271784r1092064_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002515
Vuln IDs
  • V-271784
Rule IDs
  • SV-271784r1092064_rule
Excessive permissions on local interactive user home directories may allow unauthorized access to user files by other users.
Checks: C-75834r1092062_chk

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

Fix: F-75741r1092063_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
OL 9 world-writable directories must be owned by root, sys, bin, or an application user.
SC-4 - Medium - CCI-001090 - V-271785 - SV-271785r1092067_rule
RMF Control
SC-4
Severity
Medium
CCI
CCI-001090
Version
OL09-00-002516
Vuln IDs
  • V-271785
Rule IDs
  • SV-271785r1092067_rule
If a world-writable directory is not owned by root, sys, bin, or an application user identifier (UID), unauthorized users may be able to modify files created by others. The only authorized public directories are those temporary directories supplied with the system or those designed to be temporary file repositories. The setting is normally reserved for directories used by the system and by users for temporary file storage, (e.g., /tmp), and for directories requiring global read/write access.
Checks: C-75835r1092065_chk

Verify that OL 9 configures world writable directories to be owned by root, a system account, or an application account with the following command. It will discover and print world-writable directories that are not owned by root. Run it once for each local partition [PART]: $ sudo find [PART] -xdev -type d -perm -0002 -uid +0 -print If there is output, this is a finding.

Fix: F-75742r1092066_fix

Configure all public directories to be owned by root or a system account to prevent unauthorized and unintended information transferred via shared system resources. Set the owner of all public directories as root or a system account using the command, replace "[Public Directory]" with any directory path not owned by root or a system account: $ sudo chown root [Public Directory]

b
OL 9 library directories must be group-owned by root or a system account.
CM-5 - Medium - CCI-001499 - V-271786 - SV-271786r1092070_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
OL09-00-002520
Vuln IDs
  • V-271786
Rule IDs
  • SV-271786r1092070_rule
If OL 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 OL 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.
Checks: C-75836r1092068_chk

Verify that OL 9 system-wide shared library directories are group-owned by "root" with the following command: $ sudo find /lib /lib64 /usr/lib /usr/lib64 ! -group root -type d -exec stat -c "%n %G" '{}' \; If any system-wide shared library directory is returned and is not group-owned by a required system account, this is a finding.

Fix: F-75743r1092069_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
OL 9 library directories must be owned by root.
CM-5 - Medium - CCI-001499 - V-271787 - SV-271787r1092073_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
OL09-00-002521
Vuln IDs
  • V-271787
Rule IDs
  • SV-271787r1092073_rule
If OL 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 OL 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.
Checks: C-75837r1092071_chk

Verify that OL 9 system-wide shared library directories are owned by "root" with the following command: $ sudo find /lib /lib64 /usr/lib /usr/lib64 ! -user root -type d -exec stat -c "%n %U" '{}' \; If any system-wide shared library directory is not owned by root, this is a finding.

Fix: F-75744r1092072_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
OL 9 library directories must have mode 755 or less permissive.
CM-5 - Medium - CCI-001499 - V-271788 - SV-271788r1092076_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
OL09-00-002522
Vuln IDs
  • V-271788
Rule IDs
  • SV-271788r1092076_rule
If OL 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 OL 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.
Checks: C-75838r1092074_chk

Verify that OL 9 system-wide shared library directories have mode "755" or less permissive with the following command: $ sudo find -L /lib /lib64 /usr/lib /usr/lib64 -perm /022 -type d -exec ls -l {} \; If any system-wide shared library file is found to be group-writable or world-writable, this is a finding.

Fix: F-75745r1092075_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
OL 9 library files must be group-owned by root or a system account.
CM-5 - Medium - CCI-001499 - V-271789 - SV-271789r1092079_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
OL09-00-002523
Vuln IDs
  • V-271789
Rule IDs
  • SV-271789r1092079_rule
If OL 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 OL 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.
Checks: C-75839r1092077_chk

Verify that OL 9 system-wide shared library files are group-owned by "root" with the following command: $ sudo find -L /lib /lib64 /usr/lib /usr/lib64 ! -group root -exec ls -l {} \; If any system-wide shared library file is returned and is not group-owned by a required system account, this is a finding.

Fix: F-75746r1092078_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
OL 9 library files must be owned by root.
CM-5 - Medium - CCI-001499 - V-271790 - SV-271790r1092082_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
OL09-00-002524
Vuln IDs
  • V-271790
Rule IDs
  • SV-271790r1092082_rule
If OL 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 OL 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.
Checks: C-75840r1092080_chk

Verify that OL 9 system-wide shared library files are owned by "root" with the following command: $ sudo find -L /lib /lib64 /usr/lib /usr/lib64 ! -user root -exec ls -l {} \; If any system-wide shared library file is not owned by root, this is a finding.

Fix: F-75747r1092081_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
OL 9 library files must have mode 755 or less permissive.
CM-5 - Medium - CCI-001499 - V-271791 - SV-271791r1092085_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
OL09-00-002525
Vuln IDs
  • V-271791
Rule IDs
  • SV-271791r1092085_rule
If OL 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 OL 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.
Checks: C-75841r1092083_chk

Verify that OL 9 system-wide shared library files contained in the following directories have mode "755" or less permissive with the following command: $ sudo find -L /lib /lib64 /usr/lib /usr/lib64 -perm /022 -type f -exec ls -l {} \; If any system-wide shared library file is found to be group-writable or world-writable, this is a finding.

Fix: F-75748r1092084_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
OL 9 /boot/grub2/grub.cfg file must be group-owned by root.
CM-6 - Medium - CCI-000366 - V-271792 - SV-271792r1094968_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002530
Vuln IDs
  • V-271792
Rule IDs
  • SV-271792r1094968_rule
The "root" group is a highly privileged group. The group-owner of this file should not have any access privileges.
Checks: C-75842r1092086_chk

Verify that OL 9 configures the group ownership of the "/boot/grub2/grub.cfg" file with the following command: $ sudo stat -c "%G %n" /boot/grub2/grub.cfg root /boot/grub2/grub.cfg If "/boot/grub2/grub.cfg" file does not have a group owner of "root", this is a finding.

Fix: F-75749r1092087_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
OL 9 /boot/grub2/grub.cfg file must be owned by root.
CM-6 - Medium - CCI-000366 - V-271793 - SV-271793r1092605_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002531
Vuln IDs
  • V-271793
Rule IDs
  • SV-271793r1092605_rule
The "/boot/grub2/grub.cfg" file stores sensitive system configuration. Protection of this file is critical for system security.
Checks: C-75843r1092089_chk

Verify that OL 9 configures ownership of the "/boot/grub2/grub.cfg" file with the following command: $ sudo stat -c "%U %n" /boot/grub2/grub.cfg root /boot/grub2/grub.cfg If "/boot/grub2/grub.cfg" file does not have an owner of "root", this is a finding.

Fix: F-75750r1092090_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
OL 9 /etc/group file must be group-owned by root.
CM-6 - Medium - CCI-000366 - V-271794 - SV-271794r1092094_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002532
Vuln IDs
  • V-271794
Rule IDs
  • SV-271794r1092094_rule
The "/etc/group" file contains information regarding groups that are configured on the system. Protection of this file is important for system security.
Checks: C-75844r1092092_chk

Verify that OL 9 configures group ownership of the "/etc/group" file with the following command: $ stat -c "%G %n" /etc/group root /etc/group If "/etc/group" file does not have a group owner of "root", this is a finding.

Fix: F-75751r1092093_fix

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

b
OL 9 /etc/group- file must be group-owned by root.
CM-6 - Medium - CCI-000366 - V-271795 - SV-271795r1092097_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002533
Vuln IDs
  • V-271795
Rule IDs
  • SV-271795r1092097_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.
Checks: C-75845r1092095_chk

Verify that OL 9 configures group ownership of the "/etc/group-" file with the following command: $ stat -c "%G %n" /etc/group- root /etc/group- If "/etc/group-" file does not have a group owner of "root", this is a finding.

Fix: F-75752r1092096_fix

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

b
OL 9 /etc/group file must be owned by root.
CM-6 - Medium - CCI-000366 - V-271796 - SV-271796r1092100_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002534
Vuln IDs
  • V-271796
Rule IDs
  • SV-271796r1092100_rule
The "/etc/group" file contains information regarding groups that are configured on the system. Protection of this file is important for system security.
Checks: C-75846r1092098_chk

Verify that OL 9 configures ownership of the "/etc/group" file with the following command: $ stat -c "%U %n" /etc/group root /etc/group If "/etc/group" file does not have an owner of "root", this is a finding.

Fix: F-75753r1092099_fix

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

b
OL 9 /etc/group- file must be owned by root.
CM-6 - Medium - CCI-000366 - V-271797 - SV-271797r1092103_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002535
Vuln IDs
  • V-271797
Rule IDs
  • SV-271797r1092103_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.
Checks: C-75847r1092101_chk

Verify that OL 9 configures ownership of the "/etc/group-" file with the following command: $ stat -c "%U %n" /etc/group- root /etc/group- If "/etc/group-" file does not have an owner of "root", this is a finding.

Fix: F-75754r1092102_fix

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

b
OL 9 /etc/group file must have mode 0644 or less permissive to prevent unauthorized access.
CM-6 - Medium - CCI-000366 - V-271798 - SV-271798r1092106_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002536
Vuln IDs
  • V-271798
Rule IDs
  • SV-271798r1092106_rule
The "/etc/group" file contains information regarding groups that are configured on the system. Protection of this file is important for system security.
Checks: C-75848r1092104_chk

Verify that OL 9 configures the "/etc/group" file to have a mode of "0644" or less permissive with the following command: $ stat -c "%a %n" /etc/group 644 /etc/group If a value of "0644" or less permissive is not returned, this is a finding.

Fix: F-75755r1092105_fix

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

b
OL 9 /etc/group- file must have mode 0644 or less permissive to prevent unauthorized access.
CM-6 - Medium - CCI-000366 - V-271799 - SV-271799r1092109_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002537
Vuln IDs
  • V-271799
Rule IDs
  • SV-271799r1092109_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.
Checks: C-75849r1092107_chk

Verify that OL 9 configures the "/etc/group-" file to have a mode "0644" or less permissive with the following command: $ stat -c "%a %n" /etc/group- 644 /etc/group- If a value of "0644" or less permissive is not returned, this is a finding.

Fix: F-75756r1092108_fix

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

b
OL 9 /etc/gshadow file must be group-owned by root.
CM-6 - Medium - CCI-000366 - V-271800 - SV-271800r1092112_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002538
Vuln IDs
  • V-271800
Rule IDs
  • SV-271800r1092112_rule
The "/etc/gshadow" file contains group password hashes. Protection of this file is critical for system security.
Checks: C-75850r1092110_chk

Verify that OL 9 configures group ownership of the "/etc/gshadow" file with the following command: $ stat -c "%G %n" /etc/gshadow root /etc/gshadow If "/etc/gshadow" file does not have a group owner of "root", this is a finding.

Fix: F-75757r1092111_fix

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

b
OL 9 /etc/gshadow- file must be group-owned by root.
CM-6 - Medium - CCI-000366 - V-271801 - SV-271801r1092115_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002539
Vuln IDs
  • V-271801
Rule IDs
  • SV-271801r1092115_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.
Checks: C-75851r1092113_chk

Verify that OL 9 configures group ownership of the "/etc/gshadow-" file with the following command: $ stat -c "%G %n" /etc/gshadow- root /etc/gshadow- If "/etc/gshadow-" file does not have a group owner of "root", this is a finding.

Fix: F-75758r1092114_fix

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

b
OL 9 /etc/gshadow file must be owned by root.
CM-6 - Medium - CCI-000366 - V-271802 - SV-271802r1092118_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002540
Vuln IDs
  • V-271802
Rule IDs
  • SV-271802r1092118_rule
The "/etc/gshadow" file contains group password hashes. Protection of this file is critical for system security.
Checks: C-75852r1092116_chk

Verify that OL 9 configures ownership of the "/etc/gshadow" file with the following command: $ stat -c "%U %n" /etc/gshadow root /etc/gshadow If "/etc/gshadow" file does not have an owner of "root", this is a finding.

Fix: F-75759r1092117_fix

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

b
OL 9 /etc/gshadow- file must be owned by root.
CM-6 - Medium - CCI-000366 - V-271803 - SV-271803r1092121_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002541
Vuln IDs
  • V-271803
Rule IDs
  • SV-271803r1092121_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.
Checks: C-75853r1092119_chk

Verify that OL 9 configures ownership of the "/etc/gshadow-" file with the following command: $ stat -c "%U %n" /etc/gshadow- root /etc/gshadow- If "/etc/gshadow-" file does not have an owner of "root", this is a finding.

Fix: F-75760r1092120_fix

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

b
OL 9 /etc/gshadow file must have mode 0000 or less permissive to prevent unauthorized access.
CM-6 - Medium - CCI-000366 - V-271804 - SV-271804r1092124_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002542
Vuln IDs
  • V-271804
Rule IDs
  • SV-271804r1092124_rule
The "/etc/gshadow" file contains group password hashes. Protection of this file is critical for system security.
Checks: C-75854r1092122_chk

Verify that OL 9 configures the "/etc/gshadow" file to have a mode pf "0000" with the following command: $ stat -c "%a %n" /etc/gshadow 0 /etc/gshadow If a value of "0" is not returned, this is a finding.

Fix: F-75761r1092123_fix

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

b
OL 9 /etc/gshadow- file must have mode 0000 or less permissive to prevent unauthorized access.
CM-6 - Medium - CCI-000366 - V-271805 - SV-271805r1092127_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002543
Vuln IDs
  • V-271805
Rule IDs
  • SV-271805r1092127_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.
Checks: C-75855r1092125_chk

Verify that OL 9 configures the "/etc/gshadow-" file to have a mode of "0000" with the following command: $ stat -c "%a %n" /etc/gshadow- 0 /etc/gshadow- If a value of "0" is not returned, this is a finding.

Fix: F-75762r1092126_fix

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

b
OL 9 /etc/passwd file must be group-owned by root.
CM-6 - Medium - CCI-000366 - V-271806 - SV-271806r1092130_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002544
Vuln IDs
  • V-271806
Rule IDs
  • SV-271806r1092130_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.
Checks: C-75856r1092128_chk

Verify that OL 9 configures group ownership of the "/etc/passwd" file with the following command: $ stat -c "%G %n" /etc/passwd root /etc/passwd If "/etc/passwd" file does not have a group owner of "root", this is a finding.

Fix: F-75763r1092129_fix

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

b
OL 9 /etc/passwd- file must be group-owned by root.
CM-6 - Medium - CCI-000366 - V-271807 - SV-271807r1092133_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002545
Vuln IDs
  • V-271807
Rule IDs
  • SV-271807r1092133_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.
Checks: C-75857r1092131_chk

Verify that OL 9 configures group ownership of the "/etc/passwd-" file with the following command: $ stat -c "%G %n" /etc/passwd- root /etc/passwd- If "/etc/passwd-" file does not have a group owner of "root", this is a finding.

Fix: F-75764r1092132_fix

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

b
OL 9 /etc/passwd file must be owned by root.
CM-6 - Medium - CCI-000366 - V-271808 - SV-271808r1092136_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002546
Vuln IDs
  • V-271808
Rule IDs
  • SV-271808r1092136_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.
Checks: C-75858r1092134_chk

Verify that OL 9 configures ownership of the "/etc/passwd" file with the following command: $ stat -c "%U %n" /etc/passwd root /etc/passwd If "/etc/passwd" file does not have an owner of "root", this is a finding.

Fix: F-75765r1092135_fix

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

b
OL 9 /etc/passwd- file must be owned by root.
CM-6 - Medium - CCI-000366 - V-271809 - SV-271809r1092139_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002547
Vuln IDs
  • V-271809
Rule IDs
  • SV-271809r1092139_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.
Checks: C-75859r1092137_chk

Verify that OL 9 configures ownership of the "/etc/passwd-" file with the following command: $ stat -c "%U %n" /etc/passwd- root /etc/passwd- If "/etc/passwd-" file does not have an owner of "root", this is a finding.

Fix: F-75766r1092138_fix

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

b
OL 9 /etc/passwd file must have mode 0644 or less permissive to prevent unauthorized access.
CM-6 - Medium - CCI-000366 - V-271810 - SV-271810r1092142_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002548
Vuln IDs
  • V-271810
Rule IDs
  • SV-271810r1092142_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.
Checks: C-75860r1092140_chk

Verify that OL 9 configures the "/etc/passwd" file to have a mode of "0644" or less permissive with the following command: $ stat -c "%a %n" /etc/passwd 644 /etc/passwd If a value of "0644" or less permissive is not returned, this is a finding.

Fix: F-75767r1092141_fix

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

b
OL 9 /etc/passwd- file must have mode 0644 or less permissive to prevent unauthorized access.
CM-6 - Medium - CCI-000366 - V-271811 - SV-271811r1092145_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002549
Vuln IDs
  • V-271811
Rule IDs
  • SV-271811r1092145_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.
Checks: C-75861r1092143_chk

Verify that OL 9 configures the "/etc/passwd-" file to have a mode of "0644" or less permissive with the following command: $ stat -c "%a %n" /etc/passwd- 644 /etc/passwd- If a value of "0644" or less permissive is not returned, this is a finding.

Fix: F-75768r1092144_fix

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

b
OL 9 /etc/shadow file must be group-owned by root.
CM-6 - Medium - CCI-000366 - V-271812 - SV-271812r1092148_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002550
Vuln IDs
  • V-271812
Rule IDs
  • SV-271812r1092148_rule
The "/etc/shadow" file stores password hashes. Protection of this file is critical for system security.
Checks: C-75862r1092146_chk

Verify that OL 9 configures group ownership of the "/etc/shadow" file with the following command: $ stat -c "%G %n" /etc/shadow root /etc/shadow If "/etc/shadow" file does not have a group owner of "root", this is a finding.

Fix: F-75769r1092147_fix

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

b
OL 9 /etc/shadow- file must be group-owned by root.
CM-6 - Medium - CCI-000366 - V-271813 - SV-271813r1092151_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002551
Vuln IDs
  • V-271813
Rule IDs
  • SV-271813r1092151_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.
Checks: C-75863r1092149_chk

Verify that OL 9 configures group ownership of the "/etc/shadow-" file with the following command: $ stat -c "%G %n" /etc/shadow- root /etc/shadow- If "/etc/shadow-" file does not have a group owner of "root", this is a finding.

Fix: F-75770r1092150_fix

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

b
OL 9 /etc/shadow file must be owned by root.
CM-6 - Medium - CCI-000366 - V-271814 - SV-271814r1092154_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002552
Vuln IDs
  • V-271814
Rule IDs
  • SV-271814r1092154_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.
Checks: C-75864r1092152_chk

Verify that OL 9 configures ownership of the "/etc/shadow" file with the following command: $ stat -c "%U %n" /etc/shadow root /etc/shadow If "/etc/shadow" file does not have an owner of "root", this is a finding.

Fix: F-75771r1092153_fix

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

b
OL 9 /etc/shadow- file must be owned by root.
CM-6 - Medium - CCI-000366 - V-271815 - SV-271815r1092157_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002553
Vuln IDs
  • V-271815
Rule IDs
  • SV-271815r1092157_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.
Checks: C-75865r1092155_chk

Verify that OL 9 configures ownership of the "/etc/shadow-" file with the following command: $ stat -c "%U %n" /etc/shadow- root /etc/shadow- If "/etc/shadow-" file does not have an owner of "root", this is a finding.

Fix: F-75772r1092156_fix

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

b
OL 9 /etc/shadow- file must have mode 0000 or less permissive to prevent unauthorized access.
CM-6 - Medium - CCI-000366 - V-271816 - SV-271816r1092160_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002554
Vuln IDs
  • V-271816
Rule IDs
  • SV-271816r1092160_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.
Checks: C-75866r1092158_chk

Verify that OL 9 configures the "/etc/shadow-" file to have a mode of "0000" with the following command: $ stat -c "%a %n" /etc/shadow- 0 /etc/shadow- If a value of "0" is not returned, this is a finding.

Fix: F-75773r1092159_fix

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

b
OL 9 /etc/shadow file must have mode 0000 to prevent unauthorized access.
CM-6 - Medium - CCI-000366 - V-271817 - SV-271817r1092163_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002555
Vuln IDs
  • V-271817
Rule IDs
  • SV-271817r1092163_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.
Checks: C-75867r1092161_chk

Verify that OL 9 configures the "/etc/shadow" file to have a mode of "0000" with the following command: $ stat -c "%a %n" /etc/shadow 0 /etc/shadow If a value of "0" is not returned, this is a finding.

Fix: F-75774r1092162_fix

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

b
OL 9 /var/log directory must be group-owned by root.
SI-11 - Medium - CCI-001314 - V-271818 - SV-271818r1092166_rule
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
OL09-00-002560
Vuln IDs
  • V-271818
Rule IDs
  • SV-271818r1092166_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 OL 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.
Checks: C-75868r1092164_chk

Verify that OL 9 configures the "/var/log" directory to be group-owned by root with the following command: $ ls -ld /var/log drwxr-xr-x. 16 root root 4096 July 11 11:34 /var/log If "/var/log" does not have a group owner of "root", this is a finding.

Fix: F-75775r1092165_fix

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

b
OL 9 /var/log directory must be owned by root.
SI-11 - Medium - CCI-001314 - V-271819 - SV-271819r1092169_rule
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
OL09-00-002561
Vuln IDs
  • V-271819
Rule IDs
  • SV-271819r1092169_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 OL 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.
Checks: C-75869r1092167_chk

Verify that OL 9 configures the "/var/log" directory to be owned by root with the following command: $ ls -ld /var/log drwxr-xr-x. 16 root root 4096 July 11 11:34 /var/log If "/var/log" does not have an owner of "root", this is a finding.

Fix: F-75776r1092168_fix

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

b
OL 9 /var/log directory must have mode 0755 or less permissive.
SI-11 - Medium - CCI-001314 - V-271820 - SV-271820r1092172_rule
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
OL09-00-002562
Vuln IDs
  • V-271820
Rule IDs
  • SV-271820r1092172_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 OL 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.
Checks: C-75870r1092170_chk

Verify that OL 9 configures the "/var/log" directory to have a mode of "0755" or less permissive with the following command: $ ls -ld /var/log drwxr-xr-x. 16 root root 4096 July 11 11:34 /var/log If "/var/log" does not have a mode of "0755" or less permissive, this is a finding.

Fix: F-75777r1092171_fix

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

b
OL 9 /var/log/messages file must be group-owned by root.
SI-11 - Medium - CCI-001314 - V-271821 - SV-271821r1092175_rule
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
OL09-00-002563
Vuln IDs
  • V-271821
Rule IDs
  • SV-271821r1092175_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 OL 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.
Checks: C-75871r1092173_chk

Verify that OL 9 configures the "/var/log/messages" file to be group-owned by root with the following command: $ ls -la /var/log/messages rw-------. 1 root root 564223 July 11 11:34 /var/log/messages If "/var/log/messages" does not have a group owner of "root", this is a finding.

Fix: F-75778r1092174_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
OL 9 /var/log/messages file must be owned by root.
SI-11 - Medium - CCI-001314 - V-271822 - SV-271822r1092178_rule
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
OL09-00-002564
Vuln IDs
  • V-271822
Rule IDs
  • SV-271822r1092178_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 OL 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.
Checks: C-75872r1092176_chk

Verify that OL 9 configures the "/var/log/messages" file to be owned by root with the following command: $ ls -la /var/log/messages rw-------. 1 root root 564223 July 11 11:34 /var/log/messages If "/var/log/messages" does not have an owner of "root", this is a finding.

Fix: F-75779r1092177_fix

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

b
OL 9 /var/log/messages file must have mode 0640 or less permissive.
SI-11 - Medium - CCI-001314 - V-271823 - SV-271823r1092181_rule
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
OL09-00-002565
Vuln IDs
  • V-271823
Rule IDs
  • SV-271823r1092181_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 OL 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.
Checks: C-75873r1092179_chk

Verify that OL 9 configures the "/var/log/messages" file to have a mode of "0640" or less permissive with the following command: $ ls -la /var/log/messages rw-------. 1 root root 564223 July 11 11:34 /var/log/messages If "/var/log/messages" does not have a mode of "0640" or less permissive, this is a finding.

Fix: F-75780r1092180_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
OL 9 audit tools must be group-owned by root.
AU-9 - Medium - CCI-001493 - V-271824 - SV-271824r1092184_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-001493
Version
OL09-00-002570
Vuln IDs
  • V-271824
Rule IDs
  • SV-271824r1092184_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. OL 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.
Checks: C-75874r1092182_chk

Verify that OL 9 audit tools are group owned by "root" with the following command: $ sudo stat -c "%G %n" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/rsyslogd /sbin/augenrules root /sbin/auditctl root /sbin/aureport root /sbin/ausearch root /sbin/autrace root /sbin/auditd root /sbin/rsyslogd root /sbin/augenrules If any audit tools do not have a group owner of "root", this is a finding.

Fix: F-75781r1092183_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
OL 9 audit tools must be owned by root.
AU-9 - Medium - CCI-001493 - V-271825 - SV-271825r1092187_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-001493
Version
OL09-00-002571
Vuln IDs
  • V-271825
Rule IDs
  • SV-271825r1092187_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. OL 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.
Checks: C-75875r1092185_chk

Verify that OL 9 audit tools are owned by "root" with the following command: $ sudo stat -c "%U %n" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/rsyslogd /sbin/augenrules root /sbin/auditctl root /sbin/aureport root /sbin/ausearch root /sbin/autrace root /sbin/auditd root /sbin/rsyslogd root /sbin/augenrules If any audit tools do not have an owner of "root", this is a finding.

Fix: F-75782r1092186_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
OL 9 audit tools must have a mode of 0755 or less permissive.
AU-9 - Medium - CCI-001493 - V-271826 - SV-271826r1092190_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-001493
Version
OL09-00-002572
Vuln IDs
  • V-271826
Rule IDs
  • SV-271826r1092190_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. OL 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.
Checks: C-75876r1092188_chk

Verify that OL 9 audit tools have a mode of "0755" or less with the following command: $ stat -c "%a %n" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/rsyslogd /sbin/augenrules 755 /sbin/auditctl 755 /sbin/aureport 755 /sbin/ausearch 750 /sbin/autrace 755 /sbin/auditd 755 /sbin/rsyslogd 755 /sbin/augenrules If any of the audit tool files have a mode more permissive than "0755", this is a finding.

Fix: F-75783r1092189_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
OL 9 cron configuration directories must have a mode of 0700 or less permissive.
CM-6 - Medium - CCI-000366 - V-271827 - SV-271827r1092193_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002580
Vuln IDs
  • V-271827
Rule IDs
  • SV-271827r1092193_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.
Checks: C-75877r1092191_chk

Verify that OL 9 configures permissions of the cron directories with the following command: $ find /etc/cron* -type d | xargs stat -c "%a %n" 700 /etc/cron.d 700 /etc/cron.daily 700 /etc/cron.hourly 700 /etc/cron.monthly 700 /etc/cron.weekly If any cron configuration directory is more permissive than "700", this is a finding.

Fix: F-75784r1092192_fix

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

b
OL 9 cron configuration files directory must be group-owned by root.
CM-6 - Medium - CCI-000366 - V-271828 - SV-271828r1092196_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002581
Vuln IDs
  • V-271828
Rule IDs
  • SV-271828r1092196_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.
Checks: C-75878r1092194_chk

Verify that OL 9 configures group ownership of all cron configuration files with the following command: $ stat -c "%G %n" /etc/cron* root /etc/cron.d root /etc/cron.daily root /etc/cron.deny root /etc/cron.hourly root /etc/cron.monthly root /etc/crontab root /etc/cron.weekly If any crontab is not group owned by root, this is a finding.

Fix: F-75785r1092195_fix

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

b
OL 9 cron configuration files directory must be owned by root.
CM-6 - Medium - CCI-000366 - V-271829 - SV-271829r1092199_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002582
Vuln IDs
  • V-271829
Rule IDs
  • SV-271829r1092199_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.
Checks: C-75879r1092197_chk

Verify that OL 9 configures ownership of all cron configuration files with the command: $ stat -c "%U %n" /etc/cron* root /etc/cron.d root /etc/cron.daily root /etc/cron.deny root /etc/cron.hourly root /etc/cron.monthly root /etc/crontab root /etc/cron.weekly If any crontab is not owned by root, this is a finding.

Fix: F-75786r1092198_fix

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

b
OL 9 /etc/crontab file must have mode 0600.
CM-6 - Medium - CCI-000366 - V-271830 - SV-271830r1092202_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-002583
Vuln IDs
  • V-271830
Rule IDs
  • SV-271830r1092202_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.
Checks: C-75880r1092200_chk

Verify that OL 9 configures permissions of /etc/crontab with the following command: $ stat -c "%a %n" /etc/crontab 0600 If /etc/crontab does not have a mode of "0600", this is a finding.

Fix: F-75787r1092201_fix

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

c
OL 9 must be configured so that the root account is the only account having unrestricted access to the system.
CM-6 - High - CCI-000366 - V-271831 - SV-271831r1092205_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
OL09-00-003000
Vuln IDs
  • V-271831
Rule IDs
  • SV-271831r1092205_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.
Checks: C-75881r1092203_chk

Verify that OL 9 configures only the "root" account to have a UID "0" assignment with the following command: $ awk -F: '$3 == 0 {print $1}' /etc/passwd root If any accounts other than "root" have a UID of "0", this is a finding.

Fix: F-75788r1092204_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
OL 9 duplicate User IDs (UIDs) must not exist for interactive users.
IA-2 - Medium - CCI-000764 - V-271832 - SV-271832r1092208_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000764
Version
OL09-00-003001
Vuln IDs
  • V-271832
Rule IDs
  • SV-271832r1092208_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
Checks: C-75882r1092206_chk

Verify that OL 9 contains no duplicate UIDs for interactive users with the following command: $ sudo awk -F ":" 'list[$3]++{print $1, $3}' /etc/passwd If output is produced and the accounts listed are interactive user accounts, this is a finding.

Fix: F-75789r1092207_fix

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

b
OL 9 local interactive users must have a home directory assigned in the /etc/passwd file.
CM-6 - Medium - CCI-000366 - V-271833 - SV-271833r1092607_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-003002
Vuln IDs
  • V-271833
Rule IDs
  • SV-271833r1092607_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.
Checks: C-75883r1092606_chk

Verify that OL 9 configures interactive users on the system have a home directory assigned with the following command: $ sudo awk -F: '($3&gt;=1000)&amp;&amp;($7 !~ /nologin/){print $1, $3, $6}' /etc/passwd smithk:x:1000:1000:smithk:/home/smithk:/bin/bash scsaustin:x:1001:1001:scsaustin:/home/scsaustin:/bin/bash djohnson:x:1002:1002:djohnson:/home/djohnson:/bin/bash Inspect the output and verify that all interactive users (normally users with a user identifier [UID] greater that 1000) have a home directory defined. If users home directory is not defined, this is a finding.

Fix: F-75790r1092210_fix

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

b
OL 9 interactive users must have a primary group that exists.
IA-2 - Medium - CCI-000764 - V-271834 - SV-271834r1092214_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000764
Version
OL09-00-003005
Vuln IDs
  • V-271834
Rule IDs
  • SV-271834r1092214_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.
Checks: C-75884r1092212_chk

Verify that OL 9 interactive users have a valid GID. Check that the interactive users have a valid GID with the following command: $ sudo pwck -qr If the system has any interactive users with duplicate GIDs, this is a finding.

Fix: F-75791r1092213_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
OL 9 groups must have unique Group ID (GID).
IA-2 - Medium - CCI-000764 - V-271835 - SV-271835r1092217_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000764
Version
OL09-00-003006
Vuln IDs
  • V-271835
Rule IDs
  • SV-271835r1092217_rule
To ensure accountability and prevent unauthenticated access, groups must be identified uniquely to prevent potential misuse and compromise of the system.
Checks: C-75885r1092215_chk

Verify that OL 9 contains no duplicate GIDs for interactive users with the following command: $ cut -d : -f 3 /etc/group | uniq -d If the system has duplicate GIDs, this is a finding.

Fix: F-75792r1092216_fix

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

b
OL 9 must configure SELinux context type to allow the use of a nondefault faillock tally directory.
AC-7 - Medium - CCI-000044 - V-271836 - SV-271836r1092637_rule
RMF Control
AC-7
Severity
Medium
CCI
CCI-000044
Version
OL09-00-003010
Vuln IDs
  • V-271836
Rule IDs
  • SV-271836r1092637_rule
Not having the correct SELinux context on the faillock directory may lead to unauthorized access to the directory.
Checks: C-75886r1092636_chk

Note: If the system does not have SELinux enabled and enforcing a targeted policy, or if the pam_faillock module is not configured for use, this requirement is Not Applicable. Verify that OL 9 configures the SELinux context type to allow the use of a nondefault faillock tally directory. Verify the location of the nondefault tally directory for the pam_faillock module with the following command: $ grep 'dir =' /etc/security/faillock.conf dir = /var/log/faillock Check the security context type of the nondefault tally directory with the following command: $ ls -Zd /var/log/faillock unconfined_u:object_r:faillog_t:s0 /var/log/faillock If the security context type of the nondefault tally directory is not "faillog_t", this is a finding.

Fix: F-75793r1092219_fix

Configure OL 9 to allow the use of a nondefault faillock tally directory while SELinux enforces a targeted policy. Create a nondefault faillock tally directory (if it does not already exist) with the following example: $ sudo mkdir /var/log/faillock Update the /etc/selinux/targeted/contexts/files/file_contexts.local with "faillog_t" context type for the nondefault faillock tally directory with the following command: $ sudo semanage fcontext -a -t faillog_t "/var/log/faillock(/.*)?" Update the context type of the nondefault faillock directory/subdirectories and files with the following command: $ sudo restorecon -R -v /var/log/faillock

b
OL 9 must configure the use of the pam_faillock.so module in the /etc/pam.d/system-auth file.
AC-7 - Medium - CCI-000044 - V-271837 - SV-271837r1092223_rule
RMF Control
AC-7
Severity
Medium
CCI
CCI-000044
Version
OL09-00-003011
Vuln IDs
  • V-271837
Rule IDs
  • SV-271837r1092223_rule
If the pam_faillock.so module is not loaded, the system will not correctly lockout accounts to prevent password guessing attacks.
Checks: C-75887r1092221_chk

Verify that OL 9 configures the pam_faillock.so module to exist in the "/etc/pam.d/system-auth" file with the following command: $ grep pam_faillock.so /etc/pam.d/system-auth auth required pam_faillock.so preauth auth required pam_faillock.so authfail account required pam_faillock.so If the pam_faillock.so module is not present in the "/etc/pam.d/system-auth" file with the "preauth" line listed before pam_unix.so, this is a finding.

Fix: F-75794r1092222_fix

Configure OL 9 to include the use of the pam_faillock.so module in the /etc/pam.d/system-auth file. Add/modify the appropriate sections of the "/etc/pam.d/system-auth" file to match the following lines: Note: The "preauth" line must be listed before pam_unix.so. auth required pam_faillock.so preauth auth required pam_faillock.so authfail account required pam_faillock.so

b
OL 9 must configure the use of the pam_faillock.so module in the /etc/pam.d/password-auth file.
AC-7 - Medium - CCI-000044 - V-271838 - SV-271838r1092226_rule
RMF Control
AC-7
Severity
Medium
CCI
CCI-000044
Version
OL09-00-003012
Vuln IDs
  • V-271838
Rule IDs
  • SV-271838r1092226_rule
If the pam_faillock.so module is not loaded, the system will not correctly lockout accounts to prevent password guessing attacks.
Checks: C-75888r1092224_chk

Verify that OL 9 configures the pam_faillock.so module to exist in the "/etc/pam.d/password-auth" file with the following command: $ grep pam_faillock.so /etc/pam.d/password-auth auth required pam_faillock.so preauth auth required pam_faillock.so authfail account required pam_faillock.so If the pam_faillock.so module is not present in the "/etc/pam.d/password-auth" file with the "preauth" line listed before pam_unix.so, this is a finding.

Fix: F-75795r1092225_fix

Configure OL 9 to include the use of the pam_faillock.so module in the /etc/pam.d/password-auth file. Add/modify the appropriate sections of the "/etc/pam.d/password-auth" file to match the following lines: Note: The "preauth" line must be listed before pam_unix.so. auth required pam_faillock.so preauth auth required pam_faillock.so authfail account required pam_faillock.so

b
OL 9 must automatically lock an account when three unsuccessful logon attempts occur.
AC-7 - Medium - CCI-002238 - V-271839 - SV-271839r1092229_rule
RMF Control
AC-7
Severity
Medium
CCI
CCI-002238
Version
OL09-00-003020
Vuln IDs
  • V-271839
Rule IDs
  • SV-271839r1092229_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
Checks: C-75889r1092227_chk

Verify that OL 9 is configured to lock an account after three unsuccessful logon attempts with the command: $ grep 'deny =' /etc/security/faillock.conf deny = 3 If the "deny" option is not set to "3" or less (but not "0"), is missing or commented out, this is a finding.

Fix: F-75796r1092228_fix

Configure OL 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
OL 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.
AC-7 - Medium - CCI-002238 - V-271840 - SV-271840r1092232_rule
RMF Control
AC-7
Severity
Medium
CCI
CCI-002238
Version
OL09-00-003021
Vuln IDs
  • V-271840
Rule IDs
  • SV-271840r1092232_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
Checks: C-75890r1092230_chk

Verify that OL 9 is configured to lock the root account after three unsuccessful logon attempts with the command: $ grep even_deny_root /etc/security/faillock.conf even_deny_root If the "even_deny_root" option is not set, is missing or commented out, this is a finding.

Fix: F-75797r1092231_fix

Configure OL 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
OL 9 must log username information when unsuccessful logon attempts occur.
AC-7 - Medium - CCI-000044 - V-271841 - SV-271841r1092235_rule
RMF Control
AC-7
Severity
Medium
CCI
CCI-000044
Version
OL09-00-003022
Vuln IDs
  • V-271841
Rule IDs
  • SV-271841r1092235_rule
Without auditing of these events, it may be harder or impossible to identify what an attacker did after an attack.
Checks: C-75891r1092233_chk

Verify that OL 9 logs username information when unsuccessful logon attempts occur. Verify the "/etc/security/faillock.conf" file is configured to log username information when unsuccessful logon attempts occur with the following command: $ grep audit /etc/security/faillock.conf audit If the "audit" option is not set, is missing, or is commented out, this is a finding.

Fix: F-75798r1092234_fix

Configure OL 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
OL 9 must ensure account lockouts persist.
AC-7 - Medium - CCI-000044 - V-271842 - SV-271842r1092238_rule
RMF Control
AC-7
Severity
Medium
CCI
CCI-000044
Version
OL09-00-003023
Vuln IDs
  • V-271842
Rule IDs
  • SV-271842r1092238_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.
Checks: C-75892r1092236_chk

Verify that OL 9 ensures that account lockouts persist. Verify the "/etc/security/faillock.conf" file is configured use a nondefault faillock directory to ensure contents persist after reboot with the following command: $ grep 'dir =' /etc/security/faillock.conf dir = /var/log/faillock If the "dir" option is not set to a nondefault documented tally log directory, is missing or commented out, this is a finding.

Fix: F-75799r1092237_fix

Configure OL 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
OL 9 must automatically expire temporary accounts within 72 hours.
AC-2 - Medium - CCI-001682 - V-271843 - SV-271843r1094969_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-001682
Version
OL09-00-003030
Vuln IDs
  • V-271843
Rule IDs
  • SV-271843r1094969_rule
Temporary accounts are privileged or nonprivileged accounts that are established during pressing circumstances, such as new software or hardware configuration or an incident response, where the need for prompt account activation requires bypassing normal account authorization procedures. If any inactive temporary accounts are left enabled on the system and are not either manually removed or automatically expired within 72 hours, the security posture of the system will be degraded and exposed to exploitation by unauthorized users or insider threat actors. Temporary accounts are different from emergency accounts. Emergency accounts, also known as "last resort" or "break glass" accounts, are local logon accounts enabled on the system for emergency use by authorized system administrators to manage a system when standard logon methods are failing or not available. Emergency accounts are not subject to manual removal or scheduled expiration requirements. The automatic expiration of temporary accounts may be extended as needed by the circumstances, but it must not be extended indefinitely. A documented permanent account should be established for privileged users who need long-term maintenance accounts. Satisfies: SRG-OS-000123-GPOS-00064, SRG-OS-000002-GPOS-00002
Checks: C-75893r1092239_chk

Verify that OL 9 configures temporary accounts to be provisioned with an expiration date of 72 hours. For every existing temporary account, run the following command to obtain its account expiration information: $ chage -l &lt;temporary_account_name&gt; | grep -i "account expires" Verify each of these accounts has an expiration date set within 72 hours. If any temporary accounts have no expiration date set or do not expire within 72 hours, this is a finding.

Fix: F-75800r1092240_fix

Configure the operating system to expire temporary accounts after 72 hours with the following command: $ sudo chage -E $(date -d +3days +%Y-%m-%d) <temporary_account_name>

b
OL 9 local interactive user home directories defined in the /etc/passwd file must exist.
CM-6 - Medium - CCI-000366 - V-271844 - SV-271844r1092244_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-003050
Vuln IDs
  • V-271844
Rule IDs
  • SV-271844r1092244_rule
If a local interactive user has a home directory defined that does not exist, the user may be given access to the / directory as the current working directory upon logon. This could create a denial of service because the user would not be able to access their logon configuration files, and it may give them visibility to system files they normally would not be able to access.
Checks: C-75894r1092242_chk

Verify that OL 9 assigned home directories of all interactive users on the system exist with the following command: $ sudo pwck -r The output should not return any interactive users. If users home directory does not exist, this is a finding.

Fix: F-75801r1092243_fix

Create home directories to all local interactive users that currently do not have a home directory assigned. Use the following commands to create the user home directory assigned in "/etc/ passwd": Note: The example will be for the user wadea, who has a home directory of "/home/wadea", a user identifier (UID) of "wadea", and a Group Identifier (GID) of "users assigned" in "/etc/passwd". $ sudo mkdir /home/wadea $ sudo chown wadea /home/wadea $ sudo chgrp users /home/wadea $ sudo chmod 0750 /home/wadea

b
OL 9 system accounts must not have an interactive login shell.
CM-6 - Medium - CCI-000366 - V-271845 - SV-271845r1092247_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-003051
Vuln IDs
  • V-271845
Rule IDs
  • SV-271845r1092247_rule
Ensuring shells are not given to system accounts upon login makes it more difficult for attackers to make use of system accounts.
Checks: C-75895r1092245_chk

Verify that OL 9 configures system accounts to not have an interactive login shell with the following command: $ awk -F: '($3&lt;1000){print $1 ":" $3 ":" $7}' /etc/passwd root:0:/bin/bash bin:1:/sbin/nologin daemon:2:/sbin/nologin adm:3:/sbin/nologin lp:4:/sbin/nologin Identify the system accounts from this listing that do not have a nologin shell. If any system account (other than the root account) has a login shell and it is not documented with the information system security officer (ISSO), this is a finding.

Fix: F-75802r1092246_fix

Configure OL 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 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
OL 9 local interactive user accounts must be assigned a home directory upon creation.
CM-6 - Medium - CCI-000366 - V-271846 - SV-271846r1092250_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-003052
Vuln IDs
  • V-271846
Rule IDs
  • SV-271846r1092250_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.
Checks: C-75896r1092248_chk

Verify that OL 9 local interactive users are assigned a home directory upon creation with the following command: $ grep -i create_home /etc/login.defs CREATE_HOME yes If the value for "CREATE_HOME" parameter is not set to "yes", the line is missing, or the line is commented out, this is a finding.

Fix: F-75803r1092249_fix

Configure OL 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
OL 9 must be configured so that executable search paths within the initialization files of all local interactive users must only contain paths that resolve to the system default or the users home directory.
CM-6 - Medium - CCI-000366 - V-271847 - SV-271847r1092253_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-003053
Vuln IDs
  • V-271847
Rule IDs
  • SV-271847r1092253_rule
The executable search path (typically the PATH environment variable) contains a list of directories for the shell to search to find executables. If this path includes the current working directory (other than the users home directory), executables in these directories may be executed instead of system commands. This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon or two consecutive colons, this is interpreted as the current working directory. If deviations from the default system search path for the local interactive user are required, they must be documented with the information system security officer (ISSO).
Checks: C-75897r1092251_chk

Verify that OL 9 local interactive user initialization file executable search path statements do not contain statements that will reference a working directory other than user home directories with the following commands: $ sudo grep -i path= /home/*/.* /home/[localinteractiveuser]/.bash_profile:PATH=$PATH:$HOME/.local/bin:$HOME/bin If any local interactive user initialization files have executable search path statements that include directories outside of their home directory and is not documented with the ISSO as an operational requirement, this is a finding.

Fix: F-75804r1092252_fix

Edit the local interactive user initialization files to change any PATH variable statements that reference directories other than their home directory. If a local interactive user requires path variables to reference a directory owned by the application, it must be documented with the ISSO.

b
OL 9 must set the umask value to 077 for all local interactive user accounts.
CM-6 - Medium - CCI-000366 - V-271848 - SV-271848r1092256_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-003060
Vuln IDs
  • V-271848
Rule IDs
  • SV-271848r1092256_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.
Checks: C-75898r1092254_chk

Verify that OL 9 configures the default umask for all local interactive users to be "077". Identify the locations of all local interactive user home directories by looking at the "/etc/passwd" file. Check all local interactive user initialization files for interactive users with the following command: Note: The example is for a system that is configured to create users home directories in the "/home" directory. $ grep -ri umask /home/ /home/wadea/.bash_history:grep -i umask /etc/bashrc /etc/csh.cshrc /etc/profile /home/wadea/.bash_history:grep -i umask /etc/login.defs If any local interactive user initialization files are found to have a umask statement that sets a value less restrictive than "077", this is a finding.

Fix: F-75805r1092255_fix

Remove the umask statement from all local interactive user's initialization files. If the account is for an application, the requirement for a umask less restrictive than "077" can be documented with the information system security officer, but the user agreement for access to the account must specify that the local interactive user must log on to their account first and then switch the user to the application account with the correct option to gain the account's environment variables.

b
OL 9 must disable account identifiers (individuals, groups, roles, and devices) after 35 days of inactivity.
- Medium - CCI-003627 - V-271849 - SV-271849r1092259_rule
RMF Control
Severity
Medium
CCI
CCI-003627
Version
OL09-00-003065
Vuln IDs
  • V-271849
Rule IDs
  • SV-271849r1092259_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. Satisfies: SRG-OS-000118-GPOS-00060, SRG-OS-000590-GPOS-00110
Checks: C-75899r1092257_chk

Verify that OL 9 account identifiers (individuals, groups, roles, and devices) are disabled after 35 days of inactivity with the following command: Check the account inactivity value by performing the following command: $ sudo grep -i inactive /etc/default/useradd INACTIVE=35 If "INACTIVE" is set to "-1", a value greater than "35", or is commented out, this is a finding.

Fix: F-75806r1092258_fix

Configure OL 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
OL 9 must enforce a delay of at least four seconds between logon prompts following a failed logon attempt.
CM-6 - Medium - CCI-000366 - V-271850 - SV-271850r1092262_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-003070
Vuln IDs
  • V-271850
Rule IDs
  • SV-271850r1092262_rule
Increasing the time between a failed authentication attempt and reprompting to enter credentials helps to slow a single-threaded brute force attack.
Checks: C-75900r1092260_chk

Verify that OL 9 enforces a delay of at least four seconds between console logon prompts following a failed logon attempt with the following command: $ grep -i fail_delay /etc/login.defs FAIL_DELAY 4 If the value of "FAIL_DELAY" is not set to "4" or greater, or the line is commented out, this is a finding.

Fix: F-75807r1092261_fix

Configure the OL 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
OL 9 remote access methods must be monitored.
AC-17 - Medium - CCI-000067 - V-271851 - SV-271851r1092265_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-000067
Version
OL09-00-005000
Vuln IDs
  • V-271851
Rule IDs
  • SV-271851r1092265_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.
Checks: C-75901r1092263_chk

Verify that OL 9 monitors all remote access methods. Check that remote access methods are being logged by running the following command: $ grep -rE '(auth.\*|authpriv.\*|daemon.\*)' /etc/rsyslog.conf authpriv.* /var/log/secure If "auth.*", "authpriv.*" or "daemon.*" are not configured to be logged, this is a finding.

Fix: F-75808r1092264_fix

Configure OL 9 remote access methods to be monitored. 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
OL 9 must be configured to forward audit records via TCP to a different system or media from the system being audited via rsyslog.
AU-4 - Medium - CCI-001851 - V-271852 - SV-271852r1092608_rule
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
OL09-00-005005
Vuln IDs
  • V-271852
Rule IDs
  • SV-271852r1092608_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. OL 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-000342-GPOS-00133
Checks: C-75902r1092266_chk

Verify that OL 9 audit system offloads audit records onto a different system or media from the system being audited via rsyslog using TCP with the following command: $ grep @@ /etc/rsyslog.conf /etc/rsyslog.d/*.conf /etc/rsyslog.conf:*.* @@[remoteloggingserver]:[port] If a remote server is not configured, or the line is commented out, ask the system administrator (SA) to indicate how the audit logs are offloaded to a different system or media. If there is no evidence that the audit logs are being offloaded to another system or media, this is a finding.

Fix: F-75809r1092267_fix

Configure OL 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
OL 9 must use cron logging.
CM-6 - Medium - CCI-000366 - V-271853 - SV-271853r1092271_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-005010
Vuln IDs
  • V-271853
Rule IDs
  • SV-271853r1092271_rule
Cron logging can be used to trace the successful or unsuccessful execution of cron jobs. It can also be used to spot intrusions into the use of the cron facility by unauthorized and malicious users.
Checks: C-75903r1092269_chk

Verify that OL 9 rsyslog is configured to log cron events with the following command: Note: If another logging package is used, substitute the utility configuration file for "/etc/rsyslog.conf" or "/etc/rsyslog.d/*.conf" files. $ grep -s cron /etc/rsyslog.conf /etc/rsyslog.d/*.conf /etc/rsyslog.conf:*.info;mail.none;authpriv.none;cron.none /var/log/messages /etc/rsyslog.conf:cron.* /var/log/cron If the command does not return a response, check for cron logging all facilities with the following command: $ grep -s /var/log/messages /etc/rsyslog.conf /etc/rsyslog.d/*.conf /etc/rsyslog.conf:*.info;mail.none;authpriv.none;cron.none /var/log/messages If "rsyslog" is not logging messages for the cron facility or all facilities, this is a finding.

Fix: F-75810r1092270_fix

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

b
OL 9 must authenticate the remote logging server for offloading audit logs via rsyslog.
AU-4 - Medium - CCI-001851 - V-271854 - SV-271854r1092274_rule
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
OL09-00-005015
Vuln IDs
  • V-271854
Rule IDs
  • SV-271854r1092274_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. OL 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
Checks: C-75904r1092272_chk

Verify that OL 9 authenticates the remote logging server for off-loading audit logs with the following command: $ grep -i '$ActionSendStreamDriverAuthMode' /etc/rsyslog.conf /etc/rsyslog.d/*.conf /etc/rsyslog.conf:$ActionSendStreamDriverAuthMode x509/name If the value of the "$ActionSendStreamDriverAuthMode" option is not set to "x509/name" or the line is commented out, ask the system administrator (SA) to indicate how the audit logs are offloaded to a different system or media. If there is no evidence that the transfer of the audit logs being offloaded to another system or media is encrypted, this is a finding.

Fix: F-75811r1092273_fix

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

b
OL 9 must encrypt the transfer of audit records offloaded onto a different system or media from the system being audited via rsyslog.
AU-4 - Medium - CCI-001851 - V-271855 - SV-271855r1092277_rule
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
OL09-00-005020
Vuln IDs
  • V-271855
Rule IDs
  • SV-271855r1092277_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. OL 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
Checks: C-75905r1092275_chk

Verify that OL 9 encrypts audit records offloaded onto a different system or media from the system being audited via rsyslog with the following command: $ grep -i '$ActionSendStreamDriverMode' /etc/rsyslog.conf /etc/rsyslog.d/*.conf /etc/rsyslog.conf:$ActionSendStreamDriverMode 1 If the value of the "$ActionSendStreamDriverMode" option is not set to "1" or the line is commented out, this is a finding.

Fix: F-75812r1092276_fix

Configure OL 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
OL 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.
AU-4 - Medium - CCI-001851 - V-271856 - SV-271856r1092280_rule
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
OL09-00-005025
Vuln IDs
  • V-271856
Rule IDs
  • SV-271856r1092280_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. OL 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
Checks: C-75906r1092278_chk

Verify that OL 9 uses the gtls driver to encrypt audit records offloaded onto a different system or media from the system being audited with the following command: $ grep -i '$DefaultNetstreamDriver' /etc/rsyslog.conf /etc/rsyslog.d/*.conf /etc/rsyslog.conf:$DefaultNetstreamDriver gtls If the value of the "$DefaultNetstreamDriver" option is not set to "gtls" or the line is commented out, this is a finding.

Fix: F-75813r1092279_fix

Configure OL 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
OL 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.
CM-6 - Medium - CCI-000366 - V-271857 - SV-271857r1092283_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-005030
Vuln IDs
  • V-271857
Rule IDs
  • SV-271857r1092283_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).
Checks: C-75907r1092281_chk

Verify that OL 9 is not configured to receive remote logs using rsyslog with the following commands: $ grep -i modload /etc/rsyslog.conf /etc/rsyslog.d/* $ModLoad imtcp $ModLoad imrelp $ grep -i serverrun /etc/rsyslog.conf /etc/rsyslog.d/* $InputTCPServerRun 514 $InputRELPServerRun 514 Note: An error about no files or directories may be returned. This is not a finding. If any lines are returned by the command, then rsyslog is configured to receive remote messages, and this is a finding.

Fix: F-75814r1092282_fix

Configure OL 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
OL 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.
SC-5 - Medium - CCI-002385 - V-271858 - SV-271858r1092286_rule
RMF Control
SC-5
Severity
Medium
CCI
CCI-002385
Version
OL09-00-006000
Vuln IDs
  • V-271858
Rule IDs
  • SV-271858r1092286_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 OL 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.
Checks: C-75908r1092284_chk

Verify that OL 9 nftables is configured to allow rate limits on any connection to the system with the following command: $ sudo grep -i firewallbackend /etc/firewalld/firewalld.conf # FirewallBackend FirewallBackend=nftables If the "nftables" is not set as the "FirewallBackend" default, this is a finding.

Fix: F-75815r1092285_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
OL 9 wireless network adapters must be disabled.
AC-18 - Medium - CCI-001444 - V-271859 - SV-271859r1092289_rule
RMF Control
AC-18
Severity
Medium
CCI
CCI-001444
Version
OL09-00-006001
Vuln IDs
  • V-271859
Rule IDs
  • SV-271859r1092289_rule
This requirement applies to wireless peripheral technologies (e.g., wireless mice, keyboards, displays, etc.) used with OL 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 OL 9 operating system. Satisfies: SRG-OS-000299-GPOS-00117, SRG-OS-000300-GPOS-00118, SRG-OS-000424-GPOS-00188, SRG-OS-000481-GPOS-00481
Checks: C-75909r1092287_chk

Note: For systems that do not have physical wireless network radios, this requirement is Not Applicable. Verify that OL 9 allows no wireless interfaces to be configured on the system with the following command: $ nmcli device status DEVICE TYPE STATE CONNECTION virbr0 bridge connected virbr0 wlp7s0 wifi connected wifiSSID enp6s0 ethernet disconnected -- p2p-dev-wlp7s0 wifi-p2p disconnected -- lo loopback unmanaged -- virbr0-nic tun unmanaged -- If a wireless interface is configured and has not been documented and approved by the information system security officer (ISSO), this is a finding.

Fix: F-75816r1092288_fix

Configure the system to disable all wireless network interfaces with the following command: $ sudo nmcli radio all off

b
OL 9 must configure a DNS processing mode set be Network Manager.
CM-6 - Medium - CCI-000366 - V-271860 - SV-271860r1092292_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006002
Vuln IDs
  • V-271860
Rule IDs
  • SV-271860r1092292_rule
To ensure that DNS resolver settings are respected, a DNS mode in Network Manager must be configured.
Checks: C-75910r1092290_chk

Verify that OL 9 has a DNS mode configured in Network Manager. $ NetworkManager --print-config [main] dns=none If the DNS key under main does not exist or is not set to "none" or "default", this is a finding.

Fix: F-75817r1092291_fix

Configure NetworkManager in OL 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
OL 9 systems using Domain Name Servers (DNS) resolution must have at least two name servers configured.
CM-6 - Medium - CCI-000366 - V-271861 - SV-271861r1092295_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006003
Vuln IDs
  • V-271861
Rule IDs
  • SV-271861r1092295_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.
Checks: C-75911r1092293_chk

Verify that OL 9 configures name servers used by the system with the following command: $ grep nameserver /etc/resolv.conf nameserver 192.168.1.2 nameserver 192.168.1.3 If less than two lines are returned that are not commented out, this is a finding.

Fix: F-75818r1092294_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
OL 9 network interfaces must not be in promiscuous mode.
CM-6 - Medium - CCI-000366 - V-271862 - SV-271862r1092298_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006004
Vuln IDs
  • V-271862
Rule IDs
  • SV-271862r1092298_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.
Checks: C-75912r1092296_chk

Verify that OL 9 configures network interfaces to not operate in promiscuous mode with the following command: $ ip link | grep -i promisc If network interfaces are found on the system in promiscuous mode and their use has not been approved by the ISSO and documented, this is a finding.

Fix: F-75819r1092297_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
OL 9 must not have unauthorized IP tunnels configured.
CM-6 - Medium - CCI-000366 - V-271863 - SV-271863r1092639_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006010
Vuln IDs
  • V-271863
Rule IDs
  • SV-271863r1092639_rule
IP tunneling mechanisms can be used to bypass network filtering. If tunneling is required, it must be documented with the information system security officer (ISSO).
Checks: C-75913r1092638_chk

Verify that OL 9 does not have unauthorized IP tunnels configured. Determine if the IPsec service is active with the following command: $ systemctl status ipsec ipsec.service - Internet Key Exchange (IKE) Protocol Daemon for IPsec Loaded: loaded (/usr/lib/systemd/system/ipsec.service; disabled) Active: inactive (dead) If the IPsec service is active, check for configured IPsec connections ("conn"), with the following command: $ grep -rni conn /etc/ipsec.conf /etc/ipsec.d/ Verify any returned results are documented with the ISSO. If the IPsec tunnels are active and not approved, this is a finding.

Fix: F-75820r1092300_fix

Remove all unapproved tunnels from the system, or document them with the ISSO.

b
OL 9 must ignore Internet Protocol version 4 (IPv4) Internet Control Message Protocol (ICMP) redirect messages.
CM-6 - Medium - CCI-000366 - V-271864 - SV-271864r1092304_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006020
Vuln IDs
  • V-271864
Rule IDs
  • SV-271864r1092304_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.
Checks: C-75914r1092302_chk

Verify that OL 9 will not accept IPv4 ICMP redirect messages. Check the value of all "accept_redirects" variables with the following command: $ sysctl net.ipv4.conf.all.accept_redirects net.ipv4.conf.all.accept_redirects = 0 If the returned line does not have a value of "0", a line is not returned, or the line is commented out, this is a finding.

Fix: F-75821r1092303_fix

Configure OL 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
OL 9 must not forward Internet Protocol version 4 (IPv4) source-routed packets.
CM-6 - Medium - CCI-000366 - V-271865 - SV-271865r1092307_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006021
Vuln IDs
  • V-271865
Rule IDs
  • SV-271865r1092307_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-routed 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.
Checks: C-75915r1092305_chk

Verify that OL 9 will not accept IPv4 source-routed packets. Check the value of the all "accept_source_route" variables with the following command: $ sysctl net.ipv4.conf.all.accept_source_route net.ipv4.conf.all.accept_source_route = 0 If the returned line does not have a value of "0", a line is not returned, or the line is commented out, this is a finding.

Fix: F-75822r1092306_fix

Configure OL 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
OL 9 must log IPv4 packets with impossible addresses.
CM-6 - Medium - CCI-000366 - V-271866 - SV-271866r1092310_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006022
Vuln IDs
  • V-271866
Rule IDs
  • SV-271866r1092310_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.
Checks: C-75916r1092308_chk

Verify that OL 9 logs IPv4 martian packets. Check the value of the accept source route variable with the following command: $ sysctl net.ipv4.conf.all.log_martians net.ipv4.conf.all.log_martians = 1 If the returned line does not have a value of "1", a line is not returned, or the line is commented out, this is a finding.

Fix: F-75823r1092309_fix

Configure OL 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
OL 9 must log IPv4 packets with impossible addresses by default.
CM-6 - Medium - CCI-000366 - V-271867 - SV-271867r1092313_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006023
Vuln IDs
  • V-271867
Rule IDs
  • SV-271867r1092313_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.
Checks: C-75917r1092311_chk

Verify that OL 9 logs IPv4 martian packets by default. Check the value of the accept source route variable with the following command: $ sysctl net.ipv4.conf.default.log_martians net.ipv4.conf.default.log_martians = 1 If the returned line does not have a value of "1", a line is not returned, or the line is commented out, this is a finding.

Fix: F-75824r1092312_fix

Configure OL 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
OL 9 must use reverse path filtering on all IPv4 interfaces.
CM-6 - Medium - CCI-000366 - V-271868 - SV-271868r1092316_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006024
Vuln IDs
  • V-271868
Rule IDs
  • SV-271868r1092316_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.
Checks: C-75918r1092314_chk

Verify that OL 9 uses reverse path filtering on all IPv4 interfaces with the following commands: $ sysctl net.ipv4.conf.all.rp_filter net.ipv4.conf.all.rp_filter = 1 If the returned line does not have a value of "1", or a line is not returned, this is a finding.

Fix: F-75825r1092315_fix

Configure OL 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
OL 9 must prevent IPv4 Internet Control Message Protocol (ICMP) redirect messages from being accepted.
CM-6 - Medium - CCI-000366 - V-271869 - SV-271869r1092319_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006025
Vuln IDs
  • V-271869
Rule IDs
  • SV-271869r1092319_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.
Checks: C-75919r1092317_chk

Verify that OL 9 will not accept IPv4 ICMP redirect messages. Check the value of the default "accept_redirects" variables with the following command: $ sysctl net.ipv4.conf.default.accept_redirects net.ipv4.conf.default.accept_redirects = 0 If the returned line does not have a value of "0", a line is not returned, or the line is commented out, this is a finding.

Fix: F-75826r1092318_fix

Configure OL 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
OL 9 must not forward IPv4 source-routed packets by default.
CM-6 - Medium - CCI-000366 - V-271870 - SV-271870r1092322_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006026
Vuln IDs
  • V-271870
Rule IDs
  • SV-271870r1092322_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.
Checks: C-75920r1092320_chk

Verify that OL 9 does not accept IPv4 source-routed packets by default. Check the value of the accept source route variable with the following command: $ sysctl net.ipv4.conf.default.accept_source_route net.ipv4.conf.default.accept_source_route = 0 If the returned line does not have a value of "0", a line is not returned, or the line is commented out, this is a finding.

Fix: F-75827r1092321_fix

Configure OL 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
OL 9 must use a reverse-path filter for IPv4 network traffic, when possible, by default.
CM-6 - Medium - CCI-000366 - V-271871 - SV-271871r1092325_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006027
Vuln IDs
  • V-271871
Rule IDs
  • SV-271871r1092325_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.
Checks: C-75921r1092323_chk

Verify that OL 9 uses reverse path filtering on IPv4 interfaces with the following commands: $ sysctl net.ipv4.conf.default.rp_filter net.ipv4.conf.default.rp_filter = 1 If the returned line does not have a value of "1", or a line is not returned, this is a finding.

Fix: F-75828r1092324_fix

Configure OL 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
OL 9 must not enable IPv4 packet forwarding unless the system is a router.
CM-6 - Medium - CCI-000366 - V-271872 - SV-271872r1092328_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006028
Vuln IDs
  • V-271872
Rule IDs
  • SV-271872r1092328_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.
Checks: C-75922r1092326_chk

Verify that OL 9 is not performing IPv4 packet forwarding, unless the system is a router. Check that IPv4 forwarding is disabled using the following command: $ sysctl net.ipv4.conf.all.forwarding net.ipv4.conf.all.forwarding = 0 If the IPv4 forwarding value is not "0" and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-75829r1092327_fix

Configure OL 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
OL 9 must not respond to Internet Control Message Protocol (ICMP) echoes sent to a broadcast address.
CM-6 - Medium - CCI-000366 - V-271873 - SV-271873r1092331_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006030
Vuln IDs
  • V-271873
Rule IDs
  • SV-271873r1092331_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.
Checks: C-75923r1092329_chk

Verify that OL 9 does not respond to ICMP echoes sent to a broadcast address. Check the value of the "icmp_echo_ignore_broadcasts" variable with the following command: $ sysctl net.ipv4.icmp_echo_ignore_broadcasts net.ipv4.icmp_echo_ignore_broadcasts = 1 If the returned line does not have a value of "1", a line is not returned, or the retuned line is commented out, this is a finding.

Fix: F-75830r1092330_fix

Configure OL 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
OL 9 must limit the number of bogus Internet Control Message Protocol (ICMP) response errors logs.
CM-6 - Medium - CCI-000366 - V-271874 - SV-271874r1092612_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006031
Vuln IDs
  • V-271874
Rule IDs
  • SV-271874r1092612_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.
Checks: C-75924r1092611_chk

Verify that OL 9 limits the number of bogus ICMP response errors logs. The runtime status of the net.ipv4.icmp_ignore_bogus_error_responses kernel parameter can be queried by running the following command: $ sysctl net.ipv4.icmp_ignore_bogus_error_responses net.ipv4.icmp_ignore_bogus_error_responses = 1 If "net.ipv4.icmp_ignore_bogus_error_responses" is not set to "1", this is a finding.

Fix: F-75831r1092333_fix

Configure OL 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
OL 9 must not send Internet Control Message Protocol (ICMP) redirects.
CM-6 - Medium - CCI-000366 - V-271875 - SV-271875r1092337_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006032
Vuln IDs
  • V-271875
Rule IDs
  • SV-271875r1092337_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.
Checks: C-75925r1092335_chk

Verify that OL 9 does not IPv4 ICMP redirect messages. Check the value of the "all send_redirects" variables with the following command: $ sysctl net.ipv4.conf.all.send_redirects net.ipv4.conf.all.send_redirects = 0 If "net.ipv4.conf.all.send_redirects" is not set to "0" and is not documented with the information system security officer (ISSO) as an operational requirement or is missing, this is a finding.

Fix: F-75832r1092336_fix

Configure OL 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
OL 9 must not allow interfaces to perform Internet Control Message Protocol (ICMP) redirects by default.
CM-6 - Medium - CCI-000366 - V-271876 - SV-271876r1092641_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006033
Vuln IDs
  • V-271876
Rule IDs
  • SV-271876r1092641_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.
Checks: C-75926r1092338_chk

Verify that OL 9 does not allow interfaces to perform Internet Protocol version 4 (IPv4) ICMP redirects by default. Check the value of the "default send_redirects" variables with the following command: $ sysctl net.ipv4.conf.default.send_redirects net.ipv4.conf.default.send_redirects=0 If "net.ipv4.conf.default.send_redirects" is not set to "0" and is not documented with the information system security officer (ISSO) as an operational requirement or is missing, this is a finding.

Fix: F-75833r1092640_fix

Configure OL 9 to not allow interfaces to perform 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
OL 9 must not accept router advertisements on all IPv6 interfaces.
CM-6 - Medium - CCI-000366 - V-271877 - SV-271877r1092343_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006040
Vuln IDs
  • V-271877
Rule IDs
  • SV-271877r1092343_rule
An illicit router advertisement message could result in a man-in-the-middle attack.
Checks: C-75927r1092341_chk

Note: If IPv6 is disabled on the system, this requirement is Not Applicable. Verify that OL 9 does not accept router advertisements on all IPv6 interfaces, unless the system is a router. Determine if router advertisements are not accepted by using the following command: $ sysctl net.ipv6.conf.all.accept_ra net.ipv6.conf.all.accept_ra = 0 If the "accept_ra" value is not "0" and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-75834r1092342_fix

Configure OL 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
OL 9 must ignore IPv6 Internet Control Message Protocol (ICMP) redirect messages.
CM-6 - Medium - CCI-000366 - V-271878 - SV-271878r1092346_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006041
Vuln IDs
  • V-271878
Rule IDs
  • SV-271878r1092346_rule
An illicit ICMP redirect message could result in a man-in-the-middle attack.
Checks: C-75928r1092344_chk

Note: If IPv6 is disabled on the system, this requirement is Not Applicable. Verify that OL 9 ignores IPv6 ICMP redirect messages. Check the value of the "accept_redirects" variables with the following command: $ sysctl net.ipv6.conf.all.accept_redirects net.ipv6.conf.all.accept_redirects = 0 If the returned line does not have a value of "0", a line is not returned, or the line is commented out, this is a finding.

Fix: F-75835r1092345_fix

Configure OL 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
OL 9 must not forward IPv6 source-routed packets.
CM-6 - Medium - CCI-000366 - V-271879 - SV-271879r1092349_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006042
Vuln IDs
  • V-271879
Rule IDs
  • SV-271879r1092349_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.
Checks: C-75929r1092347_chk

Note: If IPv6 is disabled on the system, this requirement is Not Applicable. Verify that OL 9 does not accept IPv6 source-routed packets. Check the value of the accept source route variable with the following command: $ sysctl net.ipv6.conf.all.accept_source_route net.ipv6.conf.all.accept_source_route = 0 If the returned line does not have a value of "0", a line is not returned, or the line is commented out, this is a finding.

Fix: F-75836r1092348_fix

Configure OL 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
OL 9 must not enable IPv6 packet forwarding unless the system is a router.
CM-6 - Medium - CCI-000366 - V-271880 - SV-271880r1092352_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006043
Vuln IDs
  • V-271880
Rule IDs
  • SV-271880r1092352_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.
Checks: C-75930r1092350_chk

Note: If IPv6 is disabled on the system, this requirement is Not Applicable. Verify that OL 9 is not performing IPv6 packet forwarding, unless the system is a router. Check that IPv6 forwarding is disabled using the following commands: $ sysctl net.ipv6.conf.all.forwarding net.ipv6.conf.all.forwarding = 0 If the IPv6 forwarding value is not "0" and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-75837r1092351_fix

Configure OL 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
OL 9 must not accept router advertisements on all IPv6 interfaces by default.
CM-6 - Medium - CCI-000366 - V-271881 - SV-271881r1092355_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006044
Vuln IDs
  • V-271881
Rule IDs
  • SV-271881r1092355_rule
An illicit router advertisement message could result in a man-in-the-middle attack.
Checks: C-75931r1092353_chk

Note: If IPv6 is disabled on the system, this requirement is Not Applicable. Verify that OL 9 does not accept router advertisements on all IPv6 interfaces by default unless the system is a router. Determine if router advertisements are not accepted by default by using the following command: $ sysctl net.ipv6.conf.default.accept_ra net.ipv6.conf.default.accept_ra = 0 If the "accept_ra" value is not "0" and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-75838r1092354_fix

Configure OL 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
OL 9 must prevent IPv6 Internet Control Message Protocol (ICMP) redirect messages from being accepted.
CM-6 - Medium - CCI-000366 - V-271882 - SV-271882r1092358_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006045
Vuln IDs
  • V-271882
Rule IDs
  • SV-271882r1092358_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.
Checks: C-75932r1092356_chk

Note: If IPv6 is disabled on the system, this requirement is Not Applicable. Verify that OL 9 will not accept IPv6 ICMP redirect messages. Check the value of the default "accept_redirects" variables with the following command: $ sysctl net.ipv6.conf.default.accept_redirects net.ipv6.conf.default.accept_redirects = 0 If the returned line does not have a value of "0", a line is not returned, or the line is commented out, this is a finding.

Fix: F-75839r1092357_fix

Configure OL 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
OL 9 must not forward IPv6 source-routed packets by default.
CM-6 - Medium - CCI-000366 - V-271883 - SV-271883r1092361_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
OL09-00-006046
Vuln IDs
  • V-271883
Rule IDs
  • SV-271883r1092361_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.
Checks: C-75933r1092359_chk

Note: If IPv6 is disabled on the system, this requirement is Not Applicable. Verify that OL 9 does not accept IPv6 source-routed packets by default. Check the value of the accept source route variable with the following command: $ sysctl net.ipv6.conf.default.accept_source_route net.ipv6.conf.default.accept_source_route = 0 If the returned line does not have a value of "0", a line is not returned, or the line is commented out, this is a finding.

Fix: F-75840r1092360_fix

Configure OL 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
OL 9 must be configured to use TCP syncookies.
SC-5 - Medium - CCI-002385 - V-271884 - SV-271884r1092364_rule
RMF Control
SC-5
Severity
Medium
CCI
CCI-002385
Version
OL09-00-006050
Vuln IDs
  • V-271884
Rule IDs
  • SV-271884r1092364_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-000420-GPOS-00186, SRG-OS-000142-GPOS-00071
Checks: C-75934r1092362_chk

Verify that OL 9 is configured to use IPv4 TCP syncookies. Determine if syncookies are used with the following command: Check the status of the kernel.perf_event_paranoid kernel parameter. $ sysctl net.ipv4.tcp_syncookies net.ipv4.tcp_syncookies = 1 Check that the configuration files are present to enable this kernel parameter.

Fix: F-75841r1092363_fix

Configure OL 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
OL 9 audit system must protect logon UIDs from unauthorized change.
AU-12 - Medium - CCI-000172 - V-271885 - SV-271885r1092367_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000172
Version
OL09-00-008000
Vuln IDs
  • V-271885
Rule IDs
  • SV-271885r1092367_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
Checks: C-75935r1092365_chk

Verify that OL 9 audit system configuration prevents unauthorized changes to logon UIDs with the following command: $ sudo grep -i immutable /etc/audit/audit.rules --loginuid-immutable If the "--loginuid-immutable" option is not returned in the "/etc/audit/audit.rules", or the line is commented out, this is a finding.

Fix: F-75842r1092366_fix

Configure OL 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. $ sudo service auditd restart

b
OL 9 audit system must protect auditing rules from unauthorized change.
AU-9 - Medium - CCI-000162 - V-271886 - SV-271886r1092370_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-000162
Version
OL09-00-008005
Vuln IDs
  • V-271886
Rule IDs
  • SV-271886r1092370_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 OL 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
Checks: C-75936r1092368_chk

Verify that OL 9 audit system configuration prevents unauthorized changes with the following command: $ sudo grep "^\s*[^#]" /etc/audit/audit.rules | tail -1 -e 2 If the audit system is not set to be immutable by adding the "-e 2" option to the end of "/etc/audit/audit.rules", this is a finding.

Fix: F-75843r1092369_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. $ sudo service auditd restart

b
OL 9 must only allow the use of DOD PKI-established certificate authorities for authentication in the establishment of protected sessions to OL 9.
SC-23 - Medium - CCI-002470 - V-271901 - SV-271901r1092415_rule
RMF Control
SC-23
Severity
Medium
CCI
CCI-002470
Version
OL09-00-900140
Vuln IDs
  • V-271901
Rule IDs
  • SV-271901r1092415_rule
Untrusted certificate authorities (CA) can issue certificates, but they may be issued by organizations or individuals that seek to compromise DOD systems or by organizations with insufficient security controls. If the CA used for verifying the certificate is not a DOD-approved CA, trust of this CA has not been established. The DOD will only accept PKI-certificates obtained from a DOD-approved internal or external certificate authority. Reliance on CAs for the establishment of secure sessions includes, for example, the use of SSL/TLS certificates.
Checks: C-75951r1092413_chk

Verify OL 9 only allows the use of DOD PKI-established certificate authorities using the following command: $ trust list pkcs11:id=%7C%42%96%AE%DE%4B%48%3B%FA%92%F8%9E%8C%CF%6D%8B%A9%72%37%95;type=cert type: certificate label: ISRG Root X2 trust: anchor category: authority If any nonapproved CAs are returned, this is a finding.

Fix: F-75858r1092414_fix

Configure OL 9 to only allow the use of DOD PKI-established certificate authorities. For each untrusted CA, export the certificate to a file and add it to the blocklist: $ trust dump --filter "pkcs11:id=%7C%42%96%AE%DE%4B%48%3B%FA%92%F8%9E%8C%CF%6D%8B%A9%72%37%95;type=cert" > /etc/pki/ca-trust/source/blocklist/ISRGRootX2 $ update-ca-trust Verify that the certificate is in the blocklist: $ trust list --filter=blocklist p11-kit: overriding trust for anchor in blocklist: ISRGRootX2 pkcs11:id=%7C%42%96%AE%DE%4B%48%3B%FA%92%F8%9E%8C%CF%6D%8B%A9%72%37%95;type=cert type: certificate label: ISRG Root X2 trust: distrusted category: authority pkcs11:id=%88%68%BF%E0%8E%35%C4%3B%38%6B%62%F7%28%3B%84%81%C8%0C%D7%4D;type=cert type: certificate label: Explicitly Distrust DigiNotar Root CA trust: distrusted category: authority