CloudLinux AlmaLinux OS 9 Security Technical Implementation Guide

  • Version/Release: V1R1
  • Published: 2024-11-25
  • Released: 2024-11-19
  • 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.
a
AlmaLinux OS 9 must limit the number of concurrent sessions to ten for all accounts and/or account types.
AC-10 - Low - CCI-000054 - V-269102 - SV-269102r1049984_rule
RMF Control
AC-10
Severity
Low
CCI
CCI-000054
Version
ALMA-09-001010
Vuln IDs
  • V-269102
Rule IDs
  • SV-269102r1049984_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 should be defined based upon mission needs and the operational environment for each system.
Checks: C-73133r1049084_chk

Verify AlmaLinux OS 9 limits the number of concurrent sessions to "10" for all accounts and/or account types with the following command: $ grep -rs maxlogins /etc/security/limits.conf /etc/security/limits.d/*.conf /etc/security/limits.d/maxlogins.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, this is a finding.

Fix: F-73034r1049085_fix

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

b
AlmaLinux OS 9 must automatically lock graphical user sessions after 15 minutes of inactivity.
AC-11 - Medium - CCI-000060 - V-269103 - SV-269103r1049985_rule
RMF Control
AC-11
Severity
Medium
CCI
CCI-000060
Version
ALMA-09-001120
Vuln IDs
  • V-269103
Rule IDs
  • SV-269103r1049985_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 log out because of the temporary nature of the absence. The session lock is implemented at the point where session activity can be determined. The operating system session lock event must include an obfuscation of the display screen so as to prevent other users from reading what was previously displayed. Publicly viewable images can include static or dynamic images, for example, patterns used with screen savers, photographic images, solid colors, a clock, a battery life indicator, or a blank screen, with the additional caveat that none of the images convey sensitive information.
Checks: C-73134r1049087_chk

Note: This requirement assumes the use of the AlmaLinux OS 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 AlmaLinux OS 9 initiates a session lock after a 10-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-73035r1049088_fix

Configure AlmaLinux OS 9 to initiate a screensaver after a 10-minute period of inactivity for graphical user interfaces. Create a database to contain the systemwide screensaver settings (if it does not already exist) with the following command: $ 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: $ dconf update

b
AlmaLinux OS 9 must conceal, via the session lock, information previously visible on the display with a publicly viewable image.
AC-11 - Medium - CCI-000060 - V-269104 - SV-269104r1049986_rule
RMF Control
AC-11
Severity
Medium
CCI
CCI-000060
Version
ALMA-09-001230
Vuln IDs
  • V-269104
Rule IDs
  • SV-269104r1049986_rule
Setting the screensaver mode to blank-only conceals the contents of the display from passersby.
Checks: C-73135r1049090_chk

Note: This requirement assumes the use of the AlmaLinux OS 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. To ensure the screensaver is configured to be blank, run 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-73036r1049091_fix

Configure AlmaLinux OS 9 to prevent a user from overriding the picture-uri setting for graphical user interfaces. First, in the file "/etc/dconf/db/local.d/00-security-settings" add or update the following lines: [org/gnome/desktop/screensaver] picture-uri='' Then, prevent user modification by adding the following line to "/etc/dconf/db/local.d/locks/00-security-settings-lock": /org/gnome/desktop/screensaver/picture-uri Update the dconf system databases: $ dconf update

b
AlmaLinux OS 9 must prevent a user from overriding the session idle-delay setting for the graphical user interface.
AC-11 - Medium - CCI-000060 - V-269105 - SV-269105r1049987_rule
RMF Control
AC-11
Severity
Medium
CCI
CCI-000060
Version
ALMA-09-001340
Vuln IDs
  • V-269105
Rule IDs
  • SV-269105r1049987_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 log out because of the temporary nature of the absence. The session lock is implemented at the point where session activity can be determined. The operating system session lock event must include an obfuscation of the display screen so as to prevent other users from reading what was previously displayed. Publicly viewable images can include static or dynamic images, for example, patterns used with screen savers, photographic images, solid colors, a clock, a battery life indicator, or a blank screen, with the additional caveat that none of the images convey sensitive information.
Checks: C-73136r1049093_chk

Note: This requirement assumes the use of the AlmaLinux OS 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 AlmaLinux OS 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-73037r1049094_fix

Configure AlmaLinux OS 9 to prevent a user from overriding settings 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. $ 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: $ dconf update

b
AlmaLinux OS 9 must initiate a session lock for graphical user interfaces when the screensaver is activated.
AC-11 - Medium - CCI-000057 - V-269106 - SV-269106r1049988_rule
RMF Control
AC-11
Severity
Medium
CCI
CCI-000057
Version
ALMA-09-001450
Vuln IDs
  • V-269106
Rule IDs
  • SV-269106r1049988_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-73137r1049096_chk

Note: This requirement assumes the use of the AlmaLinux OS 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 AlmaLinux OS 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-73038r1049097_fix

Configure AlmaLinux OS 9 to initiate a session lock for graphical user interfaces when a screensaver is activated. 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. $ 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: $ dconf update

b
AlmaLinux OS 9 must prevent a user from overriding the session lock-delay setting for the graphical user interface.
AC-11 - Medium - CCI-000057 - V-269107 - SV-269107r1049989_rule
RMF Control
AC-11
Severity
Medium
CCI
CCI-000057
Version
ALMA-09-001560
Vuln IDs
  • V-269107
Rule IDs
  • SV-269107r1049989_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-73138r1049099_chk

Note: This requirement assumes the use of the AlmaLinux OS 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 AlmaLinux OS 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/* /etc/dconf/db/local.d/locks/session:/org/gnome/desktop/screensaver/lock-delay If the command does not return at least the example result, this is a finding.

Fix: F-73039r1049100_fix

Configure AlmaLinux OS 9 to prevent a user from overriding settings 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. $ 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: $ dconf update

b
AlmaLinux OS 9 must automatically exit interactive command shell user sessions after 10 minutes of inactivity.
AC-11 - Medium - CCI-000057 - V-269108 - SV-269108r1049990_rule
RMF Control
AC-11
Severity
Medium
CCI
CCI-000057
Version
ALMA-09-001890
Vuln IDs
  • V-269108
Rule IDs
  • SV-269108r1049990_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. Declaring $TMOUT as read-only means the user cannot override the setting. Satisfies: SRG-OS-000029-GPOS-00010, SRG-OS-000281-GPOS-00111, SRG-OS-000163-GPOS-00072
Checks: C-73139r1049102_chk

Verify AlmaLinux OS 9 is configured to exit interactive command shell user sessions after 10 minutes of inactivity or less with the following command: $ grep TMOUT /etc/profile /etc/profile.d/*.sh /etc/profile.d/tmout.sh:declare -xr TMOUT=600 If "TMOUT" is not set to "600" or less in a script located in the "/etc/'profile.d/ directory, is missing or is commented out, this is a finding.

Fix: F-73040r1049103_fix

Configure AlmaLinux OS 9 to exit interactive command shell user sessions after 10 minutes of inactivity using the following command: echo "declare -xr TMOUT=600" > /etc/profile.d/tmout.sh

b
AlmaLinux OS 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-269109 - SV-269109r1049991_rule
RMF Control
AC-11
Severity
Medium
CCI
CCI-000056
Version
ALMA-09-002000
Vuln IDs
  • V-269109
Rule IDs
  • SV-269109r1049991_rule
A session lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not want to log out because of the temporary nature of the absence. The session lock is implemented at the point where session activity can be determined. Regardless of where the session lock is determined and implemented, once invoked, the session lock must remain in place until the user re-authenticates. No other activity aside from re-authentication must unlock the system.
Checks: C-73140r1049105_chk

Note: This requirement assumes the use of the AlmaLinux OS 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 AlmaLinux OS 9 enables a user's session lock until that user re-establishes access using established identification and authentication procedures with the following command: $ grep -R removal-action= /etc/dconf/db/* /etc/dconf/db/distro.d/00-security-settings: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-73041r1049106_fix

Configure AlmaLinux OS 9 to enable a user's session lock until that user re-establishes access using established identification and authentication procedures. Select or create an authselect profile and incorporate the "with-smartcard-lock-on-removal" feature with the following example: $ authselect select sssd with-smartcard with-smartcard-lock-on-removal Alternatively, the dconf settings can be edited in the /etc/dconf/db/* location. Add or update the [org/gnome/settings-daemon/peripherals/smartcard] section of the /etc/dconf/db/local.d/00-security-settings" database file and add or update the following lines: [org/gnome/settings-daemon/peripherals/smartcard] removal-action='lock-screen' Then update the dconf system databases: $ dconf update

b
AlmaLinux OS 9 must prevent a user from overriding the disabling of the graphical user smart card removal action.
AC-11 - Medium - CCI-000056 - V-269110 - SV-269110r1049992_rule
RMF Control
AC-11
Severity
Medium
CCI
CCI-000056
Version
ALMA-09-002110
Vuln IDs
  • V-269110
Rule IDs
  • SV-269110r1049992_rule
A session lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not want to log out because of the temporary nature of the absence. The session lock is implemented at the point where session activity can be determined. Regardless of where the session lock is determined and implemented, once invoked, the session lock must remain in place until the user re-authenticates. No other activity aside from re-authentication must unlock the system.
Checks: C-73141r1049108_chk

Verify AlmaLinux OS 9 disables the ability of the user to override the smart card removal action setting. Note: This requirement assumes the use of the AlmaLinux OS 9 default graphical user interface, the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Determine 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/* /etc/dconf/db/local.d/locks/00-security-settings-lock:/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-73042r1047707_fix

Add the following line to "/etc/dconf/db/local.d/locks/00-security-settings-lock" to prevent user override of the smart card removal action: /org/gnome/settings-daemon/peripherals/smartcard/removal-action Then, update the dconf system databases: $ dconf update

b
AlmaLinux OS 9 must log SSH connection attempts and failures to the server.
AC-17 - Medium - CCI-000067 - V-269111 - SV-269111r1050605_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-000067
Version
ALMA-09-002770
Vuln IDs
  • V-269111
Rule IDs
  • SV-269111r1050605_rule
Remote access services, such as those providing remote access to network devices and information systems, which lack automated monitoring capabilities, increase risk, and make remote user access management difficult at best. Remote access is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. Automated monitoring of remote access sessions allows organizations to detect cyber attacks and also ensure ongoing compliance with remote access policies by auditing connection activities of remote access capabilities, such as Remote Desktop Protocol (RDP), on a variety of information system components (e.g., servers, workstations, notebook computers, smartphones, and tablets). 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-73142r1049110_chk

Verify AlmaLinux OS 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: $ sshd -T | grep loglevel loglevel VERBOSE If a value of "VERBOSE" is not returned, or is commented out, this is a finding.

Fix: F-73043r1049111_fix

Configure AlmaLinux OS 9 to log SSH connection attempts by running the following command: $ echo "LogLevel VERBOSE" > /etc/ssh/sshd_config.d/40-loglevel.conf

b
All AlmaLinux OS 9 remote access methods must be monitored.
AC-17 - Medium - CCI-000067 - V-269112 - SV-269112r1050606_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-000067
Version
ALMA-09-002880
Vuln IDs
  • V-269112
Rule IDs
  • SV-269112r1050606_rule
Remote access services, such as those providing remote access to network devices and information systems, which lack automated monitoring capabilities, increase risk, and make remote user access management difficult at best. Remote access is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. Automated monitoring of remote access sessions allows organizations to detect cyber attacks and also ensure ongoing compliance with remote access policies by auditing connection activities of remote access capabilities, such as Remote Desktop Protocol (RDP), on a variety of information system components (e.g., servers, workstations, notebook computers, smartphones, and tablets). Monitoring of remote access can be used to spot attacks such as brute-force authentication attempts and denial-of-service (DoS) attacks.
Checks: C-73143r1049113_chk

Verify that AlmaLinux OS 9 monitors all remote access methods, by running the following command: $ grep -rsE '^(auth|authpriv|daemon)\.\*' /etc/rsyslog.conf /etc/rsyslog.d/*.conf /etc/rsyslog.conf:authpriv.* /var/log/secure If "auth.*", "authpriv.*" or "daemon.*" are not configured to be logged, this is a finding.

Fix: F-73044r1047713_fix

Add or update the following line to the "/etc/rsyslog.conf" file or a .conf file within /etc/rsyslog.d/: auth.*;authpriv.*;daemon.* /var/log/secure

b
AlmaLinux OS 9 SSH client must be configured to use only encryption ciphers employing FIPS 140-3 validated cryptographic hash algorithms to protect the confidentiality of SSH client connections.
AC-17 - Medium - CCI-001453 - V-269113 - SV-269113r1049995_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
ALMA-09-002990
Vuln IDs
  • V-269113
Rule IDs
  • SV-269113r1049995_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. AlmaLinux OS 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-73144r1047715_chk

Verify the SSH client is configured to use only ciphers employing FIPS 140-3 approved algorithms with the following command: $ grep -i ciphers /etc/crypto-policies/back-ends/openssh.config Ciphers aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes128-ctr If the cipher entries in the "openssh.config" file have any ciphers other than "aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes128-ctr", the order differs from the example above, they are missing, or commented out, this is a finding.

Fix: F-73045r1049115_fix

Configure the AlmaLinux OS 9 SSH client to use only ciphers employing FIPS 140-3 approved algorithms by updating the "/etc/crypto-policies/back-ends/openssh.config" file with the following line: Ciphers aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes128-ctr A reboot is required for the changes to take effect.

b
AlmaLinux OS 9 must implement DOD-approved encryption ciphers to protect the confidentiality of SSH client connections.
AC-17 - Medium - CCI-001453 - V-269114 - SV-269114r1050607_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
ALMA-09-003100
Vuln IDs
  • V-269114
Rule IDs
  • SV-269114r1050607_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. AlmaLinux OS 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-73145r1049117_chk

Verify that systemwide crypto policies are in effect with the following command: $ sudo grep Include /etc/ssh/sshd_config /etc/ssh/sshd_config.d/* /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 or the file "/etc/ssh/sshd_config.d/50-redhat.conf" is missing, this is a finding.

Fix: F-73046r1049118_fix

Configure the AlmaLinux OS 9 SSH daemon to use systemwide crypto policies by running the following commands: $ sudo dnf reinstall openssh-clients

b
AlmaLinux OS 9 SSH client must be configured to use only Message Authentication Codes (MACs) employing FIPS 140-3 validated cryptographic hash algorithms.
AC-17 - Medium - CCI-001453 - V-269115 - SV-269115r1050618_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
ALMA-09-003210
Vuln IDs
  • V-269115
Rule IDs
  • SV-269115r1050618_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. AlmaLinux OS 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-73146r1047721_chk

Verify the SSH client is configured to use only ciphers employing FIPS 140-3 approved algorithms with the following command: $ grep -i macs /etc/crypto-policies/back-ends/openssh.config MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512,hmac-sha2-256 If the MACs entries in the "openssh.config" file have any hashes other than "MACs hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha2-512", the order differs from the example above, they are missing, or commented out, this is a finding.

Fix: F-73047r1049120_fix

Configure the AlmaLinux OS 9 SSH client to use only MACs employing FIPS 140-3 approved algorithms by updating the "/etc/crypto-policies/back-ends/openssh.config" file with the following line: MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512,hmac-sha2-256 A reboot is required for the changes to take effect.

b
AlmaLinux OS 9 must implement DOD-approved encryption ciphers to protect the confidentiality of SSH server connections.
AC-17 - Medium - CCI-001453 - V-269116 - SV-269116r1050608_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
ALMA-09-003320
Vuln IDs
  • V-269116
Rule IDs
  • SV-269116r1050608_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.
Checks: C-73147r1047724_chk

Verify the SSH server is configured to use only ciphers employing FIPS 140-3 approved algorithms with the following command: First, ensure that FIPS mode is enabled with the following command: $ cat /proc/sys/crypto/fips_enabled 1 If the command does not return a "1", then the systemwide crypto policy is not set to FIPS, and this is a finding. 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,aes128-gcm@openssh.com,aes256-ctr,aes128-ctr If the Ciphers entries in the "opensshserver.config" file have any hashes other than "aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes128-ctr", the order differs from the example above, or they are missing or commented out, this is a finding.

Fix: F-73048r1049122_fix

Configure the AlmaLinux OS 9 SSH server to use only ciphers employing FIPS 140-3 approved algorithms by updating the "/etc/crypto-policies/back-ends/opensshserver.config" file with the following commands: Note: Before enabling FIPS mode, ensure that the dracut-fips package is installed on the system. Enable FIPS mode by updating the system's crypto policy with the following command: $ sudo update-crypto-policies --set FIPS Note: If FIPS mode has never been enabled on the system, additional steps will need to be conducted. Refer to vendor documentation. To manually update the Ciphers in the systemwide SSH configuration, use the following command: $ sudo sed -i -E '/^Ciphers/s/.*/Ciphers aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes128-ctr/' "$(readlink -f /etc/crypto-policies/back-ends/opensshserver.config)" A reboot is required for the changes to take effect.

b
AlmaLinux OS 9 SSH server must be configured to use only FIPS 140-3 validated key exchange algorithms.
AC-17 - Medium - CCI-001453 - V-269117 - SV-269117r1049999_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
ALMA-09-003325
Vuln IDs
  • V-269117
Rule IDs
  • SV-269117r1049999_rule
Without cryptographic integrity protections provided by FIPS-validated cryptographic algorithms, information can be viewed and altered by unauthorized users without detection. AlmaLinux OS 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. The system will attempt to use the first algorithm presented by the client that matches the server list. Listing the values "strongest to weakest" is a method to ensure the use of the strongest algorithm available to secure the SSH connection.
Checks: C-73148r1049124_chk

Verify that the SSH server is configured to use only FIPS 140-3 validated key exchange algorithms: First, ensure that FIPS mode is enabled with the following command: $ cat /proc/sys/crypto/fips_enabled 1 If the command does not return a "1", then the systemwide crypto policy is not set to FIPS, and this is a finding. $ sudo grep -i kexalgorithms /etc/crypto-policies/back-ends/opensshserver.config KexAlgorithms ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha256 If the entries following "KexAlgorithms" have any algorithms defined other than "ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha256", appear in different order than shown, or are missing or commented out, this is a finding.

Fix: F-73049r1049125_fix

Configure the AlmaLinux OS 9 SSH server to use only FIPS 140-3 approved algorithms by updating the "/etc/crypto-policies/back-ends/opensshserver.config" file with the following commands: Note: Before enabling FIPS mode, ensure that the dracut-fips package is installed on the system. Enable FIPS mode by updating the system's crypto policy with the following command: $ sudo update-crypto-policies --set FIPS Note: If FIPS mode has never been enabled on the system, additional steps will need to be conducted. Refer to vendor documentation. To manually update the Key Exchange Algorithms in the systemwide SSH configuration, use the following command: $ sudo sed -i -E '/^KexAlgorithms/s/.*/KexAlgorithms ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha256/' "$(readlink -f /etc/crypto-policies/back-ends/opensshserver.config)" Reboot the system for the changes to take effect.

b
AlmaLinux OS 9 must implement DOD-approved systemwide cryptographic policies to protect the confidentiality of SSH server connections.
AC-17 - Medium - CCI-001453 - V-269118 - SV-269118r1050609_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
ALMA-09-003430
Vuln IDs
  • V-269118
Rule IDs
  • SV-269118r1050609_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.
Checks: C-73149r1047730_chk

Verify that systemwide crypto 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 or the file /etc/ssh/sshd_config.d/50-redhat.conf is missing, this is a finding.

Fix: F-73050r1049127_fix

Configure the AlmaLinux OS 9 SSH daemon to use systemwide crypto policies by running the following commands: $ sudo dnf reinstall openssh-server

b
AlmaLinux OS 9 SSH server must be configured to use only Message Authentication Codes (MACs) employing FIPS 140-3 validated cryptographic hash algorithms.
AC-17 - Medium - CCI-001453 - V-269119 - SV-269119r1050001_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
ALMA-09-003540
Vuln IDs
  • V-269119
Rule IDs
  • SV-269119r1050001_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. AlmaLinux OS 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-73150r1047733_chk

Verify the SSH server is configured to use only MACs employing FIPS 140-3 approved algorithms with the following command: First, ensure that FIPS mode is enabled with the following command: $ cat /proc/sys/crypto/fips_enabled 1 If the command does not return a "1", then the systemwide crypto policy is not set to FIPS, and this is a finding. 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-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512,hmac-sha2-256 If the MACs entries in the "opensshserver.config" file have any hashes other than "hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512,hmac-sha2-256", the order differs from the example above, or they are missing or commented out, this is a finding.

Fix: F-73051r1049129_fix

Configure the AlmaLinux OS 9 SSH server to use only MACs employing FIPS 140-3 approved algorithms by updating the "/etc/crypto-policies/back-ends/opensshserver.config" file with the following commands: Note: Before enabling FIPS mode, ensure that the dracut-fips package is installed on the system. Enable FIPS mode by updating the system's crypto policy with the following command: $ sudo update-crypto-policies --set FIPS Note: If FIPS mode has never been enabled on the system, additional steps will need to be conducted. Refer to vendor documentation. To manually update the MACs in the systemwide SSH configuration, use the following command: $ sudo sed -i -E '/^MACs/s/.*/MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512,hmac-sha2-256/' "$(readlink -f /etc/crypto-policies/back-ends/opensshserver.config)" A reboot is required for the changes to take effect.

b
AlmaLinux OS 9 must force a frequent session key renegotiation for SSH connections to the server.
AC-17 - Medium - CCI-000068 - V-269120 - SV-269120r1050610_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-000068
Version
ALMA-09-003650
Vuln IDs
  • V-269120
Rule IDs
  • SV-269120r1050610_rule
Without confidentiality protection mechanisms, unauthorized individuals may gain access to sensitive information via a remote access session. 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. Encryption provides a means to secure the remote connection to prevent unauthorized access to the data traversing the remote access connection (e.g., RDP), thereby providing a degree of confidentiality. The encryption strength of a mechanism is selected based on the security categorization of the information. Session key regeneration limits the chances of a session key becoming compromised.
Checks: C-73151r1047736_chk

Verify the SSH server is configured to force frequent session key renegotiation with the following command: $ sshd -T | grep rekeylimit rekeylimit 1073741824 3600 If "RekeyLimit" does not have a maximum data amount and maximum time defined, this is a finding.

Fix: F-73052r1049131_fix

Configure AlmaLinux OS 9 to force a frequent session key renegotiation for SSH connections to the server by running the following command: $ echo "RekeyLimit 1G 1h" > /etc/ssh/sshd_config.d/40-rekeylimit.conf

c
AlmaLinux OS 9 must implement DOD-approved TLS encryption in the GnuTLS package.
AC-17 - High - CCI-001453 - V-269121 - SV-269121r1050611_rule
RMF Control
AC-17
Severity
High
CCI
CCI-001453
Version
ALMA-09-003760
Vuln IDs
  • V-269121
Rule IDs
  • SV-269121r1050611_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.
Checks: C-73152r1047739_chk

Verify if GnuTLS uses defined DOD-approved TLS Crypto Policy with the following command: $ update-crypto-policies --show FIPS If the system wide crypto policy is not set to "FIPS", this is a finding.

Fix: F-73053r1049133_fix

Configure the AlmaLinux OS 9 GnuTLS library to use only NIST-approved encryption with the following steps to enable FIPS mode: $ fips-mode-setup --enable A reboot is required for the changes to take effect.

b
AlmaLinux OS 9 IP tunnels must use FIPS 140-3 approved cryptographic algorithms.
AC-17 - Medium - CCI-000068 - V-269122 - SV-269122r1050004_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-000068
Version
ALMA-09-003870
Vuln IDs
  • V-269122
Rule IDs
  • SV-269122r1050004_rule
Overriding the system crypto policy makes the behavior of the Libreswan service violate expectations and makes the system configuration more fragmented.
Checks: C-73153r1047742_chk

Note: If the Libreswan package is not installed, this requirement is Not Applicable. Verify that the IPsec service uses the system crypto policy with the following command: $ grep -rE '^include ' /etc/ipsec.conf /etc/ipsec.d/ /etc/ipsec.conf:include /etc/crypto-policies/back-ends/libreswan.config /etc/ipsec.conf:include /etc/ipsec.d/*.conf If the IPsec configuration file does not contain "include /etc/crypto-policies/back-ends/libreswan.config", this is a finding.

Fix: F-73054r1049135_fix

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

b
AlmaLinux OS 9 must implement DOD-approved encryption in the OpenSSL package.
AC-17 - Medium - CCI-001453 - V-269123 - SV-269123r1050005_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
ALMA-09-003980
Vuln IDs
  • V-269123
Rule IDs
  • SV-269123r1050005_rule
Without cryptographic integrity protections, information can be altered by unauthorized users without detection. Remote access (e.g., RDP) is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. Cryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash. The employed algorithms can be viewed in the /etc/crypto-policies/back-ends/openssl.config file.
Checks: C-73154r1049137_chk

Verify that AlmaLinux OS 9 OpenSSL library is configured to use only ciphers employing FIPS 140-3 approved algorithms with the following command: $ grep -i opensslcnf.config /etc/pki/tls/openssl.cnf .include = /etc/crypto-policies/back-ends/opensslcnf.config If the "opensslcnf.config" is not defined in the "/etc/pki/tls/openssl.cnf" file, this is a finding.

Fix: F-73055r1049138_fix

Configure the AlmaLinux OS 9 OpenSSL library to use the system cryptographic policy. Edit the "/etc/pki/tls/openssl.cnf" and add or modify the following line: .include = /etc/crypto-policies/back-ends/opensslcnf.config

b
AlmaLinux OS 9 must implement DOD-approved TLS encryption in the OpenSSL package.
AC-17 - Medium - CCI-001453 - V-269124 - SV-269124r1050006_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
ALMA-09-004090
Vuln IDs
  • V-269124
Rule IDs
  • SV-269124r1050006_rule
Without cryptographic integrity protections, information can be altered by unauthorized users without detection. Remote access (e.g., RDP) is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. Cryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash. The employed algorithms can be viewed in the /etc/crypto-policies/back-ends/openssl.config file.
Checks: C-73155r1049140_chk

Verify that AlmaLinux OS 9 OpenSSL library is configured to use TLS 1.2 encryption or stronger with following command: $ grep -i minprotocol /etc/crypto-policies/back-ends/opensslcnf.config TLS.MinProtocol = TLSv1.2 DTLS.MinProtocol = DTLSv1.2 If the "TLS.MinProtocol" is set to anything older than "TLSv1.2" or the "DTLS.MinProtocol" is set to anything older than "DTLSv1.2", this is a finding.

Fix: F-73056r1049141_fix

Configure the AlmaLinux OS 9 OpenSSL library to use only DOD-approved TLS encryption by editing the following line in the "/etc/crypto-policies/back-ends/opensslcnf.config" file: TLS.MinProtocol = TLSv1.2 DTLS.MinProtocol = DTLSv1.2 A reboot is required for the changes to take effect.

c
AlmaLinux OS 9 must use the TuxCare FIPS repository.
AC-17 - High - CCI-000068 - V-269125 - SV-269125r1050007_rule
RMF Control
AC-17
Severity
High
CCI
CCI-000068
Version
ALMA-09-004310
Vuln IDs
  • V-269125
Rule IDs
  • SV-269125r1050007_rule
FIPS 140-3 validated packages are available from TuxCare. The TuxCare repositories provide the packages and updates not found in the community repositories. Satisfies: SRG-OS-000033-GPOS-00014, SRG-OS-000125-GPOS-00065, SRG-OS-000396-GPOS-00176, SRG-OS-000478-GPOS-00223
Checks: C-73156r1049143_chk

Verify that AlmaLinux OS 9 is using the TuxCare FIPS repositories with the following command: $ dnf repolist | grep tuxcare tuxcare-base TuxCare Enterprise Support for AlmaLinux OS 9.2 - Base tuxcare-esu TuxCare Enterprise Support for AlmaLinux OS 9.2 - ESU tuxcare-fips TuxCare Enterprise Support for AlmaLinux OS 9.2 - FIPS Compliance Extension If the 3 tuxcare-* repositories above are not enabled, this is a finding.

Fix: F-73057r1047752_fix

FIPS-validated packages are available from TuxCare as part of the Enterprise Support for AlmaLinux product line. Access the packages by purchasing an ESU license key. Configure the operating system to implement FIPS mode with the following commands: $ dnf install -y https://repo.tuxcare.com/tuxcare/tuxcare-release-latest-9.noarch.rpm $ tuxctl ---fips --license-key ESU-XXXXXXXXXXXXXXXXXXX $ dnf -y install openssl-3.0.7-20.el9_2.tuxcare.1 kernel-5.14.0-284.11.1.el9_2.tuxcare.5 gnutls-3.7.6-23.el9_2.tuxcare.3 nettle-3.8-3.el9_2.tuxcare.1 libgcrypt-1.10.0-10.el9_2.tuxcare.3 nss-3.90.0-6.el9_2.tuxcare.1 $ grubby --set-default=/boot/vmlinuz-5.14.0-284.11.1.el9_2.tuxcare.5.$(uname -i) $ fips-mode-setup --enable $ reboot

c
AlmaLinux OS 9 must use the TuxCare FIPS packages and not the default encryption packages.
AC-17 - High - CCI-000068 - V-269126 - SV-269126r1050008_rule
RMF Control
AC-17
Severity
High
CCI
CCI-000068
Version
ALMA-09-004320
Vuln IDs
  • V-269126
Rule IDs
  • SV-269126r1050008_rule
FIPS 140-3 validated packages are available from TuxCare. The original community packages must be replaced with the versions that have gone through the CMVP. Satisfies: SRG-OS-000033-GPOS-00014, SRG-OS-000478-GPOS-00223, SRG-OS-000396-GPOS-00176, SRG-OS-000125-GPOS-00065
Checks: C-73157r1049145_chk

Verify that AlmaLinux OS 9 is using the TuxCare FIPS packages with the following command: $ rpm -qa | grep -E '^(gnutls|nettle|nss|openssl|libgcrypt|kernel)-[0-9]+' | grep -v tuxcare If the command returns anything, this is a finding.

Fix: F-73058r1047755_fix

Ensure FIPS-validated packages are in use instead of OS defaults using the following commands: $ dnf -y install openssl-3.0.7-20.el9_2.tuxcare.1 kernel-5.14.0-284.11.1.el9_2.tuxcare.5 gnutls-3.7.6-23.el9_2.tuxcare.3 nettle-3.8-3.el9_2.tuxcare.1 libgcrypt-1.10.0-10.el9_2.tuxcare.3 nss-3.90.0-6.el9_2.tuxcare.1 $ dnf -y upgrade $ grubby --set-default=/boot/vmlinuz-5.14.0-284.11.1.el9_2.tuxcare.5.$(uname -i) $ reboot After rebooting into a FIPS kernel, remove the OS default kernel packages, using for example: $ dnf remove kernel-5.14.0-284.11.1.el9_2.x86_64 kernel-5.14.0-284.30.1.el9_2.x86_64 $ dnf autoremove

c
AlmaLinux OS 9 must enable FIPS mode.
AC-17 - High - CCI-000068 - V-269127 - SV-269127r1050612_rule
RMF Control
AC-17
Severity
High
CCI
CCI-000068
Version
ALMA-09-004420
Vuln IDs
  • V-269127
Rule IDs
  • SV-269127r1050612_rule
Without confidentiality protection mechanisms, unauthorized individuals may gain access to sensitive information via a remote access session. 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. Encryption provides a means to secure the remote connection to prevent unauthorized access to the data traversing the remote access connection (e.g., RDP), thereby providing a degree of confidentiality. The encryption strength of a mechanism is selected based on the security categorization of the information. The operating system must use cryptographic modules that have been validated by NIST's FIPS 140-3 program. Using weak or untested cryptography could compromise the confidentiality and integrity of data at rest and in transit. Satisfies: SRG-OS-000033-GPOS-00014, SRG-OS-000478-GPOS-00223, SRG-OS-000396-GPOS-00176, SRG-OS-000125-GPOS-00065
Checks: C-73158r1049147_chk

Verify that AlmaLinux OS 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-73059r1047758_fix

FIPS-validated packages are available from TuxCare as part of the Enterprise Support for AlmaLinux product line. You will need to purchase an ESU license key. Configure the operating system to implement FIPS mode with the following commands: $ dnf install -y https://repo.tuxcare.com/tuxcare/tuxcare-release-latest-9.noarch.rpm $ tuxctl ---fips --license-key ESU-XXXXXXXXXXXXXXXXXXX $ dnf -y install openssl-3.0.7-20.el9_2.tuxcare.1 kernel-5.14.0-284.11.1.el9_2.tuxcare.5 gnutls-3.7.6-23.el9_2.tuxcare.3 nettle-3.8-3.el9_2.tuxcare.1 libgcrypt-1.10.0-10.el9_2.tuxcare.3 nss-3.90.0-6.el9_2.tuxcare.1 $ grubby --set-default=/boot/vmlinuz-5.14.0-284.11.1.el9_2.tuxcare.5.$(uname -i) $ fips-mode-setup --enable $ reboot

b
AlmaLinux OS 9 must automatically expire temporary accounts within 72 hours.
AC-2 - Medium - CCI-000016 - V-269128 - SV-269128r1050010_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-000016
Version
ALMA-09-004750
Vuln IDs
  • V-269128
Rule IDs
  • SV-269128r1050010_rule
Temporary accounts are accounts created during a time of need when prompt action requires bypassing the normal account creation authorization process – such as during incident response. If these temporary accounts are left enabled (and may have elevated permissions via sudo, group membership or SSH keys) and are not automatically expired or manually removed, the security posture of the system will be degraded and left vulnerable to insider threat. Temporary accounts are not the same as "last resort" or "break glass" emergency accounts which are local system accounts to be used by and maintained by authorized system administrators when standard remote access/authentication is unavailable. Emergency accounts are not subject to removal or expiration requirements. Satisfies: SRG-OS-000002-GPOS-00002, SRG-OS-000123-GPOS-00064
Checks: C-73159r1047760_chk

Verify temporary accounts have been provisioned with an expiration date of 72 hours. For every existing temporary account, run the following command to obtain its account expiration information: $ chage -l <account name> | grep -i "account expires" Verify each of these accounts has an expiration date set within 72 hours. If any temporary accounts have an expiration date set to "never" or do not expire within 72 hours, this is a finding.

Fix: F-73060r1047761_fix

Configure automatic account expiration after 72 hours by running the following command for each temporary account: $ chage -E $(date -d +3days +%Y-%m-%d) <account_name>

b
AlmaLinux OS 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/sudoers.
AC-2 - Medium - CCI-000018 - V-269129 - SV-269129r1050011_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-000018
Version
ALMA-09-004970
Vuln IDs
  • V-269129
Rule IDs
  • SV-269129r1050011_rule
Audit records provide a means to investigate events related to a security incident. Insufficient audit coverage will make identifying those responsible challenging or impossible. This auditd policy will watch for and alert the system administrators regarding any modifications to the "/etc/sudoers" file such as adding privileged users, groups, or commands. 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-000755-GPOS-00220
Checks: C-73160r1049150_chk

Verify AlmaLinux OS 9 generates audit records for all account creations, modifications, disabling, and termination events that affect the "/etc/sudoers" file, with the following command: $ grep /etc/sudoers /etc/audit/audit.rules -w /etc/sudoers -p wa -k identity If the command does not return a line or the line is commented out, this is a finding. Note: The "-k" allows for specifying an arbitrary identifier, and the string after it does not need to match the example output above.

Fix: F-73061r1049151_fix

Configure AlmaLinux OS 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers. Add the following to the "/etc/audit/rules.d/audit.rules" file: -w /etc/sudoers -p wa -k identity Merge the rules into /etc/audit/audit.rules: $ augenrules --load Reboot the server so the changes to take effect.

b
AlmaLinux OS 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/group.
AC-2 - Medium - CCI-000018 - V-269130 - SV-269130r1050012_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-000018
Version
ALMA-09-005080
Vuln IDs
  • V-269130
Rule IDs
  • SV-269130r1050012_rule
Audit records provide a means to investigate events related to a security incident. Insufficient audit coverage will make identifying those responsible challenging or impossible. This auditd policy will watch for and alert the system administrators regarding any modifications to the "/etc/group" file such as adding/removing/disabling groups. 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-73161r1049153_chk

Verify AlmaLinux OS 9 generates audit records for all account creations, modifications, disabling, and termination events that affect the "/etc/group" file, with the following command: $ grep /etc/group /etc/audit/audit.rules -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. Note: The "-k" allows for specifying an arbitrary identifier, and the string after it does not need to match the example output above.

Fix: F-73062r1049154_fix

Configure AlmaLinux OS 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/group". Add the following to the "/etc/audit/rules.d/audit.rules" file: -w /etc/group -p wa -k identity Merge the rules into /etc/audit/audit.rules: $ augenrules --load Reboot the server so the changes to take effect.

b
AlmaLinux OS 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/gshadow.
AC-2 - Medium - CCI-000018 - V-269131 - SV-269131r1050013_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-000018
Version
ALMA-09-005190
Vuln IDs
  • V-269131
Rule IDs
  • SV-269131r1050013_rule
Audit records provide a means to investigate events related to a security incident. Insufficient audit coverage will make identifying those responsible challenging or impossible. This auditd policy will watch for and alert the system administrators regarding any modifications to the "/etc/gshadow" file such as adding/removing/disabling users. 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-73162r1049156_chk

Verify AlmaLinux OS 9 generates audit records for all account creations, modifications, disabling, and termination events that affect the "/etc/gshadow" file, with the following command: $ grep /etc/gshadow /etc/audit/audit.rules -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. Note: The "-k" allows for specifying an arbitrary identifier, and the string after it does not need to match the example output above.

Fix: F-73063r1049157_fix

Configure AlmaLinux OS 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow". Add the following to the "/etc/audit/rules.d/audit.rules" file: -w /etc/gshadow -p wa -k identity Merge the rules into /etc/audit/audit.rules: $ augenrules --load Reboot the server so the changes to take effect.

b
AlmaLinux OS 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/security/opasswd.
AC-2 - Medium - CCI-000018 - V-269132 - SV-269132r1050014_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-000018
Version
ALMA-09-005300
Vuln IDs
  • V-269132
Rule IDs
  • SV-269132r1050014_rule
Audit records provide a means to investigate events related to a security incident. Insufficient audit coverage will make identifying those responsible challenging or impossible. This auditd policy will watch for and alert the system administrators regarding any modifications to the "/etc/security/opasswd" file such as adding/removing/disabling users. 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-73163r1049159_chk

Verify AlmaLinux OS 9 generates audit records for all account creations, modifications, disabling, and termination events that affect the "/etc/security/opasswd" file, with the following command: $ grep /etc/security/opasswd /etc/audit/audit.rules -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. Note: The "-k" allows for specifying an arbitrary identifier, and the string after it does not need to match the example output above.

Fix: F-73064r1049160_fix

Configure AlmaLinux OS 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd". Add the following to the "/etc/audit/rules.d/audit.rules" file: -w /etc/security/opasswd -p wa -k identity Merge the rules into /etc/audit/audit.rules: $ augenrules --load Reboot the server so the changes to take effect.

b
AlmaLinux OS 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/passwd.
AC-2 - Medium - CCI-000018 - V-269133 - SV-269133r1050015_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-000018
Version
ALMA-09-005410
Vuln IDs
  • V-269133
Rule IDs
  • SV-269133r1050015_rule
Audit records provide a means to investigate events related to a security incident. Insufficient audit coverage will make identifying those responsible challenging or impossible. This auditd policy will watch for and alert the system administrators regarding any modifications to the "/etc/passwd" file such as adding/removing/disabling users. 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-73164r1049162_chk

Verify AlmaLinux OS 9 generates audit records for all account creations, modifications, disabling, and termination events that affect the "/etc/passwd" file, with the following command: $ grep /etc/passwd /etc/audit/audit.rules -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. Note: The "-k" allows for specifying an arbitrary identifier, and the string after it does not need to match the example output above.

Fix: F-73065r1049163_fix

Configure AlmaLinux OS 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd". Add the following to the "/etc/audit/rules.d/audit.rules" file: -w /etc/passwd -p wa -k identity Merge the rules into /etc/audit/audit.rules: $ augenrules --load Reboot the server so the changes to take effect.

b
AlmaLinux OS 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/shadow.
AC-2 - Medium - CCI-000018 - V-269134 - SV-269134r1050016_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-000018
Version
ALMA-09-005960
Vuln IDs
  • V-269134
Rule IDs
  • SV-269134r1050016_rule
Audit records provide a means to investigate events related to a security incident. Insufficient audit coverage will make identifying those responsible challenging or impossible. This auditd policy will watch for and alert the system administrators regarding any modifications to the "/etc/shadow" file such as adding/removing/disabling users. 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-73165r1049165_chk

Verify AlmaLinux OS 9 generates audit records for all account creations, modifications, disabling, and termination events that affect the "/etc/shadow" file, with the following command: $ grep /etc/shadow /etc/audit/audit.rules -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. Note: The "-k" allows for specifying an arbitrary identifier, and the string after it does not need to match the example output above.

Fix: F-73066r1049166_fix

Configure AlmaLinux OS 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/shadow" using the following command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -w /etc/shadow -p wa -k identity Merge the rules into /etc/audit/audit.rules: $ augenrules --load Reboot the server so the changes to take effect.

b
AlmaLinux OS 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect the files within /etc/sudoers.d/
AC-2 - Medium - CCI-000018 - V-269135 - SV-269135r1050017_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-000018
Version
ALMA-09-006070
Vuln IDs
  • V-269135
Rule IDs
  • SV-269135r1050017_rule
Audit records provide a means to investigate events related to a security incident. Insufficient audit coverage will make identifying those responsible challenging or impossible. This auditd policy will watch for and alert the system administrators regarding any modifications to the files within "/etc/sudoers.d/" such as adding privileged users, groups, or commands. 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-73166r1049168_chk

Verify AlmaLinux OS 9 generates audit records for all account creations, modifications, disabling, and termination events that affect the files within "/etc/sudoers.d/", with the following command: $ grep /etc/sudoers.d/ /etc/audit/audit.rules -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. Note: The "-k" allows for specifying an arbitrary identifier, and the string after it does not need to match the example output above.

Fix: F-73067r1049169_fix

Configure AlmaLinux OS 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/. Add the following to the "/etc/audit/rules.d/audit.rules" file: -w /etc/sudoers.d/ -p wa -k identity Merge the rules into /etc/audit/audit.rules: $ augenrules --load Reboot the server so the changes to take effect.

b
AlmaLinux OS 9 must require authentication to access emergency mode.
AC-3 - Medium - CCI-000213 - V-269136 - SV-269136r1050018_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-000213
Version
ALMA-09-006180
Vuln IDs
  • V-269136
Rule IDs
  • SV-269136r1050018_rule
This requirement prevents attackers with physical access from easily bypassing security on the machine and gaining root access. Such accesses are further prevented by configuring the bootloader password.
Checks: C-73167r1049171_chk

Verify that AlmaLinux OS 9 requires authentication for emergency mode with the following command: $ grep -E 'ExecStart.*sulogin' /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-73068r1049172_fix

Configure AlmaLinux OS 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 "sudo systemctl edit emergency.service" can also be used to create a "/etc/systemd/system/emergency.service.d/override.conf" file.

b
AlmaLinux OS 9 must require a boot loader password.
AC-3 - Medium - CCI-000213 - V-269137 - SV-269137r1050019_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-000213
Version
ALMA-09-006290
Vuln IDs
  • V-269137
Rule IDs
  • SV-269137r1050019_rule
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-73168r1047787_chk

Verify the boot loader superuser password is required using the following command: $ grep password /etc/grub2.cfg password_pbkdf2 superman ${GRUB2_PASSWORD} Verify the boot loader superuser password has been set and the password is encrypted using the following command: $ cat /boot/grub2/user.cfg GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.5766DCE424DCD4F0A2F5AC774C044BE8B904BC F0022B671CD5E522A3568C599F327EBA3F3F5AB30D69A9B9A4FD172B12435BC10BE0A9B40669FB A5C5ECBE8D1B.EAC815AE6F8A3F79F800D2EC7F454933BC3D63282532AAB1C487CA25331DD359F 5BF61166EDB53FB33977E982A9F20327D988DA15CBF7E4238357E65C5AEAF3C If a "GRUB2_PASSWORD" is not set, this is a finding.

Fix: F-73069r1049174_fix

Configure AlmaLinux OS 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: $ grub2-setpassword Enter password: Confirm password:

b
AlmaLinux OS 9 must require a unique superuser's name upon booting into single-user and maintenance modes.
AC-3 - Medium - CCI-000213 - V-269138 - SV-269138r1050020_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-000213
Version
ALMA-09-006400
Vuln IDs
  • V-269138
Rule IDs
  • SV-269138r1050020_rule
Having a nondefault grub superuser username makes password-guessing attacks less effective.
Checks: C-73169r1047790_chk

Verify the boot loader superuser account has been set with the following command: $ grep -A1 "superusers" /etc/grub2.cfg set superusers="superman" export superusers password_pbkdf2 superman ${GRUB2_PASSWORD} In this example "superman" is the actual account name, changed from the default "root". If superusers contains easily guessable usernames, this is a finding.

Fix: F-73070r1049176_fix

Configure AlmaLinux OS 9 to have a unique username for the grub superuser account using the following commands: $ sed -ri 's/root/superman/' /etc/grub.d/01_users $ grub2-mkconfig -o /boot/grub2/grub.cfg

b
AlmaLinux OS 9 must require authentication to access single-user mode.
AC-3 - Medium - CCI-000213 - V-269139 - SV-269139r1050021_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-000213
Version
ALMA-09-006510
Vuln IDs
  • V-269139
Rule IDs
  • SV-269139r1050021_rule
This requirement prevents attackers with physical access from easily bypassing security on the machine and gaining root access. Such accesses are further prevented by configuring the bootloader password.
Checks: C-73170r1049178_chk

Verify that AlmaLinux OS 9 requires authentication for single-user mode with the following command: $ grep -E 'ExecStart.*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-73071r1049179_fix

Configure AlmaLinux OS 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 "sudo systemctl edit rescue.service" can also be used to create a "/etc/systemd/system/rescue.service.d/override.conf" file.

c
The systemd Ctrl-Alt-Delete burst key sequence in AlmaLinux OS 9 must be disabled.
AC-6 - High - CCI-002235 - V-269140 - SV-269140r1050022_rule
RMF Control
AC-6
Severity
High
CCI
CCI-002235
Version
ALMA-09-006620
Vuln IDs
  • V-269140
Rule IDs
  • SV-269140r1050022_rule
A locally logged-on user who presses Ctrl-Alt-Delete in quick succession 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-73171r1049181_chk

Verify AlmaLinux OS 9 is configured to not reboot the system when Ctrl-Alt-Delete is pressed seven times within two seconds with the following command: $ systemd-analyze cat-config systemd/system.conf | grep -v '#' | grep CtrlAltDel CtrlAltDelBurstAction=none If "CtrlAltDelBurstAction" is not set to "none", is commented out, or is missing, this is a finding.

Fix: F-73072r1047797_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. $ systemctl daemon-reexec

c
The Ctrl-Alt-Delete key sequence must be disabled on AlmaLinux OS 9.
AC-6 - High - CCI-002235 - V-269141 - SV-269141r1050023_rule
RMF Control
AC-6
Severity
High
CCI
CCI-002235
Version
ALMA-09-006730
Vuln IDs
  • V-269141
Rule IDs
  • SV-269141r1050023_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-73172r1049183_chk

Verify AlmaLinux OS 9 is not configured to reboot the system when Ctrl-Alt-Delete is pressed with the following command: $ systemctl status ctrl-alt-del.target reboot.target Loaded: masked (Reason: Unit reboot.target is masked.) Active: inactive (dead) If the "reboot.target" is loaded and not masked, this is a finding.

Fix: F-73073r1049184_fix

Configure AlmaLinux OS 9 to disable the ctrl-alt-del.target with the following command: $ systemctl disable --now reboot.target $ systemctl mask --now reboot.target

b
AlmaLinux OS 9 must have the sudo package installed.
AC-6 - Medium - CCI-002235 - V-269142 - SV-269142r1050024_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-002235
Version
ALMA-09-006840
Vuln IDs
  • V-269142
Rule IDs
  • SV-269142r1050024_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-73173r1049186_chk

Verify that the AlmaLinux OS 9 sudo package is installed with the following command: $ dnf list --installed sudo Installed Packages sudo.x86_64 1.9.5p2-9.el9 @anaconda If the "sudo" package is not installed, this is a finding.

Fix: F-73074r1047803_fix

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

b
The AlmaLinux OS 9 debug-shell systemd service must be disabled.
AC-6 - Medium - CCI-002235 - V-269143 - SV-269143r1050025_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-002235
Version
ALMA-09-006950
Vuln IDs
  • V-269143
Rule IDs
  • SV-269143r1050025_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 easily bypassing security on the machine through valid troubleshooting configurations and gaining root access when the system is rebooted.
Checks: C-73174r1049188_chk

Verify AlmaLinux OS 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-73075r1049189_fix

Configure AlmaLinux OS 9 to mask the debug-shell systemd service with the following command: $ systemctl mask --now debug-shell.service

b
AlmaLinux OS 9 must enable kernel parameters to enforce discretionary access control on hardlinks.
AC-6 - Medium - CCI-002235 - V-269144 - SV-269144r1050026_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-002235
Version
ALMA-09-007060
Vuln IDs
  • V-269144
Rule IDs
  • SV-269144r1050026_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 unsecure file systems accessed by privileged programs, avoiding an exploitation vector exploiting unsafe use of open() or creat().
Checks: C-73175r1049191_chk

Verify AlmaLinux OS 9 is configured to enable DAC on hardlinks with the following command: $ sysctl fs.protected_hardlinks fs.protected_hardlinks = 1 If "fs.protected_hardlinks" is not set to "1" or is missing, this is a finding. Check that the configuration files are present to enable this kernel parameter: $ /usr/lib/systemd/systemd-sysctl --cat-config | egrep -v '^(#|;)' | grep -F fs.protected_hardlinks | tail -1 fs.protected_hardlinks = 1 If "fs.protected_hardlinks" is not set to "1" or is missing, this is a finding.

Fix: F-73076r1049192_fix

Configure AlmaLinux OS 9 to enable DAC on hardlinks with the following command: $ echo "fs.protected_hardlinks = 1" > /etc/sysctl.d/60-hardlinks.conf Load settings from all system configuration files with the following command: $ sysctl –system

b
AlmaLinux OS 9 must enable kernel parameters to enforce discretionary access control (DAC) on symlinks.
AC-6 - Medium - CCI-002235 - V-269145 - SV-269145r1050027_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-002235
Version
ALMA-09-007170
Vuln IDs
  • V-269145
Rule IDs
  • SV-269145r1050027_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 unsecure file systems accessed by privileged programs, avoiding an exploitation vector exploiting unsafe use of open() or creat().
Checks: C-73176r1049194_chk

Verify AlmaLinux OS 9 is configured to enable DAC on symlinks with the following command: $ sysctl fs.protected_symlinks fs.protected_symlinks = 1 If "fs.protected_symlinks " is not set to "1" or is missing, this is a finding. Check that the configuration files are present to enable this kernel parameter: $ /usr/lib/systemd/systemd-sysctl --cat-config | egrep -v '^(#|;)' | grep -F fs.protected_symlinks | tail -1 fs.protected_symlinks = 1 If "fs.protected_symlinks" is not set to "1" or is missing, this is a finding.

Fix: F-73077r1049195_fix

Configure AlmaLinux OS 9 to enable DAC on symlinks with the following command: $ echo "fs.protected_symlinks = 1" > /etc/sysctl.d/60-symlinks.conf Load settings from all system configuration files with the following command: $ sysctl --system

b
AlmaLinux OS 9 must audit uses of the "execve" system call.
AC-6 - Medium - CCI-002234 - V-269146 - SV-269146r1050028_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-002234
Version
ALMA-09-007280
Vuln IDs
  • V-269146
Rule IDs
  • SV-269146r1050028_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-000327-GPOS-00127, SRG-OS-000326-GPOS-00126
Checks: C-73177r1049197_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "execve" system call with the following command: $ auditctl -l | grep execve -a always,exit -F arch=b32 -S execve -C uid!=euid -F euid=0 -F key=execpriv -a always,exit -F arch=b64 -S execve -C uid!=euid -F euid=0 -F key=execpriv -a always,exit -F arch=b32 -S execve -C gid!=egid -F egid=0 -F key=execpriv -a always,exit -F arch=b64 -S execve -C gid!=egid -F egid=0 -F key=execpriv If the command does not return all lines, or the lines are commented out, this is a finding.

Fix: F-73078r1049198_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "sudo" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -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 Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must automatically lock an account when three unsuccessful logon attempts occur.
AC-7 - Medium - CCI-000044 - V-269147 - SV-269147r1050029_rule
RMF Control
AC-7
Severity
Medium
CCI
CCI-000044
Version
ALMA-09-007500
Vuln IDs
  • V-269147
Rule IDs
  • SV-269147r1050029_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.
Checks: C-73178r1049200_chk

Verify AlmaLinux OS 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-73079r1049201_fix

Configure AlmaLinux OS 9 to lock an account when three unsuccessful logon attempts occur using pam_faillock. First, enable the feature using the following command: $ authselect enable-feature with-faillock Then, add or update the following line in the "/etc/security/faillock.conf" file: deny = 3

b
AlmaLinux OS 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-000044 - V-269148 - SV-269148r1050030_rule
RMF Control
AC-7
Severity
Medium
CCI
CCI-000044
Version
ALMA-09-007610
Vuln IDs
  • V-269148
Rule IDs
  • SV-269148r1050030_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.
Checks: C-73179r1049203_chk

Verify AlmaLinux OS 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 is commented out, this is a finding.

Fix: F-73080r1049204_fix

Configure AlmaLinux OS 9 to lock the root account after a number of incorrect login attempts using pam_faillock. First, enable the feature using the following command: $ authselect enable-feature with-faillock Then, add or uncomment the following line in the "/etc/security/faillock.conf" file: even_deny_root

b
AlmaLinux OS 9 must automatically lock an account when three unsuccessful logon attempts occur during a 15-minute time period.
AC-7 - Medium - CCI-000044 - V-269149 - SV-269149r1050031_rule
RMF Control
AC-7
Severity
Medium
CCI
CCI-000044
Version
ALMA-09-007720
Vuln IDs
  • V-269149
Rule IDs
  • SV-269149r1050031_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.
Checks: C-73180r1049206_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 AlmaLinux OS 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-73081r1049207_fix

Configure AlmaLinux OS 9 to lock an account after a number of incorrect login attempts within 15 minutes using pam_faillock. First, enable the feature using the following command: $ authselect enable-feature with-faillock Then, add or uncomment the following line in the "/etc/security/faillock.conf" file: fail_interval = 900

b
AlmaLinux OS 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-269150 - SV-269150r1050032_rule
RMF Control
AC-7
Severity
Medium
CCI
CCI-000044
Version
ALMA-09-007830
Vuln IDs
  • V-269150
Rule IDs
  • SV-269150r1050032_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. If the pam_faillock.so module is not loaded, the system will not correctly lockout accounts to prevent password guessing attacks.
Checks: C-73181r1047826_chk

Verify the pam_faillock.so module is present in the "/etc/pam.d/system-auth" file: $ 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. If the system administrator (SA) can demonstrate that the required configuration is contained in a PAM configuration file included or substacked from the system-auth file, this is not a finding.

Fix: F-73082r1049209_fix

Configure AlmaLinux OS 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, ensuring that the "preauth" line is listed before pam_unix.so. auth required pam_faillock.so preauth auth required pam_faillock.so authfail account required pam_faillock.so Note: Do not simply copy these three lines into the file; their location/order is important.

b
AlmaLinux OS 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-269151 - SV-269151r1050033_rule
RMF Control
AC-7
Severity
Medium
CCI
CCI-000044
Version
ALMA-09-007940
Vuln IDs
  • V-269151
Rule IDs
  • SV-269151r1050033_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. If the pam_faillock.so module is not loaded, the system will not correctly lockout accounts to prevent password guessing attacks.
Checks: C-73182r1047829_chk

Verify the pam_faillock.so module is present in the "/etc/pam.d/password-auth" file: $ 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. If the system administrator (SA) can demonstrate that the required configuration is contained in a PAM configuration file included or substacked from the system-auth file, this is not a finding.

Fix: F-73083r1049211_fix

Configure AlmaLinux OS 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, ensuring that the "preauth" line is listed before pam_unix.so. auth required pam_faillock.so preauth auth required pam_faillock.so authfail account required pam_faillock.so Note: Do not simply copy these three lines into the file; their location/order is important.

b
AlmaLinux OS 9 must log username information when unsuccessful logon attempts occur.
AC-7 - Medium - CCI-000044 - V-269152 - SV-269152r1050034_rule
RMF Control
AC-7
Severity
Medium
CCI
CCI-000044
Version
ALMA-09-008050
Vuln IDs
  • V-269152
Rule IDs
  • SV-269152r1050034_rule
Without auditing of these events, it may be harder or impossible to identify what an attacker did after an attack. Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000470-GPOS-00214
Checks: C-73183r1047832_chk

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-73084r1049213_fix

Configure AlmaLinux OS 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
AlmaLinux OS 9 must maintain an account lock until the locked account is manually released by an administrator; and not automatically after a set time.
AC-7 - Medium - CCI-002238 - V-269153 - SV-269153r1050035_rule
RMF Control
AC-7
Severity
Medium
CCI
CCI-002238
Version
ALMA-09-008160
Vuln IDs
  • V-269153
Rule IDs
  • SV-269153r1050035_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.
Checks: C-73184r1049215_chk

Verify AlmaLinux OS 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 is commented out, this is a finding.

Fix: F-73085r1049216_fix

Configure AlmaLinux OS 9 to lock accounts until released by an administrator using pam_faillock. First, enable the feature using the following command: $ authselect enable-feature with-faillock Then, add or uncomment the following line in the "/etc/security/faillock.conf" file: unlock_time = 0

b
AlmaLinux OS 9 must ensure account locks persist across reboots.
AC-7 - Medium - CCI-002238 - V-269154 - SV-269154r1050036_rule
RMF Control
AC-7
Severity
Medium
CCI
CCI-002238
Version
ALMA-09-008270
Vuln IDs
  • V-269154
Rule IDs
  • SV-269154r1050036_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. Having account locks persist across reboots ensures that a locked account is only unlocked by an administrator. If the locks did not persist across reboots, an attacker could reboot the system to continue brute force attacks against the accounts on the system. The default /var/run/faillock directory is cleared upon reboot and should not be used.
Checks: C-73185r1047838_chk

Verify the "/etc/security/faillock.conf" file is configured to use a nondefault faillock directory to ensure its contents persist after reboot with the following command: $ grep "dir =" /etc/security/faillock.conf dir = /var/log/faillock If the "dir" option is set to the default /var/run/faillock directory, is missing, or is commented out, this is a finding.

Fix: F-73086r1049218_fix

Configure AlmaLinux OS 9 to 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
AlmaLinux OS 9 must configure the appropriate SELinux context on the nondefault faillock tally directory.
AC-7 - Medium - CCI-002238 - V-269155 - SV-269155r1050037_rule
RMF Control
AC-7
Severity
Medium
CCI
CCI-002238
Version
ALMA-09-008380
Vuln IDs
  • V-269155
Rule IDs
  • SV-269155r1050037_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. Not having the correct SELinux context on the faillock directory may lead to unauthorized access to the directory meaning that accounts could be unlocked by a nonadministrator.
Checks: C-73186r1047841_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 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 system_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-73087r1049220_fix

Configure AlmaLinux OS 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) using the following command: $ mkdir /var/log/faillock Update the /etc/selinux/targeted/contexts/files/file_contexts.local file with the "faillog_t" context type for the nondefault faillock tally directory using the following command: $ semanage fcontext -a -t faillog_t "/var/log/faillock(/.*)?" Update the context type of the nondefault faillock directory and files within using the following command: $ restorecon -RFv /var/log/faillock

b
AlmaLinux OS 9 must prevent users from disabling the Standard Mandatory DOD Notice and Consent Banner for graphical user interfaces.
AC-8 - Medium - CCI-000048 - V-269156 - SV-269156r1050038_rule
RMF Control
AC-8
Severity
Medium
CCI
CCI-000048
Version
ALMA-09-008490
Vuln IDs
  • V-269156
Rule IDs
  • SV-269156r1050038_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." Use the following verbiage for operating systems that have severe limitations on the number of characters that can be displayed in the banner: "I've read & consent to terms in IS user agreem't." If a login banner is not displayed, it may be difficult to prosecute an attacker. Satisfies: SRG-OS-000023-GPOS-00006, SRG-OS-000228-GPOS-00088
Checks: C-73187r1049222_chk

Note: This requirement assumes the use of the 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 AlmaLinux OS 9 prevents a user from disabling the banner for graphical user interfaces. Determine if the operating system prevents modification of the GNOME banner setting with the following command: $ grep banner-message-enable /etc/dconf/db/local.d/locks/* banner-message-enable If "banner-message-enable" is commented out or is missing, this is a finding.

Fix: F-73088r1049223_fix

Configure AlmaLinux OS 9 to prevent a user being able to override the GNOME banner setting by running the following commands: $ echo "banner-message-enable" | tee /etc/dconf/db/local.d/locks/00-banner > /dev/null $ dconf update

b
AlmaLinux OS 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-269157 - SV-269157r1050039_rule
RMF Control
AC-8
Severity
Medium
CCI
CCI-000048
Version
ALMA-09-008600
Vuln IDs
  • V-269157
Rule IDs
  • SV-269157r1050039_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." Use the following verbiage for operating systems that have severe limitations on the number of characters that can be displayed in the banner: "I've read & consent to terms in IS user agreem't." If a login banner is not displayed, it may be difficult to prosecute an attacker. Satisfies: SRG-OS-000023-GPOS-00006, SRG-OS-000228-GPOS-00088
Checks: C-73188r1049225_chk

Note: This requirement assumes the use of the 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 AlmaLinux OS 9 displays a banner before granting access to the operating system via a graphical user logon. First, identify the location of the banner message file with the following command: $ grep banner-message-text /etc/dconf/db/local.d/* /etc/dconf/db/local.d/01-banner-message 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 Next, check that file contains the correct wording with the following command (substituting the path from above): $ cat /etc/dconf/db/local.d/01-banner-message 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 dconf database does not include the "banner-message-text" setting or if it is not enabled, this is a finding.

Fix: F-73089r1049226_fix

Configure AlmaLinux OS 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 systemwide graphical user logon settings (if it does not already exist) with the following command: $ 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 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.' Run the following command to update the database: $ dconf update

b
AlmaLinux OS 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-269158 - SV-269158r1050040_rule
RMF Control
AC-8
Severity
Medium
CCI
CCI-000048
Version
ALMA-09-008710
Vuln IDs
  • V-269158
Rule IDs
  • SV-269158r1050040_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." Use the following verbiage for operating systems that have severe limitations on the number of characters that can be displayed in the banner: "I've read & consent to terms in IS user agreem't." If a login banner is not displayed, it may be difficult to prosecute an attacker. Satisfies: SRG-OS-000023-GPOS-00006, SRG-OS-000228-GPOS-00088
Checks: C-73189r1049228_chk

Verify AlmaLinux OS 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, this is a finding.

Fix: F-73090r1049229_fix

Configure AlmaLinux OS 9 to display the Standard Mandatory DOD Notice and Consent Banner before granting access to the system via command line logon by running the command: $ cat << EOF | tee /etc/issue 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. EOF

b
AlmaLinux OS 9 must display the Standard Mandatory DOD Notice and Consent Banner before granting local or remote access to the system via an SSH user logon.
AC-8 - Medium - CCI-000048 - V-269159 - SV-269159r1050041_rule
RMF Control
AC-8
Severity
Medium
CCI
CCI-000048
Version
ALMA-09-008820
Vuln IDs
  • V-269159
Rule IDs
  • SV-269159r1050041_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." Use the following verbiage for operating systems that have severe limitations on the number of characters that can be displayed in the banner: "I've read & consent to terms in IS user agreem't." If a login banner is not displayed, it may be difficult to prosecute an attacker. Satisfies: SRG-OS-000023-GPOS-00006, SRG-OS-000228-GPOS-00088
Checks: C-73190r1049231_chk

Verify AlmaLinux OS 9 displays the Standard Mandatory DOD Notice and Consent Banner before granting access to the operating system via a command line user logon. First, check that a banner text is correct with the following command: $ cat /etc/issue.net 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." Next, check that the OpenSSH server is configured to display the banner using the following command: $ sshd -T | grep banner banner /etc/issue.net If the banner text does not match the Standard Mandatory DOD Notice and Consent Banner exactly, or the SSH configuration does not include "Banner /etc/issue.net", this is a finding.

Fix: F-73091r1049232_fix

Configure AlmaLinux OS 9 to display the Standard Mandatory DOD Notice and Consent Banner before granting access to the system via command line logon by running the command: cat << EOF | tee /etc/issue.net 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. EOF

b
AlmaLinux OS 9 must have the s-nail package installed.
CM-3 - Medium - CCI-001744 - V-269160 - SV-269160r1050042_rule
RMF Control
CM-3
Severity
Medium
CCI
CCI-001744
Version
ALMA-09-009260
Vuln IDs
  • V-269160
Rule IDs
  • SV-269160r1050042_rule
The "s-nail" package provides the mail command required to allow sending email notifications of unauthorized configuration changes to designated personnel.
Checks: C-73191r1049234_chk

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

Fix: F-73092r1047857_fix

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

b
AlmaLinux OS 9 SSH daemon must not allow Generic Security Service Application Program Interface (GSSAPI) authentication.
CM-5 - Medium - CCI-001813 - V-269161 - SV-269161r1050043_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001813
Version
ALMA-09-009370
Vuln IDs
  • V-269161
Rule IDs
  • SV-269161r1050043_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-73192r1047859_chk

Verify the SSH daemon does not allow GSSAPI authentication with the following command: $ /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. If the required value is not set, this is a finding.

Fix: F-73093r1047860_fix

Configure the SSH daemon to not allow GSSAPI authentication. Add the following line to "/etc/ssh/sshd_config", or uncomment the line and set the value to "no": GSSAPIAuthentication no Alternatively, add the setting to an included file if the line "Include /etc/ssh/sshd_config.d/*.conf" is found at the top of the "/etc/ssh/sshd_config" file: GSSAPIAuthentication no Restart the SSH daemon for the settings to take effect: $ systemctl restart sshd.service

b
AlmaLinux OS 9 SSH daemon must not allow Kerberos authentication.
CM-5 - Medium - CCI-001813 - V-269162 - SV-269162r1050044_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001813
Version
ALMA-09-009480
Vuln IDs
  • V-269162
Rule IDs
  • SV-269162r1050044_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-73193r1047862_chk

Verify the SSH daemon does not allow Kerberos authentication with the following command: $ /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-73094r1047863_fix

Configure the SSH daemon to not allow Kerberos authentication. Add the following line to "/etc/ssh/sshd_config", or uncomment the line and set the value to "no": KerberosAuthentication no Alternatively, add the setting to an included file if the line "Include /etc/ssh/sshd_config.d/*.conf" is found at the top of the "/etc/ssh/sshd_config" file: KerberosAuthentication no Restart the SSH daemon for the settings to take effect: $ systemctl restart sshd.service

c
AlmaLinux OS 9 must check the GPG signature of software packages originating from external software repositories before installation.
- High - CCI-003992 - V-269163 - SV-269163r1050045_rule
RMF Control
Severity
High
CCI
CCI-003992
Version
ALMA-09-009590
Vuln IDs
  • V-269163
Rule IDs
  • SV-269163r1050045_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. Accordingly, patches, service packs, device drivers, or operating system components must be signed with a certificate recognized and approved by the organization. Verifying the authenticity of the software prior to installation validates the integrity of the patch or upgrade received from a vendor. This ensures the software has not been tampered with and that it has been provided by a trusted vendor. Self-signed certificates are not allowed by this requirement. The operating system should not have to verify the software again. This requirement does not mandate DOD certificates for this purpose; however, the certificate used to verify the software must be from an approved certificate authority (CA).
Checks: C-73194r1047865_chk

Verify that dnf 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 verified. If there is no process to verify GPG signatures that is approved by the organization, this is a finding.

Fix: F-73095r1047866_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
AlmaLinux OS 9 must ensure cryptographic verification of vendor software packages.
- High - CCI-003992 - V-269164 - SV-269164r1050046_rule
RMF Control
Severity
High
CCI
CCI-003992
Version
ALMA-09-009700
Vuln IDs
  • V-269164
Rule IDs
  • SV-269164r1050046_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. Accordingly, patches, service packs, device drivers, or operating system components must be signed with a certificate recognized and approved by the organization. Verifying the authenticity of the software prior to installation validates the integrity of the patch or upgrade received from a vendor. This ensures the software has not been tampered with and that it has been provided by a trusted vendor. Self-signed certificates are not allowed by this requirement. The operating system should not have to verify the software again. This requirement does not mandate DOD certificates for this purpose; however, the certificate used to verify the software must be from an approved certificate authority (CA).
Checks: C-73195r1047868_chk

Confirm AlmaLinux and TuxCare package-signing keys are installed on the system and verify their fingerprints match vendor values. The keys are stored as "RPM-GPG-KEY-AlmaLinux-9" and "RPM-GPG-KEY-TuxCare" inside the "/etc/pki/rpm-gpg/" directory. List GPG keys installed on the system using the following command: $ rpm -q --queryformat "%{SUMMARY}\n" gpg-pubkey TuxCare (Software Signing Key) &lt;packager@tuxcare.com&gt; public key AlmaLinux OS 9 &lt;packager@almalinux.org&gt; public key If the AlmaLinux and TuxCare GPG keys are not installed, this is a finding. List key fingerprints of installed GPG keys using the following commands: $ gpg -q --keyid-format short --with-fingerprint /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9 pub rsa4096/B86B3716 2022-01-18 [SC] Key fingerprint = BF18 AC28 7617 8908 D6E7 1267 D36C B86C B86B 3716 uid AlmaLinux OS 9 &lt;packager@almalinux.org&gt; sub rsa4096/C9BA6CAA 2022-01-18 [E] $ gpg -q --keyid-format short --with-fingerprint /etc/pki/rpm-gpg/RPM-GPG-KEY-TuxCare pub rsa4096/8D50EB66 2023-03-06 [SC] Key fingerprint = FAD7 8590 81D0 738B 7A82 8496 D07B F2A0 8D50 EB66 uid TuxCare (Software Signing Key) &lt;packager@tuxcare.com&gt; sub rsa4096/A9C70659 2023-03-06 [E] If either "/etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9" or "/etc/pki/rpm-gpg/RPM-GPG-KEY-TuxCare" key files are missing, this is a finding. Compare key fingerprints of installed AlmaLinux and TuxCare GPG keys with fingerprints listed at https://almalinux.org/security/ https://docs.tuxcare.com/enterprise-support-for-almalinux/#gnupg-keys If the key fingerprints do not match, this is a finding.

Fix: F-73096r1047869_fix

Install AlmaLinux and TuxCare package-signing keys on the system and verify their fingerprints match vendor values. $ curl https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9 -o /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9 $ curl https://repo.tuxcare.com/tuxcare/RPM-GPG-KEY-TuxCare -o /etc/pki/rpm-gpg/RPM-GPG-KEY-TuxCare $ rpm --import https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9 $ rpm --import https://repo.tuxcare.com/tuxcare/RPM-GPG-KEY-TuxCare Using the steps listed in the Check, confirm the newly imported keys show as installed on the system and verify their fingerprints match vendor values.

c
AlmaLinux OS 9 must check the GPG signature of locally installed software packages before installation.
- High - CCI-003992 - V-269165 - SV-269165r1050047_rule
RMF Control
Severity
High
CCI
CCI-003992
Version
ALMA-09-009810
Vuln IDs
  • V-269165
Rule IDs
  • SV-269165r1050047_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. Accordingly, patches, service packs, device drivers, or operating system components must be signed with a certificate recognized and approved by the organization. Verifying the authenticity of the software prior to installation validates the integrity of the patch or upgrade received from a vendor. This ensures the software has not been tampered with and that it has been provided by a trusted vendor. Self-signed certificates are disallowed by this requirement. The operating system should not have to verify the software again. This requirement does not mandate DOD certificates for this purpose; however, the certificate used to verify the software must be from an approved certificate authority (CA).
Checks: C-73196r1047871_chk

Verify that dnf 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 is commented out, ask the system administrator (SA) 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-73097r1047872_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
AlmaLinux OS 9 must check the GPG signature of repository metadata before package installation.
- High - CCI-003992 - V-269166 - SV-269166r1050048_rule
RMF Control
Severity
High
CCI
CCI-003992
Version
ALMA-09-009920
Vuln IDs
  • V-269166
Rule IDs
  • SV-269166r1050048_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. Accordingly, patches, service packs, device drivers, or operating system components must be signed with a certificate recognized and approved by the organization. Verifying the authenticity of the software prior to installation validates the integrity of the patch or upgrade received from a vendor. This ensures the software has not been tampered with and that it has been provided by a trusted vendor. Self-signed certificates are disallowed by this requirement. The operating system should not have to verify the software again. This requirement does not mandate DOD certificates for this purpose; however, the certificate used to verify the software must be from an approved certificate authority (CA).
Checks: C-73197r1047874_chk

Verify that dnf always checks the GPG signature of repository metadata: $ grep repo_gpgcheck /etc/dnf/dnf.conf /etc/yum.repos.d/*.repo repo_gpgcheck=1 If "repo_gpgcheck" is not set to "1" in the global "/etc/dnf/dnf.conf" file, or if the option is missing or commented out, this is a finding. If "repo_gpgcheck" is set to "0" in any of the "/etc/yum.repos.d/*.repo" files and the information system security officer (ISSO) lacks a documented requirement, this is a finding. Note: Not all repositories support this feature.

Fix: F-73098r1047875_fix

Configure dnf to always check the GPG signature of repository metadata. Add or update the following line in the [main] section of the /etc/dnf/dnf.conf file: repo_gpgcheck=1 Remove any instances of "repo_gpgcheck=0" from any "/etc/yum.repos.d/*.repo" files.

c
AlmaLinux OS 9 must have GPG signature verification enabled for all software repositories.
- High - CCI-003992 - V-269167 - SV-269167r1050049_rule
RMF Control
Severity
High
CCI
CCI-003992
Version
ALMA-09-010030
Vuln IDs
  • V-269167
Rule IDs
  • SV-269167r1050049_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. Accordingly, patches, service packs, device drivers, or operating system components must be signed with a certificate recognized and approved by the organization. Verifying the authenticity of the software prior to installation validates the integrity of the patch or upgrade received from a vendor. This ensures the software has not been tampered with and that it has been provided by a trusted vendor. Self-signed certificates are disallowed by this requirement. The operating system should not have to verify the software again. This requirement does not mandate DOD certificates for this purpose; however, the certificate used to verify the software must be from an approved certificate authority (CA).
Checks: C-73198r1047877_chk

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

Fix: F-73099r1047878_fix

Configure all software repositories defined in "/etc/yum.repos.d/" to have "gpgcheck" enabled: $ sed -i 's/gpgcheck\s*=.*/gpgcheck=1/g' /etc/yum.repos.d/*

b
AlmaLinux OS 9 must prevent the loading of a new kernel for later execution.
- Medium - CCI-003992 - V-269168 - SV-269168r1050050_rule
RMF Control
Severity
Medium
CCI
CCI-003992
Version
ALMA-09-010140
Vuln IDs
  • V-269168
Rule IDs
  • SV-269168r1050050_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-73199r1049243_chk

Verify AlmaLinux OS 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. Check that the configuration files are present to enable this kernel parameter with the following command: $ /usr/lib/systemd/systemd-sysctl --cat-config | 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-73100r1047881_fix

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

b
AlmaLinux OS 9 system commands must be group-owned by root or a system account.
CM-5 - Medium - CCI-001499 - V-269169 - SV-269169r1050051_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
ALMA-09-010250
Vuln IDs
  • V-269169
Rule IDs
  • SV-269169r1050051_rule
If AlmaLinux OS 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 AlmaLinux OS 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-73200r1047883_chk

Verify the system commands contained in the following directories are group-owned by "root", or a required system account, with the following command: $ 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-73101r1047884_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. $ chgrp root [FILE]

b
AlmaLinux OS 9 system commands must be owned by root.
CM-5 - Medium - CCI-001499 - V-269170 - SV-269170r1050052_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
ALMA-09-010360
Vuln IDs
  • V-269170
Rule IDs
  • SV-269170r1050052_rule
If AlmaLinux OS 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 AlmaLinux OS 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-73201r1047886_chk

Verify the system commands contained in the following directories are owned by "root" with the following command: $ 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-73102r1047887_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". $ chown root [FILE]

b
AlmaLinux OS 9 system commands must have mode 755 or less permissive.
CM-5 - Medium - CCI-001499 - V-269171 - SV-269171r1050053_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
ALMA-09-010470
Vuln IDs
  • V-269171
Rule IDs
  • SV-269171r1050053_rule
If AlmaLinux OS 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 AlmaLinux OS 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-73202r1047889_chk

Verify the system commands contained in the following directories have mode "755" or less permissive with the following command: $ 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-73103r1047890_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". $ chmod 755 [FILE]

b
AlmaLinux OS 9 library directories must be group-owned by root or a system account.
CM-5 - Medium - CCI-001499 - V-269172 - SV-269172r1050054_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
ALMA-09-010580
Vuln IDs
  • V-269172
Rule IDs
  • SV-269172r1050054_rule
If AlmaLinux OS 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 AlmaLinux OS 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-73203r1049248_chk

Verify the systemwide shared library directories are group-owned by "root" with the following command: $ find -L /lib /lib64 /usr/lib /usr/lib64 ! -group root -type d -exec stat -c "%n %G" '{}' \; If any systemwide shared library directory is returned and is not group owned by a required system account, this is a finding.

Fix: F-73104r1049249_fix

Configure the systemwide shared library directories (/lib, /lib64, /usr/lib and /usr/lib64) to be protected from unauthorized access. Run the following command, replacing "[DIRECTORY]" with any library directory not group-owned by "root". $ chgrp root [DIRECTORY]

b
AlmaLinux OS 9 library directories must be owned by root.
CM-5 - Medium - CCI-001499 - V-269173 - SV-269173r1050055_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
ALMA-09-010690
Vuln IDs
  • V-269173
Rule IDs
  • SV-269173r1050055_rule
If AlmaLinux OS 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 AlmaLinux OS 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-73204r1049251_chk

Verify the systemwide shared library directories are owned by "root" with the following command: $ find -L /lib /lib64 /usr/lib /usr/lib64 ! -user root -type d -exec stat -c "%n %U" '{}' \; If any systemwide shared library directory is not owned by root, this is a finding.

Fix: F-73105r1049252_fix

Configure the systemwide shared library directories within (/lib, /lib64, /usr/lib and /usr/lib64) to be protected from unauthorized access. Run the following command, replacing "[DIRECTORY]" with any library directory not owned by "root". $ chown root [DIRECTORY]

b
AlmaLinux OS 9 library directories must have mode 755 or less permissive.
CM-5 - Medium - CCI-001499 - V-269174 - SV-269174r1050056_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
ALMA-09-010800
Vuln IDs
  • V-269174
Rule IDs
  • SV-269174r1050056_rule
If AlmaLinux OS 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 AlmaLinux OS 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-73205r1049254_chk

Verify the systemwide shared library directories have mode "755" or less permissive with the following command: $ find -L /lib /lib64 /usr/lib /usr/lib64 -perm /022 -type d -exec ls -l {} \; If any systemwide shared library file is found to be group-writable or world-writable, this is a finding.

Fix: F-73106r1049255_fix

Configure the systemwide shared library directories (/lib, /lib64, /usr/lib and /usr/lib64) to be protected from unauthorized access. Run the following command, replacing "[DIRECTORY]" with any library directory with a mode more permissive than 755. $ chmod 755 [DIRECTORY]

b
AlmaLinux OS 9 library files must be group-owned by root or a system account.
CM-5 - Medium - CCI-001499 - V-269175 - SV-269175r1050057_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
ALMA-09-010910
Vuln IDs
  • V-269175
Rule IDs
  • SV-269175r1050057_rule
If AlmaLinux OS 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 AlmaLinux OS 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-73206r1049257_chk

Verify the systemwide shared library files are group-owned by "root" with the following command: $ find -L /lib /lib64 /usr/lib /usr/lib64 ! -group root -exec ls -l {} \; If any systemwide shared library file is returned and is not group-owned by a required system account, this is a finding.

Fix: F-73107r1049258_fix

Configure the systemwide shared library files (/lib, /lib64, /usr/lib and /usr/lib64) to be protected from unauthorized access. Run the following command, replacing "[FILE]" with any library file not group-owned by "root". $ chgrp root [FILE]

b
AlmaLinux OS 9 library files must be owned by root.
CM-5 - Medium - CCI-001499 - V-269176 - SV-269176r1050058_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
ALMA-09-011020
Vuln IDs
  • V-269176
Rule IDs
  • SV-269176r1050058_rule
If AlmaLinux OS 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 AlmaLinux OS 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-73207r1049260_chk

Verify the systemwide shared library files are owned by "root" with the following command: $ find -L /lib /lib64 /usr/lib /usr/lib64 ! -user root -exec ls -l {} \; If any systemwide shared library file is not owned by root, this is a finding.

Fix: F-73108r1049261_fix

Configure the systemwide shared library files (/lib, /lib64, /usr/lib and /usr/lib64) to be protected from unauthorized access. Run the following command, replacing "[FILE]" with any library file not owned by "root". $ chown root [FILE]

b
AlmaLinux OS 9 library files must have mode 755 or less permissive.
CM-5 - Medium - CCI-001499 - V-269177 - SV-269177r1050059_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
ALMA-09-011130
Vuln IDs
  • V-269177
Rule IDs
  • SV-269177r1050059_rule
If AlmaLinux OS 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 AlmaLinux OS 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-73208r1049263_chk

Verify the systemwide shared library files contained in the following directories have mode "755" or less permissive with the following command: $ find -L /lib /lib64 /usr/lib /usr/lib64 -perm /022 -type f -exec ls -l {} \; If any systemwide shared library file is found to be group-writable or world-writable, this is a finding.

Fix: F-73109r1047908_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. $ chmod 755 [FILE]

b
AlmaLinux OS 9 must disable core dumps for all users.
CM-6 - Medium - CCI-000366 - V-269178 - SV-269178r1050060_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-011240
Vuln IDs
  • V-269178
Rule IDs
  • SV-269178r1050060_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-73209r1049265_chk

Verify AlmaLinux OS 9 disables core dumps for all users by issuing the following command: $ grep -s core /etc/security/limits.conf /etc/security/limits.d/*.conf /etc/security/limits.conf:# - core - limits the core file size (KB) /etc/security/limits.conf:#* soft 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-73110r1047911_fix

Configure the operating system to disable core dumps for all users. Create a *.conf file in /etc/security/limits.d/ with the following content: * hard core 0

b
AlmaLinux OS 9 must disable acquiring, saving, and processing core dumps.
CM-6 - Medium - CCI-000366 - V-269179 - SV-269179r1050061_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-011350
Vuln IDs
  • V-269179
Rule IDs
  • SV-269179r1050061_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-73210r1049267_chk

Verify AlmaLinux OS 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) since Mon 2024-02-26 13:31:02 UTC; 26s ago Duration: 3h 13min 22.428s 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-73111r1047914_fix

Configure the system to disable the systemd-coredump.socket with the following command: $ systemctl mask --now systemd-coredump.socket Create symlink /etc/systemd/system/systemd-coredump.socket -> /dev/null Reload the daemon for this change to take effect. $ systemctl daemon-reload

b
AlmaLinux OS 9 must disable storing core dumps.
CM-6 - Medium - CCI-000366 - V-269180 - SV-269180r1050062_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-011460
Vuln IDs
  • V-269180
Rule IDs
  • SV-269180r1050062_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-73211r1049269_chk

Verify AlmaLinux OS 9 disables storing core dumps for all users by issuing the following command: $ systemd-analyze cat-config systemd/coredump.conf | grep Storage 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-73112r1047917_fix

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

b
AlmaLinux OS 9 must disable core dump backtraces.
CM-6 - Medium - CCI-000366 - V-269181 - SV-269181r1050063_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-011570
Vuln IDs
  • V-269181
Rule IDs
  • SV-269181r1050063_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-73212r1049271_chk

Verify AlmaLinux OS 9 disables core dump backtraces by issuing the following command: $ systemd-analyze cat-config systemd/coredump.conf | grep ProcessSizeMax 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-73113r1047920_fix

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

b
AlmaLinux OS 9 must disable the kernel.core_pattern.
CM-6 - Medium - CCI-000366 - V-269182 - SV-269182r1050064_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-011680
Vuln IDs
  • V-269182
Rule IDs
  • SV-269182r1050064_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-73213r1049273_chk

Verify AlmaLinux OS 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. Check that the configuration files are present to disable core dump storage. $ /usr/lib/systemd/systemd-sysctl --cat-config | egrep -v '^(#|;)' | grep -F kernel.core_pattern | tail -1 kernel.core_pattern = |/bin/false If "kernel.core_pattern" is not set to "|/bin/false" and is not documented with the ISSO as an operational requirement, or is missing, this is a finding.

Fix: F-73114r1049274_fix

Configure AlmaLinux OS 9 to disable storing core dumps. Create a numbered *.conf file in /etc/sysctl.d/ with the following content: 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: $ sysctl –system

b
AlmaLinux OS 9 cron configuration files directory must be group-owned by root.
CM-6 - Medium - CCI-000366 - V-269183 - SV-269183r1050065_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-011790
Vuln IDs
  • V-269183
Rule IDs
  • SV-269183r1050065_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-73214r1047925_chk

Verify the 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-73115r1047926_fix

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

b
AlmaLinux OS 9 cron configuration files directory must be owned by root.
CM-6 - Medium - CCI-000366 - V-269184 - SV-269184r1050066_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-011900
Vuln IDs
  • V-269184
Rule IDs
  • SV-269184r1050066_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-73215r1047928_chk

Verify the 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-73116r1047929_fix

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

b
AlmaLinux OS 9 cron configuration directories must have a mode of 0700 or less permissive.
CM-6 - Medium - CCI-000366 - V-269185 - SV-269185r1050067_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-012010
Vuln IDs
  • V-269185
Rule IDs
  • SV-269185r1050067_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-73216r1047931_chk

Verify the permissions of the cron directories with the following command: $ find /etc/cron* -type d | xargs stat -c "%#a %n" 0700 /etc/cron.d 0700 /etc/cron.daily 0700 /etc/cron.hourly 0700 /etc/cron.monthly 0700 /etc/cron.weekly If any cron configuration directory is more permissive than "700", this is a finding.

Fix: F-73117r1049278_fix

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

b
AlmaLinux OS 9 /etc/crontab file must have mode 0600.
CM-6 - Medium - CCI-000366 - V-269186 - SV-269186r1050068_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-012120
Vuln IDs
  • V-269186
Rule IDs
  • SV-269186r1050068_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-73217r1047934_chk

Verify the 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-73118r1049280_fix

Configure the AlmaLinux OS 9 file /etc/crontab with mode 600. $ chmod 0600 /etc/crontab

b
AlmaLinux OS 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-269187 - SV-269187r1050069_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-012230
Vuln IDs
  • V-269187
Rule IDs
  • SV-269187r1050069_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-73218r1049282_chk

Note: This requirement assumes the use of the AlmaLinux OS 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 AlmaLinux OS 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-73119r1049283_fix

Configure AlmaLinux OS 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: $ dconf update

b
AlmaLinux OS 9 must prevent a user from overriding the Ctrl-Alt-Del sequence settings for the graphical user interface.
CM-6 - Medium - CCI-000366 - V-269188 - SV-269188r1050070_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-012340
Vuln IDs
  • V-269188
Rule IDs
  • SV-269188r1050070_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-73219r1049285_chk

Note: This requirement assumes the use of the AlmaLinux OS 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 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-73120r1049286_fix

Configure AlmaLinux OS 9 to disallow the user changing the Ctrl-Alt-Del sequence in the GNOME desktop. Create a database to container systemwide graphical user logon settings (if it does not already exist) with the following command: $ 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: $ dconf update

b
All AlmaLinux OS 9 local files and directories must have a valid group owner.
CM-6 - Medium - CCI-000366 - V-269189 - SV-269189r1050071_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-012450
Vuln IDs
  • V-269189
Rule IDs
  • SV-269189r1050071_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-73220r1049288_chk

Verify all local files and directories on AlmaLinux OS 9 have a valid group with the following command: $ df --local -P | awk {'if (NR!=1) print $6'} | xargs -I '{}' find '{}' -xdev -nogroup If any files on the system do not have an assigned group, this is a finding.

Fix: F-73121r1049289_fix

Either remove all files and directories from AlmaLinux OS 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: $ chgrp <group> <file>

b
All AlmaLinux OS 9 local files and directories must have a valid owner.
CM-6 - Medium - CCI-000366 - V-269190 - SV-269190r1050072_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-012560
Vuln IDs
  • V-269190
Rule IDs
  • SV-269190r1050072_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-73221r1049291_chk

Verify all local files and directories on AlmaLinux OS 9 have a valid owner with the following command: $ df --local -P | awk {'if (NR!=1) print $6'} | xargs -I '{}' find '{}' -xdev -nouser If any files on the system do not have an assigned owner, this is a finding.

Fix: F-73122r1049292_fix

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 AlmaLinux OS 9 with the "chown" command: $ chown <user> <file>

b
AlmaLinux OS 9 /etc/group- file must be group owned by root.
CM-6 - Medium - CCI-000366 - V-269191 - SV-269191r1050073_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-012670
Vuln IDs
  • V-269191
Rule IDs
  • SV-269191r1050073_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-73222r1047949_chk

Verify the 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-73123r1047950_fix

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

b
AlmaLinux OS 9 /etc/group- file must be owned by root.
CM-6 - Medium - CCI-000366 - V-269192 - SV-269192r1050074_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-012780
Vuln IDs
  • V-269192
Rule IDs
  • SV-269192r1050074_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-73223r1047952_chk

Verify the 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-73124r1047953_fix

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

b
AlmaLinux OS 9 /etc/group- file must have mode 0644 or less permissive to prevent unauthorized access.
CM-6 - Medium - CCI-000366 - V-269193 - SV-269193r1050075_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-012890
Vuln IDs
  • V-269193
Rule IDs
  • SV-269193r1050075_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-73224r1047955_chk

Verify that the "/etc/group-" file has mode "0644" or less permissive with the following command: $ stat -c "%#a %n" /etc/group- 0644 /etc/group- If a value of "0644" or less permissive is not returned, this is a finding.

Fix: F-73125r1047956_fix

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

b
AlmaLinux OS 9 /etc/group file must be group owned by root.
CM-6 - Medium - CCI-000366 - V-269194 - SV-269194r1050076_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-013000
Vuln IDs
  • V-269194
Rule IDs
  • SV-269194r1050076_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-73225r1047958_chk

Verify the 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-73126r1047959_fix

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

b
AlmaLinux OS 9 /etc/group file must be owned by root.
CM-6 - Medium - CCI-000366 - V-269195 - SV-269195r1050077_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-013110
Vuln IDs
  • V-269195
Rule IDs
  • SV-269195r1050077_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-73226r1047961_chk

Verify the 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-73127r1047962_fix

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

b
AlmaLinux OS 9 /etc/group file must have mode 0644 or less permissive to prevent unauthorized access.
CM-6 - Medium - CCI-000366 - V-269196 - SV-269196r1050078_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-013220
Vuln IDs
  • V-269196
Rule IDs
  • SV-269196r1050078_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-73227r1047964_chk

Verify that the "/etc/group" file has mode "0644" or less permissive with the following command: $ stat -c "%#a %n" /etc/group 0644 /etc/group If a value of "0644" or less permissive is not returned, this is a finding.

Fix: F-73128r1047965_fix

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

b
The /boot/grub2/grub.cfg file must be group-owned by root.
CM-6 - Medium - CCI-000366 - V-269197 - SV-269197r1050079_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-013330
Vuln IDs
  • V-269197
Rule IDs
  • SV-269197r1050079_rule
The "root" group is a highly privileged group. Furthermore, the group-owner of this file should not have any access privileges anyway.
Checks: C-73228r1047967_chk

Verify the group ownership of the "/boot/grub2/grub.cfg" file with the following command: $ 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-73129r1047968_fix

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

b
The /boot/grub2/grub.cfg file must be owned by root.
CM-6 - Medium - CCI-000366 - V-269198 - SV-269198r1050779_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-013440
Vuln IDs
  • V-269198
Rule IDs
  • SV-269198r1050779_rule
The "/boot/grub2/grub.cfg" file stores sensitive system configuration. Protection of this file is critical for system security.
Checks: C-73229r1047970_chk

Verify the ownership of the "/boot/grub2/grub.cfg" file with the following command: $ 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-73130r1047971_fix

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

b
AlmaLinux OS 9 must disable the ability of systemd to spawn an interactive boot process.
CM-6 - Medium - CCI-000366 - V-269199 - SV-269199r1050081_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-013550
Vuln IDs
  • V-269199
Rule IDs
  • SV-269199r1050081_rule
Using interactive or recovery boot, the console user could disable auditing, firewalls, or other services, weakening system security.
Checks: C-73230r1047973_chk

Verify that 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: $ grubby --info=ALL | grep args | grep 'systemd.confirm_spawn' If any output is returned, this is a finding.

Fix: F-73131r1049302_fix

Configure AlmaLinux OS 9 to disable the ability of systemd to spawn an interactive boot process with the following command: $ grubby --update-kernel=ALL --remove-args="systemd.confirm_spawn"

b
AlmaLinux OS 9 /etc/gshadow- file must be group-owned by root.
CM-6 - Medium - CCI-000366 - V-269200 - SV-269200r1050082_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-013660
Vuln IDs
  • V-269200
Rule IDs
  • SV-269200r1050082_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-73231r1047976_chk

Verify the 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-73132r1047977_fix

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

b
AlmaLinux OS 9 /etc/gshadow- file must be owned by root.
CM-6 - Medium - CCI-000366 - V-269201 - SV-269201r1050083_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-013770
Vuln IDs
  • V-269201
Rule IDs
  • SV-269201r1050083_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-73232r1047979_chk

Verify the 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-73133r1047980_fix

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

b
AlmaLinux OS 9 /etc/gshadow- file must have mode 0000 or less permissive to prevent unauthorized access.
CM-6 - Medium - CCI-000366 - V-269202 - SV-269202r1050084_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-013880
Vuln IDs
  • V-269202
Rule IDs
  • SV-269202r1050084_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-73233r1047982_chk

Verify that the "/etc/gshadow-" file has mode "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-73134r1047983_fix

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

b
AlmaLinux OS 9 /etc/gshadow file must be group-owned by root.
CM-6 - Medium - CCI-000366 - V-269203 - SV-269203r1050085_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-013990
Vuln IDs
  • V-269203
Rule IDs
  • SV-269203r1050085_rule
The "/etc/gshadow" file contains group password hashes. Protection of this file is critical for system security.
Checks: C-73234r1047985_chk

Verify the 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-73135r1047986_fix

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

b
AlmaLinux OS 9 /etc/gshadow file must be owned by root.
CM-6 - Medium - CCI-000366 - V-269204 - SV-269204r1050086_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-014100
Vuln IDs
  • V-269204
Rule IDs
  • SV-269204r1050086_rule
The "/etc/gshadow" file contains group password hashes. Protection of this file is critical for system security.
Checks: C-73235r1047988_chk

Verify the 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-73136r1047989_fix

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

b
AlmaLinux OS 9 /etc/gshadow file must have mode 0000 or less permissive to prevent unauthorized access.
CM-6 - Medium - CCI-000366 - V-269205 - SV-269205r1050087_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-014210
Vuln IDs
  • V-269205
Rule IDs
  • SV-269205r1050087_rule
The "/etc/gshadow" file contains group password hashes. Protection of this file is critical for system security.
Checks: C-73236r1047991_chk

Verify that the "/etc/gshadow" file has mode "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-73137r1047992_fix

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

b
The graphical display manager must not be the default target on AlmaLinux OS 9 unless approved.
CM-6 - Medium - CCI-000366 - V-269206 - SV-269206r1050088_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-014320
Vuln IDs
  • V-269206
Rule IDs
  • SV-269206r1050088_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-73237r1049310_chk

Verify that AlmaLinux OS 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-73138r1047995_fix

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

b
AlmaLinux OS 9 must disable the user list at logon for graphical user interfaces.
CM-6 - Medium - CCI-000366 - V-269207 - SV-269207r1050089_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-014430
Vuln IDs
  • V-269207
Rule IDs
  • SV-269207r1050089_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-73238r1049312_chk

Verify that AlmaLinux OS 9 disables the user logon list for graphical user interfaces with the following command: Note: This requirement assumes the use of the AlmaLinux OS 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. $ gsettings get org.gnome.login-screen disable-user-list true If the setting is "false", this is a finding.

Fix: F-73139r1049313_fix

Configure AlmaLinux OS 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. $ touch /etc/dconf/db/local.d/02-login-screen [org/gnome/login-screen] disable-user-list=true Update the system databases: $ dconf update

b
All AlmaLinux OS 9 local interactive user accounts must be assigned a home directory upon creation.
CM-6 - Medium - CCI-000366 - V-269208 - SV-269208r1050090_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-014540
Vuln IDs
  • V-269208
Rule IDs
  • SV-269208r1050090_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-73239r1049315_chk

Verify all local interactive users on AlmaLinux OS 9 are assigned a home directory upon creation with the following command: $ grep 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-73140r1049316_fix

Configure AlmaLinux OS 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
All AlmaLinux OS 9 local interactive user home directories defined in the /etc/passwd file must exist.
CM-6 - Medium - CCI-000366 - V-269209 - SV-269209r1050091_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-014650
Vuln IDs
  • V-269209
Rule IDs
  • SV-269209r1050091_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-73240r1048003_chk

Verify the assigned home directories of all interactive users on the system exist with the following command: $ pwck -r user 'testdupe': directory '/home/testdupe' does not exist The output should not return any interactive users. If users home directory does not exist, this is a finding.

Fix: F-73141r1048004_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 testdupe, who has a home directory of "/home/testdupe", a UID of "testdupe", and a GID of "testdupe" in "/etc/passwd": $ mkdir /home/testdupe $ chown testdupe /home/testdupe $ chgrp testdupe /home/testdupe $ chmod 0700 /home/testdupe

b
All AlmaLinux OS 9 local interactive user home directories must be group-owned by the home directory owner's primary group.
CM-6 - Medium - CCI-000366 - V-269210 - SV-269210r1050092_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-014760
Vuln IDs
  • V-269210
Rule IDs
  • SV-269210r1050092_rule
If the Group Identifier (GID) of a local interactive users home directory is not the same as the primary GID of the user, this would allow unauthorized access to the users files, and users that share the same group may not be able to access files that they legitimately should.
Checks: C-73241r1048006_chk

Verify the assigned home directory of all local interactive users is group-owned by that user's primary GID with the following command: Note: This may miss local interactive users that have been assigned a privileged UID. Evidence of interactive use may be obtained from a number of log files containing system logon information. The returned directory "/home/test" is used as an example. $ stat --format="%n: GID=%g (%G), UID=%u (%U), MODE=%0.4a" $(awk -F: '($3&gt;=1000)&amp;&amp;($7 !~ /nologin/){print $6}' /etc/passwd) /home/test: GID=1001 (test), UID=1001 (test), MODE=0700 Check the user's primary group with the following command: $ grep $(grep -E '^test:' /etc/passwd | awk -F: '{print $4}') /etc/group test:x:1001: If the user home directory referenced in "/etc/passwd" is not group-owned by that user's primary GID (1001 in the above example) this is a finding.

Fix: F-73142r1048007_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 "test", who has a home directory of "/home/test", and has a primary group of "test". $ chgrp test /home/test

b
AlmaLinux OS 9 must prevent code from being executed on file systems that contain user home directories.
CM-6 - Medium - CCI-000366 - V-269211 - SV-269211r1050093_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-014870
Vuln IDs
  • V-269211
Rule IDs
  • SV-269211r1050093_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-73242r1048009_chk

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 /dev/mapper/luks-10a20c46-483d-4d12-831f-5328eda18fd1 on /home type xfs (rw,noexec,nosuid,nodev,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) If the "/home" file system is mounted without the "noexec" option, this is a finding.

Fix: F-73143r1048010_fix

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

b
A separate file system must be used for user home directories (such as /home or an equivalent).
CM-6 - Medium - CCI-000366 - V-269212 - SV-269212r1050094_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-014980
Vuln IDs
  • V-269212
Rule IDs
  • SV-269212r1050094_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-73243r1048012_chk

Verify that a separate file system/partition has been created for "/home" with the following command: $ mount | grep /home /dev/mapper/luks-10a20c46-483d-4d12-831f-5328eda18fd1 on /home type xfs (rw,nosuid,nodev,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) If a separate entry for "/home" is not in use, this is a finding.

Fix: F-73144r1048013_fix

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

b
All AlmaLinux OS 9 local interactive users must have a home directory assigned in the /etc/passwd file.
CM-6 - Medium - CCI-000366 - V-269213 - SV-269213r1050095_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-015090
Vuln IDs
  • V-269213
Rule IDs
  • SV-269213r1050095_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-73244r1048015_chk

Verify that interactive users on the system have a home directory assigned with the following command: $ awk -F: '($3&gt;=1000)&amp;&amp;($7 !~ /nologin/){print $1, $6}' /etc/passwd simon /home/simon test /home/test testdupe /home/testdupe Inspect the output and verify that all interactive users (normally users with a UID greater that 1000) have a home directory defined. If users home directory is not defined, this is a finding.

Fix: F-73145r1049322_fix

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

b
Executable search paths within the initialization files of all local interactive AlmaLinux OS 9 users must only contain paths that resolve to the system default or the users home directory.
CM-6 - Medium - CCI-000366 - V-269214 - SV-269214r1050096_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-015200
Vuln IDs
  • V-269214
Rule IDs
  • SV-269214r1050096_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-73245r1048018_chk

Verify that all local interactive user initialization file executable search path statements do not contain statements that will reference a working directory other than user home directories with the following commands: $ grep -i path= /home/*/.* grep -i path= /home/*/.* 2&gt;/dev/null /home/simon/.bashrc: PATH="$HOME/.local/bin:$HOME/bin:$PATH" /home/test/.bashrc: PATH="$HOME/.local/bin:$HOME/bin:$PATH" 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-73146r1048019_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
All AlmaLinux OS 9 local interactive user home directories must have mode 0750 or less permissive.
CM-6 - Medium - CCI-000366 - V-269215 - SV-269215r1050097_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-015310
Vuln IDs
  • V-269215
Rule IDs
  • SV-269215r1050097_rule
Excessive permissions on local interactive user home directories may allow unauthorized access to user files by other users.
Checks: C-73246r1048021_chk

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. Verify the assigned home directory of all local interactive users has a mode of "0750" or less permissive with the following command: $ ls -ld $(awk -F: '($3&gt;=1000)&amp;&amp;($7 !~ /nologin/){print $6}' /etc/passwd) drwx------. 2 simon simon 83 Nov 30 12:30 /home/simon drwx------. 2 test test 83 Jan 19 14:18 /home/test drwx------. 2 test testdupe 62 Jan 15 11:44 /home/testdupe If home directories referenced in "/etc/passwd" do not have a mode of "0750" or less permissive, this is a finding.

Fix: F-73147r1048022_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 "test". $ chmod 0750 /home/test

c
AlmaLinux OS 9 must not allow unattended or automatic logon via the graphical user interface.
CM-6 - High - CCI-000366 - V-269216 - SV-269216r1050098_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
ALMA-09-015420
Vuln IDs
  • V-269216
Rule IDs
  • SV-269216r1050098_rule
Failure to restrict system access to authenticated users negatively impacts operating system security.
Checks: C-73247r1049326_chk

Note: This requirement assumes the use of the AlmaLinux OS 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 AlmaLinux OS 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-73148r1048025_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
AlmaLinux OS 9 must enforce a delay of at least four seconds between logon prompts following a failed logon attempt.
CM-6 - Medium - CCI-000366 - V-269217 - SV-269217r1050099_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-015640
Vuln IDs
  • V-269217
Rule IDs
  • SV-269217r1050099_rule
Increasing the time between a failed authentication attempt and prompting to re-enter credentials helps to slow a single-threaded brute force attack. Satisfies: SRG-OS-000480-GPOS-00227, SRG-OS-000480-GPOS-00226
Checks: C-73248r1049328_chk

Verify AlmaLinux OS 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-73149r1049329_fix

Configure the AlmaLinux OS 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
AlmaLinux OS 9 must not allow blank or null passwords.
CM-6 - Medium - CCI-000366 - V-269218 - SV-269218r1050100_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-015750
Vuln IDs
  • V-269218
Rule IDs
  • SV-269218r1050100_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-73249r1048030_chk

Verify that null passwords cannot be used 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. If the system administrator (SA) can demonstrate that the required configuration is contained in a PAM configuration file included or substacked from the system-auth file, this is not a finding.

Fix: F-73150r1048031_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
AlmaLinux OS 9 must not have accounts configured with blank or null passwords.
CM-6 - Medium - CCI-000366 - V-269219 - SV-269219r1050101_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-015860
Vuln IDs
  • V-269219
Rule IDs
  • SV-269219r1050101_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-73250r1048033_chk

Verify that null or blank passwords cannot be used with the following command: $ awk -F: '!$2 {print $1}' /etc/shadow If the command returns any results, this is a finding.

Fix: F-73151r1049332_fix

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

b
AlmaLinux OS 9 /etc/passwd- file must be group-owned by root.
CM-6 - Medium - CCI-000366 - V-269220 - SV-269220r1050102_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-015970
Vuln IDs
  • V-269220
Rule IDs
  • SV-269220r1050102_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-73251r1048036_chk

Verify the 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-73152r1048037_fix

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

b
AlmaLinux OS 9 /etc/passwd- file must be owned by root.
CM-6 - Medium - CCI-000366 - V-269221 - SV-269221r1050103_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-016080
Vuln IDs
  • V-269221
Rule IDs
  • SV-269221r1050103_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-73252r1048039_chk

Verify the 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-73153r1048040_fix

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

b
AlmaLinux OS 9 /etc/passwd- file must have mode 0644 or less permissive to prevent unauthorized access.
CM-6 - Medium - CCI-000366 - V-269222 - SV-269222r1050104_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-016190
Vuln IDs
  • V-269222
Rule IDs
  • SV-269222r1050104_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-73253r1048042_chk

Verify that the "/etc/passwd-" file has mode "0644" or less permissive with the following command: $ stat -c "%#a %n" /etc/passwd- 0644 /etc/passwd- If a value of "0644" or less permissive is not returned, this is a finding.

Fix: F-73154r1048043_fix

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

b
AlmaLinux OS 9 /etc/passwd file must be group-owned by root.
CM-6 - Medium - CCI-000366 - V-269223 - SV-269223r1050105_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-016300
Vuln IDs
  • V-269223
Rule IDs
  • SV-269223r1050105_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-73254r1048045_chk

Verify the 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-73155r1048046_fix

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

b
AlmaLinux OS 9 /etc/passwd file must be owned by root.
CM-6 - Medium - CCI-000366 - V-269224 - SV-269224r1050106_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-016410
Vuln IDs
  • V-269224
Rule IDs
  • SV-269224r1050106_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-73255r1048048_chk

Verify the 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-73156r1048049_fix

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

b
AlmaLinux OS 9 /etc/passwd file must have mode 0644 or less permissive to prevent unauthorized access.
CM-6 - Medium - CCI-000366 - V-269225 - SV-269225r1050107_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-016520
Vuln IDs
  • V-269225
Rule IDs
  • SV-269225r1050107_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-73256r1048051_chk

Verify that the "/etc/passwd" file has mode "0644" or less permissive with the following command: $ stat -c "%#a %n" /etc/passwd 0644 /etc/passwd If a value of "0644" or less permissive is not returned, this is a finding.

Fix: F-73157r1048052_fix

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

b
AlmaLinux OS 9 /etc/shadow- file must be group-owned by root.
CM-6 - Medium - CCI-000366 - V-269226 - SV-269226r1050108_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-016630
Vuln IDs
  • V-269226
Rule IDs
  • SV-269226r1050108_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-73257r1048054_chk

Verify the 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-73158r1048055_fix

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

b
AlmaLinux OS 9 /etc/shadow- file must be owned by root.
CM-6 - Medium - CCI-000366 - V-269227 - SV-269227r1050109_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-016740
Vuln IDs
  • V-269227
Rule IDs
  • SV-269227r1050109_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-73258r1048057_chk

Verify the 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-73159r1048058_fix

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

b
AlmaLinux OS 9 /etc/shadow- file must have mode 0000 or less permissive to prevent unauthorized access.
CM-6 - Medium - CCI-000366 - V-269228 - SV-269228r1050110_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-016850
Vuln IDs
  • V-269228
Rule IDs
  • SV-269228r1050110_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-73259r1048060_chk

Verify that the "/etc/shadow-" file has mode "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-73160r1048061_fix

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

b
AlmaLinux OS 9 /etc/shadow file must be group-owned by root.
CM-6 - Medium - CCI-000366 - V-269229 - SV-269229r1050111_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-016960
Vuln IDs
  • V-269229
Rule IDs
  • SV-269229r1050111_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-73260r1048063_chk

Verify the 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-73161r1048064_fix

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

b
AlmaLinux OS 9 /etc/shadow file must be owned by root.
CM-6 - Medium - CCI-000366 - V-269230 - SV-269230r1050112_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-017070
Vuln IDs
  • V-269230
Rule IDs
  • SV-269230r1050112_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-73261r1048066_chk

Verify the 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-73162r1048067_fix

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

b
AlmaLinux OS 9 /etc/shadow file must have mode 0000 to prevent unauthorized access.
CM-6 - Medium - CCI-000366 - V-269231 - SV-269231r1050113_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-017180
Vuln IDs
  • V-269231
Rule IDs
  • SV-269231r1050113_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-73262r1048069_chk

Verify that the "/etc/shadow" file has mode "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-73163r1048070_fix

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

b
AlmaLinux OS 9 must restrict privilege elevation to authorized personnel.
CM-6 - Medium - CCI-000366 - V-269232 - SV-269232r1050114_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-017290
Vuln IDs
  • V-269232
Rule IDs
  • SV-269232r1050114_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-73263r1049346_chk

Verify AlmaLinux OS 9 restricts privilege elevation to authorized personnel with the following command: $ grep -w ALL /etc/sudoers /etc/sudoers.d/* | grep -v '#' /etc/sudoers:root ALL=(ALL) ALL /etc/sudoers:%wheel ALL=(ALL) NOPASSWD: ALL If the either of the following entries are returned, including their NOPASSWD equivalents, this is a finding: ALL ALL=(ALL) ALL ALL ALL=(ALL:ALL) ALL

Fix: F-73164r1048073_fix

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

b
AlmaLinux OS 9 must use the invoking user's password for privilege escalation when using "sudo".
CM-6 - Medium - CCI-000366 - V-269233 - SV-269233r1050115_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-017400
Vuln IDs
  • V-269233
Rule IDs
  • SV-269233r1050115_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-73264r1048075_chk

Verify that the sudoers security policy is configured to use the invoking user's password for privilege escalation with the following command: $ grep -E '(!rootpw|!targetpw|!runaspw)' /etc/sudoers /etc/sudoers.d/* | grep -v '#' /etc/sudoers.d/01_stig:Defaults !targetpw /etc/sudoers.d/01_stig:Defaults !rootpw /etc/sudoers.d/01_stig: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-73165r1048076_fix

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

b
AlmaLinux OS 9 must set the umask value to 077 for all local interactive user accounts.
CM-6 - Medium - CCI-000366 - V-269234 - SV-269234r1050116_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-017510
Vuln IDs
  • V-269234
Rule IDs
  • SV-269234r1050116_rule
Setting the most restrictive default permissions ensures that when new accounts are created they do not have unnecessary access. With a UMASK of 077, files will be created with 0600 permissions (owner read/write only) and directories will have 0700 permissions (owner read/write/execute only).
Checks: C-73265r1048078_chk

Verify that the default umask for all local interactive users is "077". Identify the locations of all local interactive user home directories by looking at the "/etc/passwd" file. 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 -ir umask /home | grep -v '.bash_history' 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-73166r1048079_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 (ISSO), but the user agreement for access to the account must specify that the local interactive user must first log on to their account and then switch the user to the application account with the correct option to gain the account's environment variables.

b
AlmaLinux OS 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-269235 - SV-269235r1050117_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-017620
Vuln IDs
  • V-269235
Rule IDs
  • SV-269235r1050117_rule
Setting the most restrictive default permissions ensures that when new accounts are created they do not have unnecessary access. With a UMASK of 077, files will be created with 0600 permissions (owner read/write only) and directories will have 0700 permissions (owner read/write/execute only).
Checks: C-73266r1049350_chk

Verify AlmaLinux OS 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 the "/etc/login.defs" file, the severity is raised to a CAT I. $ grep 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-73167r1049351_fix

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

b
AlmaLinux OS 9 must define default permissions for PAM users.
CM-6 - Medium - CCI-000366 - V-269236 - SV-269236r1050118_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-017730
Vuln IDs
  • V-269236
Rule IDs
  • SV-269236r1050118_rule
Setting the most restrictive default permissions ensures that when new accounts are created they do not have unnecessary access. With a UMASK of 077, files will be created with 0600 permissions (owner read/write only) and directories will have 0700 permissions (owner read/write/execute only).
Checks: C-73267r1048084_chk

Verify that the "pam_umask" module is enabled with the following command: $ grep -i umask /etc/pam.d/* /etc/pam.d/postlogin:session optional pam_umask.so silent umask=0022 If a "pam_umask.so" line is not returned, this is a finding. If the "umask" setting is set to anything other than "0077", this is a finding. Note: If the "umask" setting is not found, it will use the default UMASK entry in /etc/login.defs.

Fix: F-73168r1049353_fix

Configure AlmaLinux OS 9 to define default permissions for all authenticated users so the user can only read and modify their own files. Add or edit the following line at the top of /etc/pam.d/postlogin: session optional pam_umask.so silent

b
AlmaLinux OS 9 must define default permissions for logon and nonlogon shells.
CM-6 - Medium - CCI-000366 - V-269237 - SV-269237r1050119_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-017840
Vuln IDs
  • V-269237
Rule IDs
  • SV-269237r1050119_rule
Setting the most restrictive default permissions ensures that when new accounts are created they do not have unnecessary access. With a UMASK of 077, files will be created with 0600 permissions (owner read/write only) and directories will have 0700 permissions (owner read/write/execute only).
Checks: C-73268r1048087_chk

Verify that the "umask" setting for installed shells is "077". Note: If the value of the "umask" parameter is set to "000", the severity is raised to a CAT I. $ grep -ir umask /etc/profile* /etc/bashrc* /etc/csh* /etc/csh.cshrc: umask 077 If the "umask" parameter is set to anything other than "077", this is a finding.

Fix: F-73169r1049355_fix

Configure AlmaLinux OS 9 to define default permissions for all authenticated users in such a way that the user can only read and modify their own files. Change any found "umask" parameters in the "/etc/bashrc*", "/etc/csh*", and "/etc/profile*" files to "077": umask 077

b
AlmaLinux OS 9 must not have unauthorized accounts.
CM-6 - Medium - CCI-000366 - V-269238 - SV-269238r1050120_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-017950
Vuln IDs
  • V-269238
Rule IDs
  • SV-269238r1050120_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-73269r1048090_chk

Verify that there are no unauthorized interactive user accounts with the following command: $ cat /etc/passwd root:x:0:0:root:/root:/bin/bash ... sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt simon:x:1000:1000::/home/simon:/bin/bash Interactive user accounts, 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-73170r1048091_fix

Remove unauthorized local interactive user accounts with the following command where <unauthorized_user> is the unauthorized account: $ userdel -rf <unauthorized_user>

b
AlmaLinux OS 9 must be configured so that the file integrity tool verifies Access Control Lists (ACLs).
CM-6 - Medium - CCI-000366 - V-269239 - SV-269239r1050121_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-018060
Vuln IDs
  • V-269239
Rule IDs
  • SV-269239r1050121_rule
ACLs can provide permissions beyond those permitted through the file mode and must be verified by the file integrity tools.
Checks: C-73270r1048093_chk

Verify that that AIDE is verifying ACLs with the following command: $ 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-73171r1048094_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.

b
AlmaLinux OS 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-269240 - SV-269240r1050122_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-018170
Vuln IDs
  • V-269240
Rule IDs
  • SV-269240r1050122_rule
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-73271r1048096_chk

Verify that AIDE is configured to use FIPS 140-3 file hashing with the following command: $ 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-73172r1048097_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.

b
AlmaLinux OS 9 must be configured so that the file integrity tool verifies extended attributes.
CM-6 - Medium - CCI-000366 - V-269241 - SV-269241r1050123_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-018280
Vuln IDs
  • V-269241
Rule IDs
  • SV-269241r1050123_rule
Extended attributes in file systems are used to contain arbitrary data and file metadata with security implications.
Checks: C-73272r1048099_chk

Verify that AIDE is configured to verify extended attributes with the following command: $ 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. 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-73173r1048100_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
AlmaLinux OS 9 must prevent the use of dictionary words for passwords.
CM-6 - Medium - CCI-000366 - V-269242 - SV-269242r1050124_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-018390
Vuln IDs
  • V-269242
Rule IDs
  • SV-269242r1050124_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.
Checks: C-73273r1049361_chk

Verify AlmaLinux OS 9 prevents the use of dictionary words for passwords with the following command: $ grep -r dictcheck /etc/security/pwquality.conf* /etc/security/pwquality.conf.d/stig.conf:dictcheck = 1 If the value of "dictcheck" is not "1" , is not set, is commented out, or if conflicting results are returned, this is a finding.

Fix: F-73174r1049362_fix

Configure AlmaLinux OS 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/security/pwquality.conf.d/" directory: dictcheck = 1 Remove any configurations that conflict with the above value.

b
AlmaLinux OS 9 must not accept router advertisements on all IPv6 interfaces.
CM-6 - Medium - CCI-000366 - V-269243 - SV-269243r1050125_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-018500
Vuln IDs
  • V-269243
Rule IDs
  • SV-269243r1050125_rule
An illicit router advertisement message could result in a man-in-the-middle attack.
Checks: C-73274r1049364_chk

Note: If IPv6 is disabled on the system, this requirement is Not Applicable. Verify AlmaLinux OS 9 does not accept router advertisements on any IPv6 interfaces, unless the system is a router. Determine if router advertisements are not accepted by using the following command: $ sysctl -a | grep 'accept_ra ' net.ipv6.conf.all.accept_ra = 1 net.ipv6.conf.default.accept_ra = 1 net.ipv6.conf.enp1s0.accept_ra = 0 net.ipv6.conf.lo.accept_ra = 1 If any of the returned lines are not set to "0" and it is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-73175r1049365_fix

Configure AlmaLinux OS 9 to not accept router advertisements on all IPv6 interfaces unless the system is a router. Create a numbered *.conf file in /etc/sysctl.d/ with the following content: net.ipv6.conf.all.accept_ra = 0 net.ipv6.conf.default.accept_ra = 0 net.ipv6.conf.lo.accept_ra = 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: $ sysctl –system

b
AlmaLinux OS 9 must ignore Internet Control Message Protocol (ICMP) redirect messages.
CM-6 - Medium - CCI-000366 - V-269244 - SV-269244r1050126_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-018610
Vuln IDs
  • V-269244
Rule IDs
  • SV-269244r1050126_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 IP protocol has few legitimate uses. It should be disabled unless absolutely required.
Checks: C-73275r1049367_chk

Verify AlmaLinux OS 9 will not accept ICMP redirect messages. Check the value of the "accept_redirects" variables with the following command: $ sysctl -a | grep accept_redirects net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.default.accept_redirects = 0 net.ipv4.conf.enp1s0.accept_redirects = 0 net.ipv4.conf.lo.accept_redirects = 0 net.ipv6.conf.all.accept_redirects = 0 net.ipv6.conf.default.accept_redirects = 0 net.ipv6.conf.enp1s0.accept_redirects = 0 net.ipv6.conf.lo.accept_redirects = 0 If the returned lines do not all have a value of "0", this is a finding.

Fix: F-73176r1049368_fix

Configure AlmaLinux OS 9 to ignore ICMP redirect messages. Create a numbered *.conf file in /etc/sysctl.d/ with the following content: net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.default.accept_redirects = 0 net.ipv4.conf.lo.accept_redirects = 0 net.ipv6.conf.all.accept_redirects = 0 net.ipv6.conf.default.accept_redirects = 0 net.ipv6.conf.lo.accept_redirects = 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: $ sysctl –system

b
The firewalld service on AlmaLinux OS 9 must be active.
CM-6 - Medium - CCI-000366 - V-269245 - SV-269245r1050613_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-018720
Vuln IDs
  • V-269245
Rule IDs
  • SV-269245r1050613_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. AlmaLinux OS 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-000480-GPOS-00232, SRG-OS-000096-GPOS-00050, SRG-OS-000297-GPOS-00115
Checks: C-73276r1048111_chk

Verify that "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-73177r1048112_fix

Enable the firewalld service using the following command: $ systemctl enable --now firewalld

b
AlmaLinux OS 9 firewall must employ a deny-all, allow-by-exception policy for allowing connections to other systems.
CM-6 - Medium - CCI-000366 - V-269246 - SV-269246r1050780_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-018830
Vuln IDs
  • V-269246
Rule IDs
  • SV-269246r1050780_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. AlmaLinux OS 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-73277r1049371_chk

Verify the AlmaLinux OS 9 "firewalld" is configured to employ a deny-all, allow-by-exception policy for allowing connections to other systems. First ensure firewalld is running: $ firewall-cmd --state running Next, get the active zones: $ firewall-cmd --get-active-zones public interfaces: enp1s0 Check the target of the zones returned from the previous command: $ firewall-cmd --info-zone=public | grep target target: DROP Check the runtime and permanent rules match: $ firewall-cmd --permanent --info-zone=public | grep target target: DROP If no zones are active on the AlmaLinux OS 9 interfaces or if runtime and permanent targets are set to a different option other than "DROP", this is a finding.

Fix: F-73178r1050780_fix

Configure the "firewalld" daemon to employ a deny-all, allow-by-exception. 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 command: $ firewall-cmd --permanent --add-service=ssh --zone=drop Set the default zone to the "drop" zone: $ firewall-cmd --set-default-zone=drop Note: This is a runtime and a permanent change. Add any interfaces to the newly modified "drop" zone: $ firewall-cmd --permanent --zone=drop --change-interface=enp1s0 Reload the firewall rules for changes to take effect: $ firewall-cmd --reload Check zones and interfaces: $ firewall-cmd --get-active-zones drop interfaces: enp1s0 Check new default zone's target is set to "DROP": $ firewall-cmd --permanent --info-zone=drop | grep target target: DROP The same outcome is achieved by creating a new zone, for example: $ firewall-cmd --permanent --new-zone=stig $ firewall-cmd --reload $ firewall-cmd --permanent --change-interface=enp1s0 --zone=stig $ firewall-cmd --permanent --add-service=ssh --zone=stig $ firewall-cmd --permanent --set-target=DROP --zone=stig $ firewall-cmd --set-default-zone=stig

b
AlmaLinux OS 9 must limit the number of bogus Internet Control Message Protocol (ICMP) response errors logs.
CM-6 - Medium - CCI-000366 - V-269247 - SV-269247r1050129_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-018940
Vuln IDs
  • V-269247
Rule IDs
  • SV-269247r1050129_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-73278r1049373_chk

Verify AlmaLinux OS 9 ignores bogus ICMP error responses with the following command: $ sysctl net.ipv4.icmp_ignore_bogus_error_responses net.ipv4.icmp_ignore_bogus_error_responses = 1 If the returned line does not have a value of "1", this is a finding.

Fix: F-73179r1049374_fix

Configure AlmaLinux OS 9 to use reverse path filtering on all IP interfaces. Create a numbered *.conf file in /etc/sysctl.d/ with the following content: net.ipv4.icmp_ignore_bogus_error_responses = 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: $ sysctl --system

b
AlmaLinux OS 9 must not respond to Internet Control Message Protocol (ICMP) echoes sent to a broadcast address.
CM-6 - Medium - CCI-000366 - V-269248 - SV-269248r1050130_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-019050
Vuln IDs
  • V-269248
Rule IDs
  • SV-269248r1050130_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-73279r1049376_chk

Verify AlmaLinux OS 9 does not respond to ICMP echoes sent to a broadcast address 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", this is a finding.

Fix: F-73180r1049377_fix

Configure AlmaLinux OS 9 to use reverse path filtering on all IP interfaces. Create a numbered *.conf file in /etc/sysctl.d/ with the following content: net.ipv4.icmp_echo_ignore_broadcasts = 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: $ sysctl –system

b
AlmaLinux OS 9 must not enable IP packet forwarding unless the system is a router.
CM-6 - Medium - CCI-000366 - V-269249 - SV-269249r1050131_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-019160
Vuln IDs
  • V-269249
Rule IDs
  • SV-269249r1050131_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-73280r1049379_chk

Verify AlmaLinux OS 9 is not performing IP packet forwarding, unless the system is a router. Check that IP forwarding is disabled using the following command: $ sysctl -a | grep -E '\.forwarding' net.ipv4.conf.all.forwarding = 0 net.ipv4.conf.default.forwarding = 0 net.ipv4.conf.enp1s0.forwarding = 0 net.ipv4.conf.lo.forwarding = 0 net.ipv6.conf.all.forwarding = 0 net.ipv6.conf.default.forwarding = 0 net.ipv6.conf.enp1s0.forwarding = 0 net.ipv6.conf.lo.forwarding = 0 If any of the returned lines are not set to "0" and it is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-73181r1049380_fix

Configure AlmaLinux OS 9 to not allow IP packet forwarding, unless the system is a router. Create a numbered *.conf file in /etc/sysctl.d/ with the following content: net.ipv4.conf.all.forwarding = 0 net.ipv4.conf.default.forwarding = 0 net.ipv4.conf.lo.forwarding = 0 net.ipv6.conf.all.forwarding = 0 net.ipv6.conf.default.forwarding = 0 net.ipv6.conf.lo.forwarding = 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: $ sysctl –system

b
AlmaLinux OS 9 must not have unauthorized IP tunnels configured.
CM-6 - Medium - CCI-000366 - V-269250 - SV-269250r1050132_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-019270
Vuln IDs
  • V-269250
Rule IDs
  • SV-269250r1050132_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-73281r1049382_chk

Verify that AlmaLinux OS 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; preset: disabled) Active: inactive (dead) If the "IPsec" service is active, check for configured IPsec connections ("conn"), with the following command: $ grep -ri conn /etc/ipsec.conf /etc/ipsec.d/ | grep -v '#' Verify any returned results are documented with the ISSO. If the IPsec tunnels are active and not approved, this is a finding.

Fix: F-73182r1048127_fix

Remove all unapproved tunnels from the system, or document them with the ISSO.

b
AlmaLinux OS 9 must log packets with impossible addresses.
CM-6 - Medium - CCI-000366 - V-269251 - SV-269251r1050133_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-019380
Vuln IDs
  • V-269251
Rule IDs
  • SV-269251r1050133_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-73282r1049384_chk

Verify AlmaLinux OS 9 logs martian packets. Check the value of the "log_martians" variables with the following command: $ sysctl -a | grep log_martians net.ipv4.conf.all.log_martians = 1 net.ipv4.conf.default.log_martians = 1 net.ipv4.conf.enp1s0.log_martians = 1 net.ipv4.conf.lo.log_martians = 1 If the returned lines do not all have a value of "1", this is a finding.

Fix: F-73183r1049385_fix

Configure AlmaLinux OS 9 to log martian packets. Create a numbered *.conf file in /etc/sysctl.d/ with the following content: net.ipv4.conf.all.log_martians = 1 net.ipv4.conf.default.log_martians = 1 net.ipv4.conf.lo.log_martians = 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: $ sysctl --system

b
AlmaLinux OS 9 must be configured to prevent unrestricted mail relaying.
CM-6 - Medium - CCI-000366 - V-269252 - SV-269252r1050134_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-019490
Vuln IDs
  • V-269252
Rule IDs
  • SV-269252r1050134_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-73283r1049387_chk

Note: If postfix is not installed, this is Not Applicable. Verify AlmaLinux OS 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-73184r1048133_fix

Modify the postfix configuration file to restrict client connections to the local network with the following command: $ postconf -e 'smtpd_client_restrictions = permit_mynetworks,reject'

b
AlmaLinux OS 9 must have the nss-tools package installed.
CM-6 - Medium - CCI-000366 - V-269253 - SV-269253r1050135_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-019600
Vuln IDs
  • V-269253
Rule IDs
  • SV-269253r1050135_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-73284r1049389_chk

Verify that AlmaLinux OS 9 has the nss-tools package installed with the following command: $ dnf list --installed nss-tools Installed Packages nss-tools.x86_64 3.90.0-6.el9_2.tuxcare.1 @@commandline If the "nss-tools" package is not installed, this is a finding.

Fix: F-73185r1048136_fix

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

b
AlmaLinux OS 9 network interfaces must not be in promiscuous mode.
CM-6 - Medium - CCI-000366 - V-269254 - SV-269254r1050136_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-019710
Vuln IDs
  • V-269254
Rule IDs
  • SV-269254r1050136_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 system security officer (ISSO) and restricted to only authorized personnel.
Checks: C-73285r1048138_chk

Verify network interfaces are not 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-73186r1048139_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: $ ip link set dev <devicename> multicast off promisc off

b
AlmaLinux OS 9 must use reverse path filtering on all IP interfaces.
CM-6 - Medium - CCI-000366 - V-269255 - SV-269255r1050137_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-019820
Vuln IDs
  • V-269255
Rule IDs
  • SV-269255r1050137_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-73286r1049392_chk

Verify AlmaLinux OS 9 uses reverse path filtering on all IP interfaces with the following command: $ sysctl -a | grep -E '\.rp_filter' net.ipv4.conf.all.rp_filter = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.enp1s0.rp_filter = 1 net.ipv4.conf.lo.rp_filter = 1 If the returned lines do not all have a value of "1", this is a finding.

Fix: F-73187r1049393_fix

Configure AlmaLinux OS 9 to use reverse path filtering on all IP interfaces. Create a numbered *.conf file in /etc/sysctl.d/ with the following content: net.ipv4.conf.all.rp_filter = 1 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.lo.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: $ sysctl --system

b
AlmaLinux OS 9 must not send Internet Control Message Protocol (ICMP) redirects.
CM-6 - Medium - CCI-000366 - V-269256 - SV-269256r1050138_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-019930
Vuln IDs
  • V-269256
Rule IDs
  • SV-269256r1050138_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-73287r1049395_chk

Verify AlmaLinux OS 9 does not send ICMP redirects. Check the value of the "send_redirects" variables with the following command: $ sysctl -a | grep send_redirects net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.enp1s0.send_redirects = 0 net.ipv4.conf.lo.send_redirects = 0 If the returned lines do not all have a value of "0", this is a finding.

Fix: F-73188r1049396_fix

Configure AlmaLinux OS 9 to not allow interfaces to perform ICMP redirects. Create a numbered *.conf file in /etc/sysctl.d/ with the following content: net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.lo.send_redirects = 0 EOF 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: $ sysctl –system

b
There must be no .shosts files on AlmaLinux OS 9.
CM-6 - Medium - CCI-000366 - V-269257 - SV-269257r1050139_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-020040
Vuln IDs
  • V-269257
Rule IDs
  • SV-269257r1050139_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-73288r1049398_chk

Verify there are no ".shosts" files on AlmaLinux OS 9 with the following command: $ find / -name .shosts If a ".shosts" file is found, this is a finding.

Fix: F-73189r1048148_fix

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

b
There must be no shosts.equiv files on AlmaLinux OS 9.
CM-6 - Medium - CCI-000366 - V-269258 - SV-269258r1050140_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-020150
Vuln IDs
  • V-269258
Rule IDs
  • SV-269258r1050140_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-73289r1049400_chk

Verify there are no "shosts.equiv" files on AlmaLinux OS 9 with the following command: $ find / -name shosts.equiv If a "shosts.equiv" file is found, this is a finding.

Fix: F-73190r1048151_fix

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

b
AlmaLinux OS 9 must not forward source-routed packets.
CM-6 - Medium - CCI-000366 - V-269259 - SV-269259r1050141_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-020260
Vuln IDs
  • V-269259
Rule IDs
  • SV-269259r1050141_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 IP forwarding is enabled and the system is functioning as a router. Accepting source-routed packets has few legitimate uses. It must be disabled unless it is absolutely required.
Checks: C-73290r1049402_chk

Verify AlmaLinux OS 9 will not accept source-routed packets. Check the value of the "accept_source_route" variables with the following command: $ sysctl -a | grep accept_source_route net.ipv4.conf.all.accept_source_route = 0 net.ipv4.conf.default.accept_source_route = 0 net.ipv4.conf.enp1s0.accept_source_route = 0 net.ipv4.conf.lo.accept_source_route = 0 net.ipv6.conf.all.accept_source_route = 0 net.ipv6.conf.default.accept_source_route = 0 net.ipv6.conf.enp1s0.accept_source_route = 0 net.ipv6.conf.lo.accept_source_route = 0 If the returned lines do not all have a value of "0", this is a finding.

Fix: F-73191r1049403_fix

Configure AlmaLinux OS 9 to ignore source-routed packets. Create a numbered *.conf file in /etc/sysctl.d/ with the following content: net.ipv4.conf.all.accept_source_route = 0 net.ipv4.conf.default.accept_source_route = 0 net.ipv4.conf.lo.accept_source_route = 0 net.ipv6.conf.all.accept_source_route = 0 net.ipv6.conf.default.accept_source_route = 0 net.ipv6.conf.lo.accept_source_route = 0 The system configuration files must be reloaded for the changes to take effect. To reload the contents of the files, run the following command: $ sysctl –system

b
AlmaLinux OS 9 SSH daemon must not allow compression or must only allow compression after successful authentication.
CM-6 - Medium - CCI-000366 - V-269260 - SV-269260r1050142_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-020370
Vuln IDs
  • V-269260
Rule IDs
  • SV-269260r1050142_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-73291r1048156_chk

Verify the SSH daemon performs compression after a user successfully authenticates with the following command: $ sshd -T | grep compression Compression no If the "Compression" keyword is set to "yes", this is a finding.

Fix: F-73192r1048157_fix

Configure the SSH daemon to not allow compression. Add the following line to "/etc/ssh/sshd_config", or uncomment the line and set the value to "delayed" or preferably "no": Compression no Alternatively, add the setting to an include file if the line "Include /etc/ssh/sshd_config.d/*.conf" is found at the top of the "/etc/ssh/sshd_config" file: $ echo 'Compression no' > /etc/ssh/sshd_config.d/40-compression.conf Restart the SSH daemon for the settings to take effect: $ systemctl restart sshd.service

b
The AlmaLinux OS 9 SSH server configuration file must be group-owned by root.
CM-6 - Medium - CCI-000366 - V-269261 - SV-269261r1050143_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-020480
Vuln IDs
  • V-269261
Rule IDs
  • SV-269261r1050143_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-73292r1048159_chk

Verify the group ownership of "/etc/ssh/sshd_config" and any "/etc/ssh/sshd_config.d/*.conf" files with the following command: $ find /etc/ssh/sshd_config /etc/ssh/sshd_config.d -exec stat -c "%G %n" {} \; root /etc/ssh/sshd_config root /etc/ssh/sshd_config.d root /etc/ssh/sshd_config.d/40-stig.conf root /etc/ssh/sshd_config.d/50-redhat.conf root /etc/ssh/sshd_config.d/clientalive.conf If any of the files do not have a group owner of "root", this is a finding.

Fix: F-73193r1048160_fix

Configure the SSHD config files to be group-owned by root with the following command: $ chgrp root /etc/ssh/sshd_config /etc/ssh/sshd_config.d/*.conf

b
The AlmaLinux OS 9 SSH server configuration file must be owned by root.
CM-6 - Medium - CCI-000366 - V-269262 - SV-269262r1050144_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-020590
Vuln IDs
  • V-269262
Rule IDs
  • SV-269262r1050144_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-73293r1048162_chk

Verify the ownership of "/etc/ssh/sshd_config" and any "/etc/ssh/sshd_config.d/*.conf" files with the following command: $ find /etc/ssh/sshd_config /etc/ssh/sshd_config.d -exec stat -c "%U %n" {} \; root /etc/ssh/sshd_config root /etc/ssh/sshd_config.d root /etc/ssh/sshd_config.d/40-stig.conf root /etc/ssh/sshd_config.d/50-redhat.conf root /etc/ssh/sshd_config.d/clientalive.conf If any of the files do not have an owner of "root", this is a finding.

Fix: F-73194r1048163_fix

Configure the SSHD config files to be owned by root with the following command: $ chown root /etc/ssh/sshd_config /etc/ssh/sshd_config.d/*.conf

b
AlmaLinux OS 9 SSH server configuration files must have mode 0600 or less permissive.
CM-6 - Medium - CCI-000366 - V-269263 - SV-269263r1050145_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-020700
Vuln IDs
  • V-269263
Rule IDs
  • SV-269263r1050145_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-73294r1048165_chk

Verify the permissions of "/etc/ssh/sshd_config" and any "/etc/ssh/sshd_config.d/*.conf" files with the following command: $ find /etc/ssh/sshd_config /etc/ssh/sshd_config.d -exec stat -c "%#a %n" {} \; 600 /etc/ssh/sshd_config 755 /etc/ssh/sshd_config.d 600 /etc/ssh/sshd_config.d/40-stig.conf 600 /etc/ssh/sshd_config.d/50-redhat.conf 600 /etc/ssh/sshd_config.d/clientalive.conf If any of the files do not have "0600" permissions, this is a finding.

Fix: F-73195r1048166_fix

Configure the SSHD config files to have "0600" permissions with the following command: $ chmod 0600 /etc/ssh/sshd_config /etc/ssh/sshd_config.d/*.conf

b
AlmaLinux OS 9 must not allow a noncertificate trusted host SSH logon to the system.
CM-6 - Medium - CCI-000366 - V-269264 - SV-269264r1050146_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-020810
Vuln IDs
  • V-269264
Rule IDs
  • SV-269264r1050146_rule
SSH trust relationships mean a compromise on one host can allow an attacker to move trivially to other hosts.
Checks: C-73295r1048168_chk

Verify the operating system does not allow a noncertificate trusted host SSH logon to the system with the following command: $ sshd -T | grep hostbasedauthentication hostbasedauthentication no If the "HostbasedAuthentication" keyword is not set to "no", this is a finding.

Fix: F-73196r1049409_fix

Configure the AlmaLinux OS 9 SSH daemon to not allow a noncertificate trusted host SSH logon to the system with the following command: Add the following line to "/etc/ssh/sshd_config", or uncomment the line and set the value to "no": HostbasedAuthentication no Alternatively, add the setting to an include file if the line "Include /etc/ssh/sshd_config.d/*.conf" is found at the top of the "/etc/ssh/sshd_config" file: $ echo 'HostbasedAuthentication no' > /etc/ssh/sshd_config.d/40-hostbasedauthentication.conf Restart the SSH daemon for the settings to take effect: $ systemctl restart sshd.service

b
AlmaLinux OS 9 SSH private host key files must have mode 0640 or less permissive.
CM-6 - Medium - CCI-000366 - V-269265 - SV-269265r1050147_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-020920
Vuln IDs
  • V-269265
Rule IDs
  • SV-269265r1050147_rule
If an unauthorized user obtains the private SSH host key file, the host could be impersonated.
Checks: C-73296r1048171_chk

Verify the SSH private host key files have a mode of "0640" or less permissive with the following command: $ stat -c "%#a %n" /etc/ssh/ssh_host*key 0640 /etc/ssh/ssh_host_ecdsa_key 0640 /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-73197r1048172_fix

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

b
AlmaLinux OS 9 SSH public host key files must have mode 0644 or less permissive.
CM-6 - Medium - CCI-000366 - V-269266 - SV-269266r1050148_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-021030
Vuln IDs
  • V-269266
Rule IDs
  • SV-269266r1050148_rule
If a public host key file is modified by an unauthorized user, the SSH service may be compromised. Whilst public keys are publicly readable, they should not be writeable by nonowners.
Checks: C-73297r1048174_chk

Verify the 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. $ stat -c "%#a %n" /etc/ssh/ssh_host*key.pub 0644 /etc/ssh/ssh_host_ecdsa_key.pub 0644 /etc/ssh/ssh_host_rsa_key.pub If any public key has a mode more permissive than "0644", this is a finding.

Fix: F-73198r1048175_fix

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

b
AlmaLinux OS 9 SSH daemon must not allow known hosts authentication.
CM-6 - Medium - CCI-000366 - V-269267 - SV-269267r1050149_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-021140
Vuln IDs
  • V-269267
Rule IDs
  • SV-269267r1050149_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-73298r1048177_chk

Verify the SSH daemon does not allow known hosts authentication with the following command: $ sshd -T | grep ignoreuserknownhosts ignoreuserknownhosts yes If the value is returned as "no", this is a finding.

Fix: F-73199r1048178_fix

Configure the SSH daemon to not allow known hosts authentication. Add the following line to "/etc/ssh/sshd_config", or uncomment the line and set the value to "yes": IgnoreUserKnownHosts yes Alternatively, add the setting to an include file if the line "Include /etc/ssh/sshd_config.d/*.conf" is found at the top of the "/etc/ssh/sshd_config" file: $ echo 'IgnoreUserKnownHosts yes' > /etc/ssh/sshd_config.d/40-knownhosts.conf Restart the SSH daemon for the settings to take effect: $ systemctl restart sshd.service

b
AlmaLinux OS 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-269268 - SV-269268r1050150_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-021250
Vuln IDs
  • V-269268
Rule IDs
  • SV-269268r1050150_rule
Providing users feedback on when account accesses last occurred facilitates user recognition and reporting of unauthorized account use.
Checks: C-73299r1048180_chk

Verify the SSH daemon provides users with feedback on when account accesses last occurred with the following command: $ sshd -T | grep printlastlog printlastlog yes If the value is returned as "no", this is a finding.

Fix: F-73200r1048181_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 uncomment the line and set the value to "yes": PrintLastLog yes Alternatively, add the setting to an include file if the line "Include /etc/ssh/sshd_config.d/*.conf" is found at the top of the "/etc/ssh/sshd_config" file: $ echo 'PrintLastLog yes' > /etc/ssh/sshd_config.d/40-lastlog.conf Restart the SSH daemon for the settings to take effect: $ systemctl restart sshd.service

b
AlmaLinux OS 9 SSH daemon must not allow rhosts authentication.
CM-6 - Medium - CCI-000366 - V-269269 - SV-269269r1050151_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-021360
Vuln IDs
  • V-269269
Rule IDs
  • SV-269269r1050151_rule
SSH trust relationships mean a compromise on one host can allow an attacker to move trivially to other hosts.
Checks: C-73300r1048183_chk

Verify the SSH daemon does not allow rhosts authentication with the following command: $ sshd -T | grep ignorerhosts ignorerhosts yes If the "IgnoreRhosts" keyword is set to "no", this is a finding.

Fix: F-73201r1048184_fix

Configure the SSH daemon to not allow rhosts authentication. Add the following line to "/etc/ssh/sshd_config", or uncomment the line and set the value to "yes": IgnoreRhosts yes Alternatively, add the setting to an include file if the line "Include /etc/ssh/sshd_config.d/*.conf" is found at the top of the "/etc/ssh/sshd_config" file: $ echo 'IgnoreRhosts yes' > /etc/ssh/sshd_config.d/40-rhosts.conf Restart the SSH daemon for the settings to take effect: $ systemctl restart sshd.service

b
AlmaLinux OS 9 SSH daemon must disable remote X connections for interactive users.
CM-6 - Medium - CCI-000366 - V-269270 - SV-269270r1050152_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-021470
Vuln IDs
  • V-269270
Rule IDs
  • SV-269270r1050152_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-73301r1048186_chk

Verify the SSH daemon does not allow X11Forwarding with the following command: $ sshd -T | grep x11forwarding x11forwarding no If the value is returned as "yes" and X11 forwarding is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.

Fix: F-73202r1048187_fix

Configure the SSH daemon to not allow X11 forwarding. Add the following line to "/etc/ssh/sshd_config", or uncomment the line and set the value to "no": X11forwarding no Alternatively, add the setting to an include file if the line "Include /etc/ssh/sshd_config.d/*.conf" is found at the top of the "/etc/ssh/sshd_config" file: $ echo 'X11forwarding no' > /etc/ssh/sshd_config.d/40-x11forwarding.conf Restart the SSH daemon for the settings to take effect: $ systemctl restart sshd.service

b
AlmaLinux OS 9 SSH daemon must prevent remote hosts from connecting to the proxy display.
CM-6 - Medium - CCI-000366 - V-269271 - SV-269271r1050153_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-021580
Vuln IDs
  • V-269271
Rule IDs
  • SV-269271r1050153_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-73302r1048189_chk

Verify the SSH daemon prevents remote hosts from connecting to the proxy display with the following command: $ sshd -T | grep x11uselocalhost x11uselocalhost yes If the value is returned as "no", this is a finding.

Fix: F-73203r1048190_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 uncomment the line and set the value to "yes": X11UseLocalhost yes Alternatively, add the setting to an include file if the line "Include /etc/ssh/sshd_config.d/*.conf" is found at the top of the "/etc/ssh/sshd_config" file: $ echo 'X11UseLocalhost yes' > /etc/ssh/sshd_config.d/40-x11local.conf Restart the SSH daemon for the settings to take effect: $ systemctl restart sshd.service

b
If the Trivial File Transfer Protocol (TFTP) server is required, the TFTP daemon must be configured to operate in secure mode.
CM-6 - Medium - CCI-000366 - V-269272 - SV-269272r1050154_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-021690
Vuln IDs
  • V-269272
Rule IDs
  • SV-269272r1050154_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-73303r1048192_chk

Note: If a TFTP server is not installed, this requirement is Not Applicable. Verify the TFTP daemon is configured to operate in secure mode. Check if a TFTP server is installed with the following command: $ dnf list --installed tftp-server Installed Packages tftp-server.x86_64 5.2-37.el9 @appstream 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-73204r1048193_fix

Configure the TFTP daemon to operate in secure mode with the following command: $ systemctl edit tftp.service Insert the following between the two sets of comments, making sure to add the "-s" option with a nonroot ("/") directory. [Service] ExecStart= ExecStart=/usr/sbin/in.tftpd -s /tftp

b
AlmaLinux OS 9 must enable hardening for the Berkeley Packet Filter (BPF) just-in-time (JIT) compiler.
CM-6 - Medium - CCI-000366 - V-269273 - SV-269273r1050155_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-021800
Vuln IDs
  • V-269273
Rule IDs
  • SV-269273r1050155_rule
When hardened, the extended BPF 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-73304r1049419_chk

Verify AlmaLinux OS 9 enables hardening for the BPF JIT with the following commands: $ 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. Check that the configuration files are present to enable this kernel parameter. $ /usr/lib/systemd/systemd-sysctl --cat-config | egrep -v '^(#|;)' | grep -F net.core.bpf_jit_harden | tail -1 net.core.bpf_jit_harden = 2 If the network parameter "net.core.bpf_jit_harden" is not equal to "2" or nothing is returned, this is a finding.

Fix: F-73205r1049420_fix

Configure AlmaLinux OS 9 to enable hardening for the BPF JIT compiler. Create a numbered *.conf file in /etc/sysctl.d/ with the following content: net.core.bpf_jit_harden = 2 The system configuration files must be reloaded for the changes to take effect. To reload the contents of the files, run the following command: $ sysctl –system

b
AlmaLinux OS 9 effective dconf policy must match the policy keyfiles.
CM-6 - Medium - CCI-000366 - V-269274 - SV-269274r1050156_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-021910
Vuln IDs
  • V-269274
Rule IDs
  • SV-269274r1050156_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-73305r1049422_chk

Note: This requirement assumes the use of the AlmaLinux OS 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. 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-73206r1048199_fix

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

b
AlmaLinux OS 9 must be configured so that all system device files are correctly labeled to prevent unauthorized modification.
CM-6 - Medium - CCI-000366 - V-269275 - SV-269275r1050157_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-022020
Vuln IDs
  • V-269275
Rule IDs
  • SV-269275r1050157_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-73306r1048201_chk

Verify that all system device files are 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. # find /dev -context *:device_t:* \( -type c -o -type b \) -printf "%p %Z\n" # find /dev -context *:unlabeled_t:* \( -type c -o -type b \) -printf "%p %Z\n" Note: There are device files, such as "/dev/vmci", that are used 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-73207r1048202_fix

Restore the SELinux policy for the affected device file from the system policy database using the following command: $ 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: $ dnf reinstall <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
All AlmaLinux OS 9 local initialization files must have mode 0740 or less permissive.
CM-6 - Medium - CCI-000366 - V-269276 - SV-269276r1050158_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-022130
Vuln IDs
  • V-269276
Rule IDs
  • SV-269276r1050158_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. World-readable "dot files" such as .bash_history or .netrc can reveal plaintext credentials, such files should be further protected (e.g., 0600).
Checks: C-73307r1048204_chk

Verify that all local initialization files have a mode of "0740" or less permissive with the following command: Note: The example will be for the "testuser" account, who has a home directory of "/home/testuser". $ find /home/testuser/.[^.]* -maxdepth 0 -perm -740 -exec stat -c "%a %n" {} \; | more 755 /home/testuser/.cache 755 /home/testuser/.mozilla If any local initialization files have a mode more permissive than "0740", this is a finding.

Fix: F-73208r1048205_fix

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

b
AlmaLinux OS 9 must have the gnutls-utils package installed.
CM-6 - Medium - CCI-000366 - V-269277 - SV-269277r1050159_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-022240
Vuln IDs
  • V-269277
Rule IDs
  • SV-269277r1050159_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-73308r1049426_chk

Verify that AlmaLinux OS 9 has the gnutls-utils package installed with the following command: $ dnf list --installed gnutls-utils Installed Packages gnutls-utils.x86_64 3.7.6-23.el9_2.tuxcare.3 @@commandline If the "gnutls-utils" package is not installed, this is a finding.

Fix: F-73209r1048208_fix

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

b
The kdump service on AlmaLinux OS 9 must be disabled.
CM-6 - Medium - CCI-000366 - V-269278 - SV-269278r1050160_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-022350
Vuln IDs
  • V-269278
Rule IDs
  • SV-269278r1050160_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-73309r1048210_chk

Verify that the kdump service is disabled in system boot configuration with the following command: $ systemctl is-enabled kdump 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-73210r1048211_fix

Disable the kdump service with the following command: $ systemctl mask --now kdump

b
AlmaLinux OS 9 must disable the ability of a user to restart the system from the login screen.
CM-6 - Medium - CCI-000366 - V-269279 - SV-269279r1050161_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-022460
Vuln IDs
  • V-269279
Rule IDs
  • SV-269279r1050161_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-73310r1049429_chk

Note: This requirement assumes the use of the AlmaLinux OS 9 default graphical user interface, Gnome Shell. If the system does not have any graphical user interface installed, this requirement is Not Applicable. Verify AlmaLinux OS 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-73211r1049430_fix

Configure AlmaLinux OS 9 to disable a user's ability to restart the system. Add or update the [org/gnome/settings-daemon/] section of the /etc/dconf/db/local.d/00-security-settings" database file and add or update the following lines: [org/gnome/login-screen] disable-restart-buttons=true Then update the dconf system databases: $ dconf update

b
AlmaLinux OS 9 must prevent a user from overriding the disable-restart-buttons setting for the graphical user interface.
CM-6 - Medium - CCI-000366 - V-269280 - SV-269280r1050162_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-022570
Vuln IDs
  • V-269280
Rule IDs
  • SV-269280r1050162_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-73311r1049432_chk

Note: This requirement assumes the use of the AlmaLinux OS 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 AlmaLinux OS 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-73212r1049433_fix

Configure AlmaLinux OS 9 to prevent a user from overriding the disable-restart-buttons setting for graphical user interfaces. Create a database to contain the systemwide graphical user logon settings (if it does not already exist) with the following command: $ 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: $ dconf update

b
AlmaLinux OS 9 must prevent special devices on file systems that are used with removable media.
CM-6 - Medium - CCI-000366 - V-269281 - SV-269281r1050163_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-022680
Vuln IDs
  • V-269281
Rule IDs
  • SV-269281r1050163_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-73312r1048219_chk

Verify file systems that are used for removable media are mounted with the "nodev" option with the following command: $ cat /etc/fstab UUID=0cb43738-b102-48f8-9174-061d8ee537b8 /mnt/usbdrive 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-73213r1048220_fix

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

b
AlmaLinux OS 9 must prevent code from being executed on file systems that are used with removable media.
CM-6 - Medium - CCI-000366 - V-269282 - SV-269282r1050164_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-022790
Vuln IDs
  • V-269282
Rule IDs
  • SV-269282r1050164_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-73313r1048222_chk

Verify file systems that are used for removable media are mounted with the "noexec" option with the following command: $ cat /etc/fstab UUID=0cb43738-b102-48f8-9174-061d8ee537b8 /mnt/usbdrive 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-73214r1048223_fix

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

b
AlmaLinux OS 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-269283 - SV-269283r1050165_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-022900
Vuln IDs
  • V-269283
Rule IDs
  • SV-269283r1050165_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-73314r1048225_chk

Verify file systems that are used for removable media are mounted with the "nosuid" option with the following command: $ cat /etc/fstab UUID=0cb43738-b102-48f8-9174-061d8ee537b8 /mnt/usbdrive 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-73215r1048226_fix

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

b
AlmaLinux OS 9 must disable the use of user namespaces.
CM-6 - Medium - CCI-000366 - V-269284 - SV-269284r1050166_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-023010
Vuln IDs
  • V-269284
Rule IDs
  • SV-269284r1050166_rule
User namespaces are used primarily for Linux containers. The value "0" disallows the use of user namespaces.
Checks: C-73315r1049438_chk

Verify AlmaLinux OS 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. Check that the configuration files are present to enable this kernel parameter. $ /usr/lib/systemd/systemd-sysctl --cat-config | egrep -v '^(#|;)' | grep -F user.max_user_namespaces | tail -1 user.max_user_namespaces = 0 If the network parameter "user.max_user_namespaces" is not equal to "0", or nothing is returned, this is a finding.

Fix: F-73216r1049439_fix

Configure AlmaLinux OS 9 to disable the use of user namespaces. $ sysctl -w 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: $ sysctl --system

b
AlmaLinux OS 9 must prevent special devices on file systems that are imported via Network File System (NFS).
CM-6 - Medium - CCI-000366 - V-269285 - SV-269285r1050167_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-023120
Vuln IDs
  • V-269285
Rule IDs
  • SV-269285r1050167_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-73316r1049441_chk

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

Fix: F-73217r1048232_fix

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

b
AlmaLinux OS 9 must prevent code execution on file systems that are imported via Network File System (NFS).
CM-6 - Medium - CCI-000366 - V-269286 - SV-269286r1050168_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-023230
Vuln IDs
  • V-269286
Rule IDs
  • SV-269286r1050168_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 as they may be incompatible. Executing files from untrusted file systems increases the opportunity for nonprivileged users to attain unauthorized administrative access.
Checks: C-73317r1049443_chk

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

Fix: F-73218r1048235_fix

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

b
AlmaLinux OS 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-269287 - SV-269287r1050169_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-023450
Vuln IDs
  • V-269287
Rule IDs
  • SV-269287r1050169_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-73318r1049445_chk

Note: If no NFS mounts are configured, this requirement is Not Applicable. Verify AlmaLinux OS 9 has the "nosuid" option configured for all NFS mounts with the following command: $ grep nfs /etc/fstab 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-73219r1048238_fix

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

b
AlmaLinux OS 9 must configure a DNS processing mode set be Network Manager.
CM-6 - Medium - CCI-000366 - V-269288 - SV-269288r1050170_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-023560
Vuln IDs
  • V-269288
Rule IDs
  • SV-269288r1050170_rule
To ensure that DNS resolver settings are respected, a DNS mode in Network Manager must be configured.
Checks: C-73319r1049447_chk

Note: If AlmaLinux OS 9 is configured to use a DNS resolver other than Network Manager, the configuration must be documented and approved by the information system security officer (ISSO). Verify that AlmaLinux OS 9 has a DNS mode configured in Network Manager. $ NetworkManager --print-config [main] dns=none If the "dns" key in the [main] section does not exist or is not set to "none" or "default", this is a finding.

Fix: F-73220r1049448_fix

Configure NetworkManager in AlmaLinux OS 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. $ systemctl reload NetworkManager

b
AlmaLinux OS 9 systems using Domain Name Servers (DNS) resolution must have at least two name servers configured.
CM-6 - Medium - CCI-000366 - V-269289 - SV-269289r1050171_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-023670
Vuln IDs
  • V-269289
Rule IDs
  • SV-269289r1050171_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-73320r1048243_chk

Verify the name servers used by the system with the following command: $ grep nameserver /etc/resolv.conf nameserver 192.168.2.4 nameserver 192.168.2.5 If less than two lines are returned that are not commented out, this is a finding.

Fix: F-73221r1048244_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" in the [main] section of /etc/NetworkManager/NetworkManager.conf, 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: $ nmcli connection modify [connection name] ipv4.dns [name server 1] $ 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
AlmaLinux OS 9 must prevent special devices on nonroot local partitions.
CM-6 - Medium - CCI-000366 - V-269290 - SV-269290r1050172_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-023780
Vuln IDs
  • V-269290
Rule IDs
  • SV-269290r1050172_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-73321r1048246_chk

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-73222r1048247_fix

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

b
The root account must be the only account having unrestricted access to an AlmaLinux OS 9 system.
CM-6 - Medium - CCI-000366 - V-269291 - SV-269291r1050173_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-023890
Vuln IDs
  • V-269291
Rule IDs
  • SV-269291r1050173_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-73322r1048249_chk

Verify that only the "root" account has 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-73223r1048250_fix

Change the UID of any account on the system, other than root which 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
AlmaLinux OS 9 must be configured so that the cryptographic hashes of system files match vendor values.
CM-6 - Medium - CCI-000366 - V-269292 - SV-269292r1050174_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-024000
Vuln IDs
  • V-269292
Rule IDs
  • SV-269292r1050174_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-73323r1048252_chk

The following command will list which files on the system have file hashes different from what is expected by the RPM database: $ rpm -Va --noconfig | awk '$1 ~ /..5/ &amp;&amp; $2 != "c"' If there is an output, this is a finding.

Fix: F-73224r1048253_fix

Given the 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, reinstalled, and then passed re-verification: $ rpm -Va --noconfig | awk '$1 ~ /..5/ && $2 != "c"' S.5....T. /usr/bin/tar $ dnf whatprovides /usr/bin/tar tar-2:1.34-6.el9_1.x86_64 : GNU file archiving program $ dnf reinstall tar $ rpm -Va --noconfig | awk '$1 ~ /..5/ && $2 != "c"' [no output]

b
AlmaLinux OS 9 must clear the page allocator to prevent use-after-free attacks.
CM-6 - Medium - CCI-000366 - V-269293 - SV-269293r1050175_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-024110
Vuln IDs
  • V-269293
Rule IDs
  • SV-269293r1050175_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. This also prevents data leaks and detects corrupted memory.
Checks: C-73324r1048255_chk

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

Configure AlmaLinux OS 9 to enable page poisoning with the following commands: $ 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
AlmaLinux OS 9 must display the date and time of the last successful account logon upon logon.
CM-6 - Medium - CCI-000366 - V-269294 - SV-269294r1050176_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-024220
Vuln IDs
  • V-269294
Rule IDs
  • SV-269294r1050176_rule
Users need to be aware of activity that occurs regarding their account. Providing users with information regarding the number of unsuccessful attempts that were made to login to their account allows the user to determine if any unauthorized activity has occurred and gives them an opportunity to notify administrators.
Checks: C-73325r1048258_chk

Verify users are provided with feedback on when account accesses last occurred with the following command: $ grep pam_lastlog /etc/pam.d/postlogin session required pam_lastlog.so showfailed If "pam_lastlog" is missing from "/etc/pam.d/postlogin" file, or the silent option is present, this is a finding.

Fix: F-73226r1049456_fix

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

b
AlmaLinux OS 9 security patches and updates must be installed and up to date.
CM-6 - Medium - CCI-000366 - V-269295 - SV-269295r1050177_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-024330
Vuln IDs
  • V-269295
Rule IDs
  • SV-269295r1050177_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-73326r1049458_chk

Verify AlmaLinux OS 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 TuxCare. The URL for updates is https://cve.tuxcare.com/els/cve/. It is important to note that updates may not be present on the system if the underlying packages are not installed. Check if there are security updates available that have not been installed with the following command: $ dnf updateinfo list updates security CLSA-2024:1708029809 Important/Sec. gnutls-3.7.6-21.el9_2.tuxcare.els1.x86_64 CLSA-2024:1708029936 Important/Sec. gnutls-3.7.6-21.el9_2.tuxcare.els2.x86_64 CLSA-2024:1708416911 Important/Sec. libxml2-2.9.13-3.el9_2.1.tuxcare.els1.x86_64 CLSA-2024:1708417063 Moderate/Sec. python3-rpm-4.16.1.3-22.el9.tuxcare.els1.x86_64 CLSA-2024:1708417063 Moderate/Sec. rpm-4.16.1.3-22.el9.tuxcare.els1.x86_64 CLSA-2024:1708417063 Moderate/Sec. rpm-build-libs-4.16.1.3-22.el9.tuxcare.els1.x86_64 CLSA-2024:1708417063 Moderate/Sec. rpm-libs-4.16.1.3-22.el9.tuxcare.els1.x86_64 CLSA-2024:1708417063 Moderate/Sec. rpm-plugin-audit-4.16.1.3-22.el9.tuxcare.els1.x86_64 CLSA-2024:1708417063 Moderate/Sec. rpm-plugin-selinux-4.16.1.3-22.el9.tuxcare.els1.x86_64 CLSA-2024:1708417063 Moderate/Sec. rpm-plugin-systemd-inhibit-4.16.1.3-22.el9.tuxcare.els1.x86_64 CLSA-2024:1708417063 Moderate/Sec. rpm-sign-libs-4.16.1.3-22.el9.tuxcare.els1.x86_64 Typical update frequency may be overridden by Information Assurance Vulnerability Alert (IAVA) notifications from CYBERCOM. If the system is in not compliant with the organizational patching policy, this is a finding.

Fix: F-73227r1049459_fix

Install AlmaLinux OS 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: $ dnf upgrade

b
AlmaLinux OS 9 policycoreutils-python-utils package must be installed.
CM-6 - Medium - CCI-000366 - V-269296 - SV-269296r1050178_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-024440
Vuln IDs
  • V-269296
Rule IDs
  • SV-269296r1050178_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-73327r1049461_chk

Verify that AlmaLinux OS 9 policycoreutils-python-utils service package is installed with the following command: $ dnf list --installed policycoreutils-python-utils policycoreutils-python-utils.noarch 3.5-1.el9 @AppStream If the "policycoreutils-python-utils" package is not installed, this is a finding.

Fix: F-73228r1048265_fix

Install the policycoreutils-python-utils package with the following command: $ dnf install policycoreutils-python-utils

b
AlmaLinux OS 9 must enable the hardware random number generator entropy gatherer service.
CM-6 - Medium - CCI-000366 - V-269297 - SV-269297r1050179_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-024550
Vuln IDs
  • V-269297
Rule IDs
  • SV-269297r1050179_rule
The most important characteristic of a random number generator is its randomness, specifically 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-73328r1049463_chk

Note: For AlmaLinux OS 9 systems running with FIPS mode enabled, this requirement is Not Applicable. Verify that AlmaLinux OS 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-73229r1048268_fix

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

b
AlmaLinux OS 9 must have the rng-tools package installed.
CM-6 - Medium - CCI-000366 - V-269298 - SV-269298r1050180_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-024660
Vuln IDs
  • V-269298
Rule IDs
  • SV-269298r1050180_rule
"rng-tools" provides hardware random number generator tools, such as those used in the formation of x509/PKI certificates.
Checks: C-73329r1049465_chk

Verify that AlmaLinux OS 9 has the rng-tools package installed with the following command: $ dnf list --installed rng-tools rng-tools.x86_64 6.15-3.el9 @baseos If the "rng-tools" package is not installed, this is a finding.

Fix: F-73230r1048271_fix

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

b
The SSH daemon must perform strict mode checking of home directory configuration files.
CM-6 - Medium - CCI-000366 - V-269299 - SV-269299r1050181_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-024770
Vuln IDs
  • V-269299
Rule IDs
  • SV-269299r1050181_rule
If other users have access to modify user-specific SSH configuration files or read keys, they may be able to log into the system as another user.
Checks: C-73330r1048273_chk

Verify the SSH daemon performs strict mode checking of home directory configuration files with the following command: $ sshd -T | grep strictmodes strictmodes yes If the "StrictModes" keyword is set to "no", or no output is returned, this is a finding.

Fix: F-73231r1048274_fix

To configure the SSH daemon to perform strict mode checking of home directory configuration files, add or modify the following line in "/etc/ssh/sshd_config", or uncomment the line and set the value to "yes": StrictModes yes Alternatively, add the setting to an include file if the line "Include /etc/ssh/sshd_config.d/*.conf" is found at the top of the "/etc/ssh/sshd_config" file: $ echo "StrictModes yes" > /etc/ssh/sshd_config.d/strictmodes.conf Restart the SSH daemon for the settings to take effect: $ systemctl restart sshd.service

b
AlmaLinux OS 9 system accounts must not have an interactive login shell.
CM-6 - Medium - CCI-000366 - V-269300 - SV-269300r1050182_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-024990
Vuln IDs
  • V-269300
Rule IDs
  • SV-269300r1050182_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-73331r1048276_chk

Verify that system accounts must 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 sync:5:/bin/sync shutdown:6:/sbin/shutdown halt:7:/sbin/halt mail:8:/sbin/nologin operator:11:/sbin/nologin games:12:/sbin/nologin ftp:14:/sbin/nologin systemd-coredump:999:/sbin/nologin dbus:81:/sbin/nologin polkitd:998:/sbin/nologin tss:59:/sbin/nologin sssd:997:/sbin/nologin unbound:996:/sbin/nologin fapolicyd:995:/sbin/nologin postfix:89:/sbin/nologin sshd:74:/sbin/nologin chrony:994:/sbin/nologin systemd-oom:989:/usr/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-73232r1049468_fix

Configure AlmaLinux OS 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, replacing <user> with the user that has a login shell. $ 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
AlmaLinux OS 9 must use a separate file system for /tmp.
CM-6 - Medium - CCI-000366 - V-269301 - SV-269301r1050183_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-025100
Vuln IDs
  • V-269301
Rule IDs
  • SV-269301r1050183_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-73332r1048279_chk

Verify that a separate file system/partition has been created for "/tmp" with the following command: $ mount | grep ' /tmp ' tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noexec,relatime,seclabel,size=2097152k,inode64) If a separate entry for "/tmp" is not in use, this is a finding.

Fix: F-73233r1048280_fix

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

b
Local AlmaLinux OS 9 initialization files must not execute world-writable programs.
CM-6 - Medium - CCI-000366 - V-269302 - SV-269302r1050184_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-025210
Vuln IDs
  • V-269302
Rule IDs
  • SV-269302r1050184_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-73333r1048282_chk

Verify 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. $ 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-73234r1048283_fix

Set the mode on files being executed by the local initialization files with the following command: $ chmod 0755 <file>

b
AlmaLinux OS 9 must use a separate file system for /var/log.
CM-6 - Medium - CCI-000366 - V-269303 - SV-269303r1050185_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-025320
Vuln IDs
  • V-269303
Rule IDs
  • SV-269303r1050185_rule
Placing "/var/log" in its own partition enables better separation between log files and other files in "/var/".
Checks: C-73334r1048285_chk

Verify that a separate file system/partition has been created for "/var/log" with the following command: $ mount | grep ' /var/log ' /dev/mapper/luks-e0d162f5-fad8-463e-8e39-6bd09e672961 on /var/log type xfs (rw,nosuid,nodev,noexec,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) If a separate entry for "/var/log" is not in use, this is a finding.

Fix: F-73235r1048286_fix

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

b
AlmaLinux OS 9 must use a separate file system for /var.
CM-6 - Medium - CCI-000366 - V-269304 - SV-269304r1050186_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-025430
Vuln IDs
  • V-269304
Rule IDs
  • SV-269304r1050186_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-73335r1048288_chk

Verify that a separate file system/partition has been created for "/var" with the following command: $ mount | grep ' /var ' /dev/mapper/luks-b23d8276-7844-4e79-8a58-505150b6eb42 on /var type xfs (rw,nosuid,nodev,noexec,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) If a separate entry for "/var" is not in use, this is a finding.

Fix: F-73236r1048289_fix

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

b
AlmaLinux OS 9 must use a separate file system for /var/tmp.
CM-6 - Medium - CCI-000366 - V-269305 - SV-269305r1050187_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-025540
Vuln IDs
  • V-269305
Rule IDs
  • SV-269305r1050187_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-73336r1048291_chk

Verify that a separate file system/partition has been created for "/var/tmp" with the following command: $ mount | grep /var/tmp /dev/mapper/luks-0e7206e7-bfb1-4a23-ae14-b9cea7cf76d5 on /var/tmp type xfs (rw,nosuid,nodev,noexec,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) If a separate entry for "/var/tmp" is not in use, this is a finding.

Fix: F-73237r1048292_fix

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

b
AlmaLinux OS 9 must disable virtual system calls.
CM-6 - Medium - CCI-000366 - V-269306 - SV-269306r1050188_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-025650
Vuln IDs
  • V-269306
Rule IDs
  • SV-269306r1050188_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 switch back to userspace after the system call completes. Virtual system calls map a page into userspace 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.
Checks: C-73337r1048294_chk

Verify the current GRUB 2 configuration disables virtual system calls with the following command: $ 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-73238r1048295_fix

Document the use of virtual system calls with the ISSO as an operational requirement, or disable them with the following command: $ 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
AlmaLinux OS 9 must use cron logging.
CM-6 - Medium - CCI-000366 - V-269307 - SV-269307r1050189_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-025760
Vuln IDs
  • V-269307
Rule IDs
  • SV-269307r1050189_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-73338r1048297_chk

Verify that "rsyslog" is configured to log cron events with the following command: Note: If another logging package is used, substitute the utility configuration file for "/etc/rsyslog.conf" or "/etc/rsyslog.d/*.conf" files. $ grep -s cron /etc/rsyslog.conf /etc/rsyslog.d/*.conf /etc/rsyslog.conf:*.info;mail.none;authpriv.none;cron.none /var/log/messages /etc/rsyslog.conf:# Log cron stuff /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-73239r1048298_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: $ systemctl restart rsyslog.service

b
AlmaLinux OS 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-269308 - SV-269308r1050190_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-025870
Vuln IDs
  • V-269308
Rule IDs
  • SV-269308r1050190_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-73339r1049477_chk

Verify that AlmaLinux OS 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 regarding 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. If any modules are being loaded in the "/etc/rsyslog.conf" file or in the "/etc/rsyslog.d" subdirectories, ask to view the documentation for the system being used for log aggregation. If the documentation does not exist or does not specify the server as a log aggregation system, this is a finding.

Fix: F-73240r1049478_fix

Configure AlmaLinux OS 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: $ systemctl restart rsyslog.service

b
AlmaLinux OS 9 must prevent files with the setuid and setgid bit set from being executed on file systems that contain user home directories.
CM-6 - Medium - CCI-000366 - V-269309 - SV-269309r1050191_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
ALMA-09-025980
Vuln IDs
  • V-269309
Rule IDs
  • SV-269309r1050191_rule
The "nosuid" mount option causes the system to not execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for nonprivileged users to attain unauthorized administrative access. Satisfies: SRG-OS-000480-GPOS-00230, SRG-OS-000368-GPOS-00154
Checks: C-73340r1048303_chk

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 /dev/mapper/luks-10a20c46-483d-4d12-831f-5328eda18fd1 on /home type xfs (rw,nosuid,nodev,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) If the "/home" file system is mounted without the "nosuid" option, this is a finding.

Fix: F-73241r1048304_fix

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

b
AlmaLinux OS 9 must prevent device files from being interpreted on file systems that contain user home directories.
CM-7 - Medium - CCI-001764 - V-269310 - SV-269310r1050192_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
ALMA-09-026090
Vuln IDs
  • V-269310
Rule IDs
  • SV-269310r1050192_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-73341r1048306_chk

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 /dev/mapper/luks-10a20c46-483d-4d12-831f-5328eea18fd1 on /home type xfs (rw,nosuid,nodev,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) If the "/home" file system is mounted without the "nodev" option, this is a finding.

Fix: F-73242r1048307_fix

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

b
AlmaLinux OS 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-269311 - SV-269311r1050193_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
ALMA-09-026200
Vuln IDs
  • V-269311
Rule IDs
  • SV-269311r1050193_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-73342r1048309_chk

Note: For systems that use BIOS, this requirement is Not Applicable. Verify the /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,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-73243r1048310_fix

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

b
AlmaLinux OS 9 must mount /boot with the nodev option.
CM-7 - Medium - CCI-001764 - V-269312 - SV-269312r1050194_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
ALMA-09-026310
Vuln IDs
  • V-269312
Rule IDs
  • SV-269312r1050194_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-73343r1048312_chk

Verify that the "/boot" mount point has the "nodev" option is with the following command: $ mount | grep '\s/boot\s' /dev/sda2 on /boot type xfs (rw,nosuid,nodev,noexec,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) If the "/boot" file system does not have the "nodev" option set, this is a finding.

Fix: F-73244r1048313_fix

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

b
AlmaLinux OS 9 must prevent files with the setuid and setgid bit set from being executed on the /boot directory.
CM-7 - Medium - CCI-001764 - V-269313 - SV-269313r1050195_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
ALMA-09-026420
Vuln IDs
  • V-269313
Rule IDs
  • SV-269313r1050195_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-73344r1048315_chk

Verify the /boot directory is mounted with the "nosuid" option with the following command: $ mount | grep '\s/boot\s' /dev/sda2 on /boot type xfs (rw,nosuid,nodev,noexec,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) If the /boot file system does not have the "nosuid" option set, this is a finding.

Fix: F-73245r1048316_fix

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

b
AlmaLinux OS 9 must mount /dev/shm with the nodev option.
CM-7 - Medium - CCI-001764 - V-269314 - SV-269314r1050196_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
ALMA-09-026530
Vuln IDs
  • V-269314
Rule IDs
  • SV-269314r1050196_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-73345r1048318_chk

Verify "/dev/shm" is mounted with the "nodev" option with the following command: $ mount | grep /dev/shm tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,seclabel,size=2097152k,inode64) If the /dev/shm file system is mounted without the "nodev" option, this is a finding.

Fix: F-73246r1048319_fix

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

b
AlmaLinux OS 9 must mount /dev/shm with the noexec option.
CM-7 - Medium - CCI-001764 - V-269315 - SV-269315r1050197_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
ALMA-09-026640
Vuln IDs
  • V-269315
Rule IDs
  • SV-269315r1050197_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-73346r1048321_chk

Verify "/dev/shm" is mounted with the "noexec" option with the following command: $ mount | grep /dev/shm tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,seclabel,size=2097152k,inode64) If the /dev/shm file system is mounted without the "noexec" option, this is a finding.

Fix: F-73247r1048322_fix

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

b
AlmaLinux OS 9 must mount /dev/shm with the nosuid option.
CM-7 - Medium - CCI-001764 - V-269316 - SV-269316r1050198_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
ALMA-09-026750
Vuln IDs
  • V-269316
Rule IDs
  • SV-269316r1050198_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-73347r1048324_chk

Verify "/dev/shm" is mounted with the "nosuid" option with the following command: $ mount | grep /dev/shm tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,seclabel,size=2097152k,inode64) If the /dev/shm file system is mounted without the "noexec" option, this is a finding.

Fix: F-73248r1048325_fix

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

b
AlmaLinux OS 9 must mount /tmp with the nodev option.
CM-7 - Medium - CCI-001764 - V-269317 - SV-269317r1050199_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
ALMA-09-026860
Vuln IDs
  • V-269317
Rule IDs
  • SV-269317r1050199_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-73348r1048327_chk

Verify "/tmp" is mounted with the "nodev" option: $ mount | grep ' /tmp' tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noexec,relatime,seclabel,size=2097152k,inode64) If the "/tmp" file system is mounted without the "nodev" option, this is a finding.

Fix: F-73249r1048328_fix

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

b
AlmaLinux OS 9 must mount /tmp with the noexec option.
CM-7 - Medium - CCI-001764 - V-269318 - SV-269318r1050200_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
ALMA-09-026970
Vuln IDs
  • V-269318
Rule IDs
  • SV-269318r1050200_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-73349r1048330_chk

Verify "/tmp" is mounted with the "noexec" option: $ mount | grep ' /tmp' tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noexec,relatime,seclabel,size=2097152k,inode64) If the "/tmp" file system is mounted without the "noexec" option, this is a finding.

Fix: F-73250r1048331_fix

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

b
AlmaLinux OS 9 must mount /tmp with the nosuid option.
CM-7 - Medium - CCI-001764 - V-269319 - SV-269319r1050201_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
ALMA-09-027080
Vuln IDs
  • V-269319
Rule IDs
  • SV-269319r1050201_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-73350r1048333_chk

Verify "/tmp" is mounted with the "nosuid" option: $ mount | grep ' /tmp' tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noexec,relatime,seclabel,size=2097152k,inode64) If the "/tmp" file system is mounted without the "nosuid" option, this is a finding.

Fix: F-73251r1048334_fix

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

b
AlmaLinux OS 9 must mount /var/log/audit with the nodev option.
CM-7 - Medium - CCI-001764 - V-269320 - SV-269320r1050202_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
ALMA-09-027190
Vuln IDs
  • V-269320
Rule IDs
  • SV-269320r1050202_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-73351r1048336_chk

Verify "/var/log/audit" is mounted with the "nodev" option: $ mount | grep /var/log/audit /dev/mapper/luks-29b74747-2f82-4472-82f5-0b5eb763effc on /var/log/audit type xfs (rw,nosuid,nodev,noexec,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) If the "/var/log/audit" file system is mounted without the "nodev" option, this is a finding.

Fix: F-73252r1048337_fix

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

b
AlmaLinux OS 9 must mount /var/log/audit with the noexec option.
CM-7 - Medium - CCI-001764 - V-269321 - SV-269321r1050203_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
ALMA-09-027300
Vuln IDs
  • V-269321
Rule IDs
  • SV-269321r1050203_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-73352r1048339_chk

Verify "/var/log/audit" is mounted with the "noexec" option: $ mount | grep /var/log/audit /dev/mapper/luks-29b74747-2f82-4472-82f5-0b5eb763effc on /var/log/audit type xfs (rw,nosuid,nodev,noexec,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) If the "/var/log/audit" file system is mounted without the "noexec" option, this is a finding.

Fix: F-73253r1048340_fix

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

b
AlmaLinux OS 9 must mount /var/log/audit with the nosuid option.
CM-7 - Medium - CCI-001764 - V-269322 - SV-269322r1050204_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
ALMA-09-027410
Vuln IDs
  • V-269322
Rule IDs
  • SV-269322r1050204_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-73353r1048342_chk

Verify "/var/log/audit" is mounted with the "nosuid" option: $ mount | grep /var/log/audit /dev/mapper/luks-29b74747-2f82-4472-82f5-0b5eb763effc on /var/log/audit type xfs (rw,nosuid,nodev,noexec,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) If the "/var/log/audit" file system is mounted without the "nosuid" option, this is a finding.

Fix: F-73254r1048343_fix

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

b
AlmaLinux OS 9 must mount /var/log with the nodev option.
CM-7 - Medium - CCI-001764 - V-269323 - SV-269323r1050205_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
ALMA-09-027520
Vuln IDs
  • V-269323
Rule IDs
  • SV-269323r1050205_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-73354r1048345_chk

Verify "/var/log" is mounted with the "nodev" option: $ mount | grep '/var/log ' /dev/mapper/luks-e0d162f5-fad8-463e-8e39-6bd09e672961 on /var/log type xfs (rw,nosuid,nodev,noexec,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) If the "/var/log" file system is mounted without the "nodev" option, this is a finding.

Fix: F-73255r1048346_fix

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

b
AlmaLinux OS 9 must mount /var/log with the noexec option.
CM-7 - Medium - CCI-001764 - V-269324 - SV-269324r1050206_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
ALMA-09-027630
Vuln IDs
  • V-269324
Rule IDs
  • SV-269324r1050206_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-73355r1048348_chk

Verify "/var/log" is mounted with the "noexec" option: $ mount | grep '/var/log ' /dev/mapper/luks-e0d162f5-fad8-463e-8e39-6bd09e672961 on /var/log type xfs (rw,nosuid,nodev,noexec,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) If the "/var/log" file system is mounted without the "noexec" option, this is a finding.

Fix: F-73256r1048349_fix

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

b
AlmaLinux OS 9 must mount /var/log with the nosuid option.
CM-7 - Medium - CCI-001764 - V-269325 - SV-269325r1050207_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
ALMA-09-027740
Vuln IDs
  • V-269325
Rule IDs
  • SV-269325r1050207_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-73356r1048351_chk

Verify "/var/log" is mounted with the "nosuid" option: $ mount | grep '/var/log ' /dev/mapper/luks-e0d162f5-fad8-463e-8e39-6bd09e672961 on /var/log type xfs (rw,nosuid,nodev,noexec,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) If the "/var/log" file system is mounted without the "nosuid" option, this is a finding.

Fix: F-73257r1048352_fix

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

b
AlmaLinux OS 9 must mount /var with the nodev option.
CM-7 - Medium - CCI-001764 - V-269326 - SV-269326r1050208_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
ALMA-09-027850
Vuln IDs
  • V-269326
Rule IDs
  • SV-269326r1050208_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-73357r1048354_chk

Verify "/var" is mounted with the "nodev" option: $ mount | grep ' /var ' /dev/mapper/luks-b23d8276-7844-4e79-8a58-505150b6eb42 on /var type xfs (rw,nosuid,nodev,noexec,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) If the "/var" file system is mounted without the "nodev" option, this is a finding.

Fix: F-73258r1048355_fix

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

b
AlmaLinux OS 9 must mount /var/tmp with the nodev option.
CM-7 - Medium - CCI-001764 - V-269327 - SV-269327r1050209_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
ALMA-09-027960
Vuln IDs
  • V-269327
Rule IDs
  • SV-269327r1050209_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-73358r1048357_chk

Verify "/var/tmp" is mounted with the "nodev" option: $ mount | grep /var/tmp /dev/mapper/luks-0e7206e7-bfb1-4a23-ae14-b9cea7cf76d5 on /var/tmp type xfs (rw,nosuid,nodev,noexec,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) If the "/var/tmp" file system is mounted without the "nodev" option, this is a finding.

Fix: F-73259r1048358_fix

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

b
AlmaLinux OS 9 must mount /var/tmp with the noexec option.
CM-7 - Medium - CCI-001764 - V-269328 - SV-269328r1050210_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
ALMA-09-028070
Vuln IDs
  • V-269328
Rule IDs
  • SV-269328r1050210_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-73359r1048360_chk

Verify "/var/tmp" is mounted with the "noexec" option: $ mount | grep /var/tmp /dev/mapper/luks-0e7206e7-bfb1-4a23-ae14-b9cea7cf76d5 on /var/tmp type xfs (rw,nosuid,nodev,noexec,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) If the "/var/tmp" file system is mounted without the "noexec" option, this is a finding.

Fix: F-73260r1048361_fix

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

b
AlmaLinux OS 9 must mount /var/tmp with the nosuid option.
CM-7 - Medium - CCI-001764 - V-269329 - SV-269329r1050211_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
ALMA-09-028180
Vuln IDs
  • V-269329
Rule IDs
  • SV-269329r1050211_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-73360r1048363_chk

Verify "/var/tmp" is mounted with the "nosuid" option: $ mount | grep /var/tmp /dev/mapper/luks-0e7206e7-bfb1-4a23-ae14-b9cea7cf76d5 on /var/tmp type xfs (rw,nosuid,nodev,noexec,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) If the "/var/tmp" file system is mounted without the "nosuid" option, this is a finding.

Fix: F-73261r1048364_fix

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

b
AlmaLinux OS 9 fapolicy module must be enabled.
CM-7 - Medium - CCI-001774 - V-269330 - SV-269330r1050212_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001774
Version
ALMA-09-028290
Vuln IDs
  • V-269330
Rule IDs
  • SV-269330r1050212_rule
The organization must identify authorized software programs and permit execution of authorized software. The process used to identify software programs that are authorized to execute on organizational information systems is commonly referred to as allowlisting. Utilizing an allowlist provides a configuration management method for allowing the execution of only authorized software. Using only authorized software decreases risk by limiting the number of potential vulnerabilities. Verification of allowlisted software occurs prior to execution or at system startup. User home directories/folders may contain information of a sensitive nature. Nonprivileged users should coordinate any sharing of information with a system administrator (SA) through shared resources. AlmaLinux OS 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.
Checks: C-73361r1049501_chk

Verify that AlmaLinux OS 9 fapolicyd is active with the following command: $ systemctl status fapolicyd fapolicyd.service - File Access Policy Daemon Loaded: loaded (/usr/lib/systemd/system/fapolicyd.service; enabled; preset: disabled) Active: active (running) since Thu 2024-02-08 09:42:05 UTC; 3h 38min ago If fapolicyd module is not active, this is a finding.

Fix: F-73262r1048367_fix

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

b
AlmaLinux OS 9 fapolicy module must be installed.
CM-7 - Medium - CCI-001774 - V-269331 - SV-269331r1050213_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001774
Version
ALMA-09-028400
Vuln IDs
  • V-269331
Rule IDs
  • SV-269331r1050213_rule
The organization must identify authorized software programs and permit execution of authorized software. The process used to identify software programs that are authorized to execute on organizational information systems is commonly referred to as allowlisting. Utilizing an allowlist provides a configuration management method for allowing the execution of only authorized software. Using only authorized software decreases risk by limiting the number of potential vulnerabilities. Verification of allowlisted software occurs prior to execution or at system startup. User home directories/folders may contain information of a sensitive nature. Nonprivileged users should coordinate any sharing of information with a system administrator (SA) through shared resources. AlmaLinux OS 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.
Checks: C-73362r1049503_chk

Verify that AlmaLinux OS 9 fapolicyd package is installed with the following command: $ dnf list --installed fapolicyd Installed Packages fapolicyd.x86_64 1.1.3-104.el9 @AppStream If the "fapolicyd" package is not installed, this is a finding.

Fix: F-73263r1048370_fix

Install the fapolicyd package with the following command: $ dnf install fapolicyd

b
AlmaLinux OS 9 must disable remote management of the chrony daemon.
CM-7 - Medium - CCI-000381 - V-269332 - SV-269332r1050214_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-028510
Vuln IDs
  • V-269332
Rule IDs
  • SV-269332r1050214_rule
Not exposing the management interface of the chrony daemon on the network reduces the attack surface.
Checks: C-73363r1049505_chk

Verify AlmaLinux OS 9 disables remote management of the chrony daemon with the following command: $ chronyd -p | grep -w cmdport cmdport 0 If the "cmdport" option is not set to "0" or is missing, this is a finding.

Fix: F-73264r1049506_fix

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

b
AlmaLinux OS 9 must prevent the chrony daemon from acting as a server.
CM-7 - Medium - CCI-000381 - V-269333 - SV-269333r1050215_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-028620
Vuln IDs
  • V-269333
Rule IDs
  • SV-269333r1050215_rule
Being able to determine the system time of a server can be useful information for various attacks from timebomb attacks to location discovery based on time zone. Minimizing the exposure of the server functionality of the chrony daemon reduces the attack surface.
Checks: C-73364r1049508_chk

Verify AlmaLinux OS 9 disables the chrony daemon from acting as a server with the following command: $ chronyd -p | grep -w port port 0 If the "port" option is not set to "0" or is missing, this is a finding.

Fix: F-73265r1049509_fix

Configure AlmaLinux OS 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

b
AlmaLinux OS 9 must not have the iprutils package installed.
CM-7 - Medium - CCI-000381 - V-269334 - SV-269334r1050216_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-028730
Vuln IDs
  • V-269334
Rule IDs
  • SV-269334r1050216_rule
The iprutils package provides a suite of utilities to manage and configure SCSI devices supported by the ipr SCSI storage device driver.
Checks: C-73365r1048378_chk

Verify that the iprutils package is not 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-73266r1048379_fix

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

b
AlmaLinux OS 9 must not have the quagga package installed.
CM-7 - Medium - CCI-000381 - V-269335 - SV-269335r1050217_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-028840
Vuln IDs
  • V-269335
Rule IDs
  • SV-269335r1050217_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-73366r1048381_chk

Verify that the quagga package is not 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-73267r1048382_fix

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

b
AlmaLinux OS 9 must not have the sendmail package installed.
CM-7 - Medium - CCI-000381 - V-269336 - SV-269336r1050218_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-028950
Vuln IDs
  • V-269336
Rule IDs
  • SV-269336r1050218_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-73367r1048384_chk

Verify that the sendmail package is not 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-73268r1048385_fix

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

b
AlmaLinux OS 9 must not have the telnet-server package installed.
CM-7 - Medium - CCI-000381 - V-269337 - SV-269337r1050219_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-029060
Vuln IDs
  • V-269337
Rule IDs
  • SV-269337r1050219_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-73368r1048387_chk

Verify that the telnet-server package is not 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-73269r1048388_fix

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

b
AlmaLinux OS 9 must not have a Trivial File Transfer Protocol (TFTP) client package installed.
CM-7 - Medium - CCI-000381 - V-269338 - SV-269338r1050220_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-029170
Vuln IDs
  • V-269338
Rule IDs
  • SV-269338r1050220_rule
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-73369r1048390_chk

Verify that the tftp package is not installed with the following command: $ dnf list --installed tftp If the "tftp" package is installed, this is a finding.

Fix: F-73270r1048391_fix

Remove the tftp package with the following command: $ dnf remove tftp

b
AlmaLinux OS 9 must not have the cups package installed.
CM-7 - Medium - CCI-000381 - V-269339 - SV-269339r1050221_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-029390
Vuln IDs
  • V-269339
Rule IDs
  • SV-269339r1050221_rule
The cups package provides printer drivers as well as a print server, webserver, and discovery mechanisms. Removing the package reduces the potential attack surface.
Checks: C-73370r1048393_chk

Verify that the cups package is not installed with the following command: $ dnf list –installed cups Error: No matching Packages to list If the "cups" package is installed, this is a finding.

Fix: F-73271r1048394_fix

Remove the cups package with the following command: $ dnf remove cups

b
AlmaLinux OS 9 must not have the gssproxy package installed.
CM-7 - Medium - CCI-000381 - V-269340 - SV-269340r1050222_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-029500
Vuln IDs
  • V-269340
Rule IDs
  • SV-269340r1050222_rule
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-73371r1048396_chk

Verify that the gssproxy package is not 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-73272r1048397_fix

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

b
AlmaLinux OS 9 must disable the Asynchronous Transfer Mode (ATM) kernel module.
CM-7 - Medium - CCI-000381 - V-269341 - SV-269341r1050223_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-029610
Vuln IDs
  • V-269341
Rule IDs
  • SV-269341r1050223_rule
The ATM is a transport layer protocol designed for digital transmission of multiple types of traffic, including telephony (voice), data, and video signals, in one network without the use of separate overlay networks. Disabling ATM protects the system against exploitation of any flaws in its implementation.
Checks: C-73372r1049518_chk

Verify that AlmaLinux OS 9 disables the ability to load the atm kernel module with the following command: $ grep -r atm /etc/modprobe.conf /etc/modprobe.d/* /etc/modprobe.d/atm.conf:install atm /bin/false /etc/modprobe.d/atm.conf: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-73273r1048400_fix

To configure the system to prevent the atm kernel module from being loaded, run the following command: $ cat << EOF | tee /etc/modprobe.d/atm.conf install atm /bin/false blacklist atm EOF

b
AlmaLinux OS 9 must be configured to disable Bluetooth.
CM-7 - Medium - CCI-000381 - V-269342 - SV-269342r1050224_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-029720
Vuln IDs
  • V-269342
Rule IDs
  • SV-269342r1050224_rule
This requirement applies to wireless peripheral technologies (e.g., wireless mice, keyboards, displays, etc.) used with AlmaLinux OS 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 AlmaLinux OS 9 operating system.
Checks: C-73373r1049520_chk

Verify that AlmaLinux OS 9 disables the ability to load the Bluetooth kernel module with the following command: $ grep -r bluetooth /etc/modprobe.conf /etc/modprobe.d/* /etc/modprobe.d/bluetooth.conf:install bluetooth /bin/false /etc/modprobe.d/bluetooth.conf: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-73274r1048403_fix

To configure the system to prevent the Bluetooth kernel module from being loaded, run the following command: $ cat << EOF | tee /etc/modprobe.d/bluetooth.conf install bluetooth /bin/false blacklist bluetooth EOF

b
AlmaLinux OS 9 must disable the Controller Area Network (CAN) kernel module.
CM-7 - Medium - CCI-000381 - V-269343 - SV-269343r1050225_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-029830
Vuln IDs
  • V-269343
Rule IDs
  • SV-269343r1050225_rule
The CAN protocol is a robust vehicle bus standard designed to allow microcontrollers and devices to communicate with each other's applications without a host computer. Disabling CAN protects the system against exploitation of any flaws in its implementation.
Checks: C-73374r1049522_chk

Verify that AlmaLinux OS 9 disables the ability to load the can kernel module with the following command: $ grep -r can /etc/modprobe.conf /etc/modprobe.d/* /etc/modprobe.d/can.conf:install can /bin/false /etc/modprobe.d/can.conf: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-73275r1048406_fix

To configure the system to prevent the can kernel module from being loaded, run the following command: $ cat << EOF | tee /etc/modprobe.d/can.conf install can /bin/false blacklist can EOF

b
AlmaLinux OS 9 must disable mounting of cramfs.
CM-7 - Medium - CCI-000381 - V-269344 - SV-269344r1050226_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-029940
Vuln IDs
  • V-269344
Rule IDs
  • SV-269344r1050226_rule
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-73375r1049524_chk

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

Fix: F-73276r1048409_fix

To configure the system to prevent the cramfs kernel module from being loaded, create a *.conf file in /etc/modprobe.d/ with the following content: install cramfs /bin/false blacklist cramfs

b
AlmaLinux OS 9 must disable the Stream Control Transmission Protocol (SCTP) kernel module.
CM-7 - Medium - CCI-000381 - V-269345 - SV-269345r1050227_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-030050
Vuln IDs
  • V-269345
Rule IDs
  • SV-269345r1050227_rule
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-73376r1049526_chk

Verify that AlmaLinux OS 9 disables the ability to load the SCTP kernel module with the following command: $ grep -r sctp /etc/modprobe.conf /etc/modprobe.d/* /etc/modprobe.d/sctp.conf:install sctp /bin/false /etc/modprobe.d/sctp.conf: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-73277r1048412_fix

To configure the system to prevent the SCTP kernel module from being loaded, run the following command: $ cat << EOF | tee /etc/modprobe.d/sctp.conf install sctp /bin/false blacklist sctp EOF

b
AlmaLinux OS 9 must disable mounting of squashfs.
CM-7 - Medium - CCI-000381 - V-269346 - SV-269346r1050228_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-030160
Vuln IDs
  • V-269346
Rule IDs
  • SV-269346r1050228_rule
Removing support for unneeded filesystem types reduces the local attack surface of the server. A squashfs compressed filesystem image can be mounted without first decompressing the image. Note that Snap packages use squashfs.
Checks: C-73377r1049528_chk

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

Fix: F-73278r1048415_fix

To configure the system to prevent the squashfs kernel module from being loaded, create a *.conf file in /etc/modprobe.d/ with the following content: install squashfs /bin/false blacklist squashfs

b
AlmaLinux OS 9 must disable the Transparent Inter Process Communication (TIPC) kernel module.
CM-7 - Medium - CCI-000381 - V-269347 - SV-269347r1050229_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-030270
Vuln IDs
  • V-269347
Rule IDs
  • SV-269347r1050229_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-73378r1049530_chk

Verify that AlmaLinux OS 9 disables the ability to load the TIPC kernel module with the following command: $ grep -r tipc /etc/modprobe.conf /etc/modprobe.d/* /etc/modprobe.d/tipc.conf:install tipc /bin/false /etc/modprobe.d/tipc.conf: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-73279r1048418_fix

To configure the system to prevent the TIPC kernel module from being loaded, run the following command: $ cat << EOF | tee /etc/modprobe.d/tipc.conf install tipc /bin/false blacklist tipc EOF

b
AlmaLinux OS 9 must disable mounting of udf.
CM-7 - Medium - CCI-000381 - V-269348 - SV-269348r1050230_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-030380
Vuln IDs
  • V-269348
Rule IDs
  • SV-269348r1050230_rule
Removing support for unneeded filesystem types reduces the local attack surface of the server. The UDF filesystem is used to write DVDs and so could assist in data exfiltration, the so-called "sneakernet". Note that Microsoft Azure uses UDF.
Checks: C-73379r1049532_chk

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

Fix: F-73280r1048421_fix

To configure the system to prevent the udf kernel module from being loaded, create a *.conf file in /etc/modprobe.d/ with the following content: install udf /bin/false blacklist udf

b
Cameras must be disabled or covered when not in use.
CM-7 - Medium - CCI-000381 - V-269349 - SV-269349r1050232_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-030490
Vuln IDs
  • V-269349
Rule IDs
  • SV-269349r1050232_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 from collaborative computing devices (i.e., cameras) can result in subsequent compromises of organizational information. Providing easy methods to physically disconnect from such devices after a collaborative computing session helps to ensure participants actually carry out the disconnect activity without having to go through complex and tedious procedures; it also ensures that microphones built into the cameras are also disabled.
Checks: C-73380r1050231_chk

Verify the operating system disables the ability to load the uvcvideo kernel module: $ grep -r uvcvideo /etc/modprobe.conf /etc/modprobe.d/* /etc/modprobe.d/uvcvideo.conf:install uvcvideo /bin/false /etc/modprobe.d/uvcvideo.conf:blacklist uvcvideo If the command does not return any output, or either line is commented out, and the collaborative computing device has not been authorized for use, this is a finding. If a built-in camera is not protected with a cover or is not physically disabled, this is a finding. For an external camera, if there is not a method for the operator to manually disconnect the camera (e.g., unplug, power off) at the end of collaborative computing sessions, this is a finding. If the device or operating system does not have a camera installed, this requirement is not applicable.

Fix: F-73281r1048424_fix

To configure the system to prevent the uvcvideo kernel module from being loaded, run the following command: $ cat << EOF | tee /etc/modprobe.d/uvcvideo.conf install uvcvideo /bin/false blacklist uvcvideo EOF

b
AlmaLinux OS 9 must not have the nfs-utils package installed.
CM-7 - Medium - CCI-000381 - V-269350 - SV-269350r1050233_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-030600
Vuln IDs
  • V-269350
Rule IDs
  • SV-269350r1050233_rule
"nfs-utils" provides a daemon for the kernel Network File System (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 NFS server on the remote host. For example, "showmount" can display the clients that are mounted on that host.
Checks: C-73381r1048426_chk

Verify that the nfs-utils package is not 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-73282r1048427_fix

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

b
AlmaLinux OS 9 must not have the rsh package installed.
CM-7 - Medium - CCI-000381 - V-269351 - SV-269351r1050234_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-030710
Vuln IDs
  • V-269351
Rule IDs
  • SV-269351r1050234_rule
The "rsh" package provides a client for several obsolete and insecure network services. Removing it decreases the risk of accidental (or intentional) use of those services.
Checks: C-73382r1048429_chk

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

Fix: F-73283r1048430_fix

Remove the rsh package with the following command: $ dnf remove rsh

b
AlmaLinux OS 9 must not have the rsh-server package installed.
CM-7 - Medium - CCI-000381 - V-269352 - SV-269352r1050235_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-030820
Vuln IDs
  • V-269352
Rule IDs
  • SV-269352r1050235_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-73383r1048432_chk

Verify that the rsh-server package is not 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-73284r1048433_fix

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

b
AlmaLinux OS 9 must not have the tuned package installed.
CM-7 - Medium - CCI-000381 - V-269353 - SV-269353r1050236_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-030930
Vuln IDs
  • V-269353
Rule IDs
  • SV-269353r1050236_rule
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-73384r1048435_chk

Verify that the tuned package is not 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-73285r1048436_fix

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

b
A graphical display manager must not be installed on AlmaLinux OS 9 unless approved.
CM-7 - Medium - CCI-000381 - V-269354 - SV-269354r1050237_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-031040
Vuln IDs
  • V-269354
Rule IDs
  • SV-269354r1050237_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-73385r1048438_chk

Verify that a graphical user interface is not installed with the following command: $ dnf list --installed "xorg-x11-server-common" Error: No matching Packages to list If the "xorg-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-73286r1048439_fix

Document the requirement for a graphical user interface with the ISSO or 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: $ 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. $ dnf remove "xorg*" $ systemctl set-default multi-user.target

b
AlmaLinux OS 9 must not have the ypserv package installed.
CM-7 - Medium - CCI-000381 - V-269355 - SV-269355r1050238_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-031150
Vuln IDs
  • V-269355
Rule IDs
  • SV-269355r1050238_rule
The NIS service provides an unencrypted authentication service, which does not provide for the confidentiality and integrity of user passwords or the remote session. Removing the "ypserv" package decreases the risk of the accidental (or intentional) activation of NIS or NIS+ services.
Checks: C-73386r1048441_chk

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

Fix: F-73287r1048442_fix

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

b
AlmaLinux OS 9 must not have the avahi package installed.
CM-7 - Medium - CCI-000381 - V-269356 - SV-269356r1050239_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-031260
Vuln IDs
  • V-269356
Rule IDs
  • SV-269356r1050239_rule
The avahi package provides the zeroconf capability to discover remote services such as printers and announce itself as a service for sharing files and devices.
Checks: C-73387r1048444_chk

Verify that the avahi package is not installed with the following command: $ dnf list –installed avahi Error: No matching Packages to list If the "avahi" package is installed, this is a finding.

Fix: F-73288r1048445_fix

Remove the avahi package with the following command: $ dnf remove avahi

b
AlmaLinux OS 9 must be configured to disable USB mass storage.
CM-7 - Medium - CCI-000381 - V-269357 - SV-269357r1050240_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
ALMA-09-031370
Vuln IDs
  • V-269357
Rule IDs
  • SV-269357r1050240_rule
USB mass storage permits easy introduction of unknown devices, thereby facilitating malicious activity. Satisfies: SRG-OS-000095-GPOS-00049, SRG-OS-000378-GPOS-00163, SRG-OS-000114-GPOS-00059, SRG-OS-000690-GPOS-00140
Checks: C-73388r1049542_chk

Verify that AlmaLinux OS 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/* /etc/modprobe.d/usb-storage.conf:install usb-storage /bin/false /etc/modprobe.d/usb-storage.conf: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-73289r1048448_fix

To configure the system to prevent the usb-storage kernel module from being loaded, run the following command: $ cat << EOF | tee /etc/modprobe.d/usb-storage.conf install usb-storage /bin/false blacklist usb-storage EOF

b
AlmaLinux OS 9 must have the firewalld package installed.
CM-7 - Medium - CCI-000382 - V-269358 - SV-269358r1050241_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000382
Version
ALMA-09-031700
Vuln IDs
  • V-269358
Rule IDs
  • SV-269358r1050241_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. AlmaLinux OS 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-000298-GPOS-00116, SRG-OS-000297-GPOS-00115
Checks: C-73389r1048450_chk

Verify that the firewalld package is installed with the following command: $ dnf list --installed firewalld Installed Packages firewalld.noarch 1.2.1-1.el9 @anaconda If the "firewalld" package is not installed, this is a finding.

Fix: F-73290r1048451_fix

Install the "firewalld" package using the following command: $ dnf install firewalld

b
AlmaLinux OS 9 must require users to provide authentication for privilege escalation.
AC-6 - Medium - CCI-002234 - V-269359 - SV-269359r1050242_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-002234
Version
ALMA-09-031920
Vuln IDs
  • V-269359
Rule IDs
  • SV-269359r1050242_rule
Without re-authentication, users may access resources or perform tasks for which they do not have authorization. When operating systems provide the capability to escalate a functional capability, it is critical the user re-authenticate.
Checks: C-73390r1048453_chk

Verify that "/etc/sudoers" has no occurrences of "!authenticate" with the following command: $ grep '!authenticate' /etc/sudoers /etc/sudoers.d/* If any occurrences of "!authenticate" are returned, this is a finding.

Fix: F-73291r1049545_fix

Configure AlmaLinux OS 9 to not allow users to execute privileged actions without authenticating. Remove any occurrence of "!authenticate" found in the "/etc/sudoers" file or files in the "/etc/sudoers.d" directory with the following command: $ sed -i '/\!authenticate/ s/^/# /g' /etc/sudoers /etc/sudoers.d/*

b
AlmaLinux OS 9 must require users to provide a password for privilege escalation.
AC-6 - Medium - CCI-002234 - V-269360 - SV-269360r1050243_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-002234
Version
ALMA-09-032030
Vuln IDs
  • V-269360
Rule IDs
  • SV-269360r1050243_rule
Without re-authentication, users may access resources or perform tasks for which they do not have authorization. When operating systems provide the capability to escalate a functional capability, it is critical the user re-authenticate.
Checks: C-73391r1048456_chk

Verify that the sudo configuration files have no occurrences of "NOPASSWD" with the following command: $ grep NOPASSWD /etc/sudoers /etc/sudoers.d/* If any occurrences of "NOPASSWD" are returned from the command and have not been documented with the information systems security officer (ISSO) as an organizationally defined administrative group using multifactor authentication (MFA), this is a finding.

Fix: F-73292r1049547_fix

Configure AlmaLinux OS 9 to not allow users to execute privileged actions without authenticating with a password. Remove any occurrence of "NOPASSWD" found in the "/etc/sudoers" file or files in the "/etc/sudoers.d" directory using the following command: $ sed -i '/NOPASSWD/ s/^/# /g' /etc/sudoers /etc/sudoers.d/*

b
AlmaLinux OS 9 must not be configured to bypass password requirements for privilege escalation.
AC-6 - Medium - CCI-002234 - V-269361 - SV-269361r1050244_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-002234
Version
ALMA-09-032140
Vuln IDs
  • V-269361
Rule IDs
  • SV-269361r1050244_rule
Without re-authentication, users may access resources or perform tasks for which they do not have authorization. When operating systems provide the capability to escalate a functional capability, it is critical the user re-authenticate.
Checks: C-73392r1048459_chk

Verify the operating system 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-73293r1048460_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
AlmaLinux OS 9 must require reauthentication when using the "sudo" command.
AC-6 - Medium - CCI-002234 - V-269362 - SV-269362r1050245_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-002234
Version
ALMA-09-032250
Vuln IDs
  • V-269362
Rule IDs
  • SV-269362r1050245_rule
Without re-authentication, users may access resources or perform tasks for which they do not have authorization. When operating systems provide the capability to escalate a functional capability, it is critical the user re-authenticate.
Checks: C-73393r1049550_chk

Verify AlmaLinux OS 9 requires reauthentication when using the "sudo" command to elevate privileges with the following command: $ grep timestamp_timeout /etc/sudoers /etc/sudoers.d/* /etc/sudoers.d/01_stig:Defaults timestamp_timeout=0 If "timestamp_timeout" is set to a negative number, is commented out, conflicting results or no results are returned, this is a finding.

Fix: F-73294r1049551_fix

Configure AlmaLinux OS 9 to reauthenticate "sudo" commands after the specified timeout: Add the following line to "/etc/sudoers" or a file within "/etc/sudoers.d/": Defaults timestamp_timeout=0

b
AlmaLinux OS 9 must restrict the use of the "su" command.
- Medium - CCI-004045 - V-269363 - SV-269363r1050246_rule
RMF Control
Severity
Medium
CCI
CCI-004045
Version
ALMA-09-032470
Vuln IDs
  • V-269363
Rule IDs
  • SV-269363r1050246_rule
The "su" program provides a "switch user" capability. It is commonly used to become root but can be used to switch to any user. Limiting access to such commands is considered a good security practice. Satisfies: SRG-OS-000109-GPOS-00056, SRG-OS-000312-GPOS-00124, SRG-OS-000312-GPOS-00122, SRG-OS-000312-GPOS-00123
Checks: C-73394r1049553_chk

Verify that AlmaLinux OS 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-73295r1049554_fix

Configure AlmaLinux OS 9 to require users to be in the "wheel" group to run "su" command. In the "/etc/pam.d/su" file, uncomment the "pam_wheel.so" line as per the instructions in the file: # Uncomment the following line to require a user to be in the "wheel" group. #auth required pam_wheel.so use_uid If necessary, create a "wheel" group and add administrative users to the group.

b
Groups must have unique Group IDs (GIDs).
IA-2 - Medium - CCI-000764 - V-269364 - SV-269364r1050247_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000764
Version
ALMA-09-032910
Vuln IDs
  • V-269364
Rule IDs
  • SV-269364r1050247_rule
To ensure accountability and prevent unauthenticated access, organizational users must be identified and authenticated to prevent potential misuse and compromise of the system. Organizational users include organizational employees or individuals the organization deems to have equivalent status of employees (e.g., contractors). Organizational users (and processes acting on behalf of users) must be uniquely identified and authenticated to all accesses, except for the following: 1) Accesses explicitly identified and documented by the organization. Organizations document specific user actions that can be performed on the information system without identification or authentication; and 2) Accesses that occur through authorized use of group authenticators without individual authentication. Organizations may require unique identification of individuals in group accounts (e.g., shared privilege accounts) or for detailed accountability of individual activity.
Checks: C-73395r1049556_chk

Verify that AlmaLinux OS 9 contains no duplicate GIDs with the following command: $ cut -f3 -d":" /etc/group | uniq -d If the system has duplicate GIDs, this is a finding.

Fix: F-73296r1048469_fix

Provide each group that has a duplicate GID with a unique GID using the "groupmod" command, for example: $ groupmod -g 1002 mygroup

b
Duplicate User IDs (UIDs) must not exist for interactive users.
IA-2 - Medium - CCI-000764 - V-269365 - SV-269365r1050248_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000764
Version
ALMA-09-033020
Vuln IDs
  • V-269365
Rule IDs
  • SV-269365r1050248_rule
To ensure accountability and prevent unauthenticated access, organizational users must be identified and authenticated to prevent potential misuse and compromise of the system. Organizational users include organizational employees or individuals the organization deems to have equivalent status of employees (e.g., contractors). Organizational users (and processes acting on behalf of users) must be uniquely identified and authenticated to all accesses, except for the following: 1) Accesses explicitly identified and documented by the organization. Organizations document specific user actions that can be performed on the information system without identification or authentication; and 2) Accesses that occur through authorized use of group authenticators without individual authentication. Organizations may require unique identification of individuals in group accounts (e.g., shared privilege accounts) or for detailed accountability of individual activity. Satisfies: SRG-OS-000104-GPOS-00051, SRG-OS-000121-GPOS-00062
Checks: C-73396r1049558_chk

Verify that AlmaLinux OS 9 contains no duplicate UIDs for interactive users with the following command: $ cut -f3 -d":" /etc/passwd | uniq -d If output is produced and the UIDs listed are for interactive user accounts, this is a finding.

Fix: F-73297r1048472_fix

Provide each interactive user that has a duplicate UID with a unique UID using the "usermod" command, for example: $ usermod -u 1002 myuser

b
All AlmaLinux OS 9 interactive users must have a primary group that exists.
IA-2 - Medium - CCI-000764 - V-269366 - SV-269366r1050249_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000764
Version
ALMA-09-033130
Vuln IDs
  • V-269366
Rule IDs
  • SV-269366r1050249_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-73397r1049560_chk

Verify that all AlmaLinux OS 9 interactive users have a valid GID with the following command: $ pwck -r /etc/passwd If the system has any interactive users with a nonexistent primary group, this is a finding.

Fix: F-73298r1048475_fix

Configure the system so that all GIDs referenced in "/etc/passwd" are defined in "/etc/group".

b
AlmaLinux OS 9 SSHD must accept public key authentication.
IA-2 - Medium - CCI-000765 - V-269367 - SV-269367r1050250_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000765
Version
ALMA-09-033240
Vuln IDs
  • V-269367
Rule IDs
  • SV-269367r1050250_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. 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 CAC with DOD-approved PKI is an example of multifactor authentication.
Checks: C-73398r1049562_chk

Note: If the system administrator (SA) demonstrates the use of an approved alternate multifactor authentication method, this requirement is Not Applicable. Verify that AlmaLinux OS 9 SSH daemon accepts public key encryption with the following command: $ sshd -T | grep -i pubkeyauthentication pubkeyauthentication yes If "PubkeyAuthentication" is set to no, or the line is missing, this is a finding.

Fix: F-73299r1048478_fix

Configure the SSH daemon to accept public key encryption. Add the following line to "/etc/ssh/sshd_config", or uncomment the line and set the value to "yes": PubkeyAuthentication yes Alternatively, add the setting to an include file if the line "Include /etc/ssh/sshd_config.d/*.conf" is found at the top of the "/etc/ssh/sshd_config" file: $ cat << EOF | tee /etc/ssh/sshd_config.d/pubkey.conf PubkeyAuthentication yes EOF Restart the SSH daemon for the settings to take effect: $ systemctl restart sshd.service

b
AlmaLinux OS 9 must have the opensc package installed.
- Medium - CCI-004046 - V-269368 - SV-269368r1050614_rule
RMF Control
Severity
Medium
CCI
CCI-004046
Version
ALMA-09-033350
Vuln IDs
  • V-269368
Rule IDs
  • SV-269368r1050614_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). This requires further clarification from NIST.
Checks: C-73399r1049564_chk

Verify that AlmaLinux OS 9 has the opensc package installed with the following command: $ dnf list --installed opensc Installed Packages opensc.x86_64 0.22.0-2.el9 @anaconda If the "opensc" package is not installed, this is a finding.

Fix: F-73300r1048481_fix

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

b
The pcscd socket on AlmaLinux OS 9 must be active.
- Medium - CCI-004046 - V-269369 - SV-269369r1050615_rule
RMF Control
Severity
Medium
CCI
CCI-004046
Version
ALMA-09-033460
Vuln IDs
  • V-269369
Rule IDs
  • SV-269369r1050615_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). This requires further clarification from NIST.
Checks: C-73400r1048483_chk

Verify that the "pcscd" socket is active with the following command: $ systemctl status pcscd.socket pcscd.socket - PC/SC Smart Card Daemon Activation Socket Loaded: loaded (/usr/lib/systemd/system/pcscd.socket; enabled; preset: enabled) Active: active (listening) since Thu 2024-04-11 16:03:24 BST; 2 weeks 3 days ago Triggers: pcscd.service Listen: /run/pcscd/pcscd.comm (Stream) CGroup: /system.slice/pcscd.socket If the pcscd.socket is not active, this is a finding.

Fix: F-73301r1048484_fix

To enable pcscd run the following command: $ systemctl enable --now pcscd.socket $ systemctl enable --now pcscd.service The pcscd service will be enabled when software tries to access the socket.

b
AlmaLinux OS 9 must have the pcsc-lite package installed.
- Medium - CCI-004046 - V-269370 - SV-269370r1050616_rule
RMF Control
Severity
Medium
CCI
CCI-004046
Version
ALMA-09-033570
Vuln IDs
  • V-269370
Rule IDs
  • SV-269370r1050616_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). This requires further clarification from NIST.
Checks: C-73401r1049567_chk

Note: If the System Administrator demonstrates the use of an approved alternate multifactor authentication method, this requirement is Not Applicable. Verify that AlmaLinux OS 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 @anaconda If the "pcsc-lite" package is not installed, this is a finding.

Fix: F-73302r1048487_fix

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

b
AlmaLinux OS 9 must implement certificate status checking for multifactor authentication.
- Medium - CCI-004046 - V-269371 - SV-269371r1050254_rule
RMF Control
Severity
Medium
CCI
CCI-004046
Version
ALMA-09-033680
Vuln IDs
  • V-269371
Rule IDs
  • SV-269371r1050254_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. AlmaLinux OS 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.
Checks: C-73402r1048489_chk

Note: If the system administrator (SA) demonstrates the use of an approved alternate multifactor authentication method, this requirement is Not Applicable. Verify the operating system implements Online Certificate Status Protocol (OCSP) and is using the proper digest value on the system with the following command: $ grep certificate_verification /etc/sssd/sssd.conf /etc/sssd/conf.d/*.conf /etc/sssd/conf.d/certificate_verification.conf: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-73303r1048490_fix

Edit the file "/etc/sssd/sssd.conf" or a "*.conf" file within the "/etc/sssd/conf.d/" directory and add or edit the following line within the [sssd] section: certificate_verification = ocsp_dgst=sha512

b
AlmaLinux OS 9 must enable certificate based smart card authentication.
- Medium - CCI-004046 - V-269372 - SV-269372r1050617_rule
RMF Control
Severity
Medium
CCI
CCI-004046
Version
ALMA-09-033790
Vuln IDs
  • V-269372
Rule IDs
  • SV-269372r1050617_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). This requires further clarification from NIST. Satisfies: SRG-OS-000375-GPOS-00160, SRG-OS-000105-GPOS-00052, SRG-OS-000705-GPOS-00150
Checks: C-73403r1049570_chk

Note: If the System Administrator demonstrates the use of an approved alternate multifactor authentication method, this requirement is Not Applicable. Verify that AlmaLinux OS 9 has smart cards are enabled in System Security Services Daemon (SSSD), run the following command: $ grep pam_cert_auth /etc/sssd/sssd.conf /etc/sssd/conf.d/*.conf /etc/sssd/conf.d/certificate_verification.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-73304r1048493_fix

Edit the file "/etc/sssd/sssd.conf" or a "*.conf" file within the "/etc/sssd/conf.d/" directory and add or edit the following line within the [pam] section: pam_cert_auth = True

b
AlmaLinux OS 9 must have the openssl-pkcs11 package installed.
IA-2 - Medium - CCI-001954 - V-269373 - SV-269373r1050256_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-001954
Version
ALMA-09-034010
Vuln IDs
  • V-269373
Rule IDs
  • SV-269373r1050256_rule
The use of PIV credentials facilitates standardization and reduces the risk of unauthorized access. DOD has mandated the use of the 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-000377-GPOS-00162, SRG-OS-000376-GPOS-00161, SRG-OS-000375-GPOS-00160, SRG-OS-000105-GPOS-00052
Checks: C-73404r1049572_chk

Note: If the System Administrator demonstrates the use of an approved alternate multifactor authentication method, this requirement is Not Applicable. Verify that AlmaLinux OS 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-7.el9 @baseos If the "openssl-pkcs11" package is not installed, this is a finding.

Fix: F-73305r1048496_fix

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

b
AlmaLinux OS 9 SSHD must not allow blank passwords.
IA-2 - Medium - CCI-000766 - V-269374 - SV-269374r1050257_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000766
Version
ALMA-09-034120
Vuln IDs
  • V-269374
Rule IDs
  • SV-269374r1050257_rule
If an account has an empty password, anyone could log on and run commands with the privileges of that account. Accounts with empty passwords should never be used in operational environments. Satisfies: SRG-OS-000106-GPOS-00053, SRG-OS-000108-GPOS-00055
Checks: C-73405r1049574_chk

Verify AlmaLinux OS 9 remote access using SSH prevents logging on with a blank password with the following command: $ sshd -T | grep -i permitemptypasswords permitemptypasswords no If "PermitEmptyPasswords" is set to "yes", or the line is missing, this is a finding.

Fix: F-73306r1048499_fix

Configure the SSH daemon to prevent users logging in with blank passwords. Add the following line to "/etc/ssh/sshd_config", or uncomment the line and set the value to "yes": PermitEmptyPasswords no Alternatively, add the setting to an include file if the line "Include /etc/ssh/sshd_config.d/*.conf" is found at the top of the "/etc/ssh/sshd_config" file: $ cat << EOF | tee /etc/ssh/sshd_config.d/emptypasswords.conf PermitEmptyPasswords no EOF Restart the SSH daemon for the settings to take effect: $ systemctl restart sshd.service

b
AlmaLinux OS 9 must use the CAC smart card driver.
IA-2 - Medium - CCI-000765 - V-269375 - SV-269375r1050258_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000765
Version
ALMA-09-034340
Vuln IDs
  • V-269375
Rule IDs
  • SV-269375r1050258_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-000107-GPOS-00054, SRG-OS-000108-GPOS-00055, SRG-OS-000112-GPOS-00057, SRG-OS-000113-GPOS-00058
Checks: C-73406r1049576_chk

Verify that AlmaLinux OS 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-73307r1049577_fix

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

b
AlmaLinux OS 9 must not permit direct logons to the root account using remote access via SSH.
- Medium - CCI-004045 - V-269376 - SV-269376r1050259_rule
RMF Control
Severity
Medium
CCI
CCI-004045
Version
ALMA-09-034780
Vuln IDs
  • V-269376
Rule IDs
  • SV-269376r1050259_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. The root account is a known default username, so should not allow direct login as half of the username/password combination is known, making it vulnerable to brute-force password guessing attacks.
Checks: C-73407r1049579_chk

Verify AlmaLinux OS 9 prevents users from logging on directly as "root" over SSH with the following command: $ sshd -T |grep -I permitrootlogin permitrootlogin no If the "PermitRootLogin" keyword is set to "yes" or "without-password", this is a finding.

Fix: F-73308r1048505_fix

To configure the system to prevent users from logging on directly as root over SSH, add or modify the following line in "/etc/ssh/sshd_config": PermitRootLogin no Alternatively, add the setting to an include file if the line "Include /etc/ssh/sshd_config.d/*.conf" is found at the top of the "/etc/ssh/sshd_config" file: $ echo "PermitRootLogin no" > /etc/ssh/sshd_config.d/root.conf Restart the SSH daemon for the settings to take effect: $ systemctl restart sshd.service

b
AlmaLinux OS 9 must disable the graphical user interface automount function unless required.
IA-3 - Medium - CCI-001958 - V-269377 - SV-269377r1050260_rule
RMF Control
IA-3
Severity
Medium
CCI
CCI-001958
Version
ALMA-09-034890
Vuln IDs
  • V-269377
Rule IDs
  • SV-269377r1050260_rule
Automatically mounting file systems permits easy introduction of unknown devices, thereby facilitating malicious activity. Satisfies: SRG-OS-000378-GPOS-00163, SRG-OS-000114-GPOS-00059
Checks: C-73408r1049581_chk

Note: This requirement assumes the use of the AlmaLinux OS 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 AlmaLinux OS 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-73309r1048508_fix

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

b
AlmaLinux OS 9 must prevent a user from overriding the disabling of the graphical user interface automount function.
IA-3 - Medium - CCI-001958 - V-269378 - SV-269378r1050261_rule
RMF Control
IA-3
Severity
Medium
CCI
CCI-001958
Version
ALMA-09-035000
Vuln IDs
  • V-269378
Rule IDs
  • SV-269378r1050261_rule
Automatically mounting file systems permits easy introduction of unknown devices, thereby facilitating malicious activity. Satisfies: SRG-OS-000378-GPOS-00163, SRG-OS-000114-GPOS-00059
Checks: C-73409r1049583_chk

Note: This requirement assumes the use of the AlmaLinux OS 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 AlmaLinux OS 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-73310r1048511_fix

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

b
AlmaLinux OS 9 must prevent a user from overriding the disabling of the graphical user interface autorun function.
IA-3 - Medium - CCI-001958 - V-269379 - SV-269379r1050262_rule
RMF Control
IA-3
Severity
Medium
CCI
CCI-001958
Version
ALMA-09-035110
Vuln IDs
  • V-269379
Rule IDs
  • SV-269379r1050262_rule
Automatically mounting filesystems and running applications upon insertion of a device facilitates malicious activity. Satisfies: SRG-OS-000378-GPOS-00163, SRG-OS-000114-GPOS-00059
Checks: C-73410r1049585_chk

Note: This requirement assumes the use of the AlmaLinux OS 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 AlmaLinux OS 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-73311r1048514_fix

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

b
AlmaLinux OS 9 must have the USBGuard package installed.
IA-3 - Medium - CCI-001958 - V-269380 - SV-269380r1050263_rule
RMF Control
IA-3
Severity
Medium
CCI
CCI-001958
Version
ALMA-09-035210
Vuln IDs
  • V-269380
Rule IDs
  • SV-269380r1050263_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-73411r1048516_chk

Note: If the system is virtual machine with no virtual or physical USB peripherals attached, this is not a finding. Verify USBGuard is installed on the operating system with the following command: $ dnf list installed usbguard Installed Packages usbguard.x86_64 1.0.0-15.el9 @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-73312r1048517_fix

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

b
AlmaLinux OS 9 must have the USBGuard package enabled.
IA-3 - Medium - CCI-001958 - V-269381 - SV-269381r1050264_rule
RMF Control
IA-3
Severity
Medium
CCI
CCI-001958
Version
ALMA-09-035220
Vuln IDs
  • V-269381
Rule IDs
  • SV-269381r1050264_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-73412r1049588_chk

Note: If the system is virtual machine with no virtual or physical USB peripherals attached, this is not a finding. Verify AlmaLinux OS 9 has USBGuard enabled with the following command: $ systemctl status usbguard usbguard.service - USBGuard daemon Loaded: loaded (/usr/lib/systemd/system/usbguard.service; enabled; preset: disabled) Active: active (running) since Thu 2024-02-08 09:42:05 UTC; 1h 24min ago 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-73313r1048520_fix

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

b
AlmaLinux OS 9 must block unauthorized peripherals before establishing a connection.
IA-3 - Medium - CCI-001958 - V-269382 - SV-269382r1050265_rule
RMF Control
IA-3
Severity
Medium
CCI
CCI-001958
Version
ALMA-09-035440
Vuln IDs
  • V-269382
Rule IDs
  • SV-269382r1050265_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-73413r1048522_chk

Note: If the system is virtual machine with no virtual or physical USB peripherals attached, this is not a finding. Verify the USBGuard has a policy configured with the following command: $ usbguard list-rules 1: allow id 1d6b:0002 serial "0000:03:00.0" name "xHCI Host Controller" with-interface 09:00:00 with-connect-type "" 2: allow id 1d6b:0003 serial "0000:03:00.0" name "xHCI Host Controller" with-interface 09:00:00 with-connect-type "" 3: allow id 0627:0001 serial "28754-0000:00:02.2:00.0-1" name "QEMU USB Tablet" with-interface 03:00:00 with-connect-type "unknown" 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-73314r1048523_fix

Configure the operating system to enable the blocking of unauthorized peripherals with the following command: Note: This command will create an allow list for any USB devices currently connect to the system. $ usbguard generate-policy --no-hashes | tee /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
AlmaLinux OS 9 must not have the autofs package installed.
IA-3 - Medium - CCI-001967 - V-269383 - SV-269383r1050266_rule
RMF Control
IA-3
Severity
Medium
CCI
CCI-001967
Version
ALMA-09-035550
Vuln IDs
  • V-269383
Rule IDs
  • SV-269383r1050266_rule
Without authenticating devices, unidentified or unknown devices may be introduced, thereby facilitating malicious activity. Bidirectional authentication provides stronger safeguards to validate the identity of other devices for connections that are of greater risk. Bidirectional authentication solutions include, but are not limited to, IEEE 802.1x and Extensible Authentication Protocol (EAP), RADIUS server with EAP-Transport Layer Security (TLS) authentication, Kerberos, and SSL mutual authentication. A local connection is any connection with a device communicating without the use of a network. A network connection is any connection with a device that communicates through a network (e.g., local area network, wide area network, or the internet). A remote connection is any connection with a device communicating through an external network (e.g., the internet). Because of the challenges of applying this requirement on a large scale, organizations are encouraged to only apply this requirement to those limited number (and type) of devices that truly need to support this capability. Satisfies: SRG-OS-000379-GPOS-00164, SRG-OS-000114-GPOS-00059
Checks: C-73414r1048525_chk

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

Fix: F-73315r1048526_fix

Remove the autofs package with the following command: $ dnf remove autofs

b
AlmaLinux OS 9 must disable account identifiers (individuals, groups, roles, and devices) after 35 days of inactivity.
IA-4 - Medium - CCI-000795 - V-269384 - SV-269384r1050267_rule
RMF Control
IA-4
Severity
Medium
CCI
CCI-000795
Version
ALMA-09-035660
Vuln IDs
  • V-269384
Rule IDs
  • SV-269384r1050267_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. Automatically disabling inactive accounts ensures that accounts which may not have been responsibly removed are not available to threat actors who may have compromised their credentials. Owners of inactive accounts will not notice if unauthorized access to their user account has been obtained.
Checks: C-73415r1049592_chk

Verify that AlmaLinux OS 9 account identifiers (individuals, groups, roles, and devices) are disabled after 35 days of inactivity with the following command: $ useradd -D | grep INACTIVE INACTIVE=35 If the value of "INACTIVE" is set to "-1", a value greater than "35", or is missing, this is a finding.

Fix: F-73316r1049593_fix

Configure AlmaLinux OS 9 to disable account identifiers after 35 days of inactivity after the password expiration. Run the following command to change the configuration for useradd: $ useradd -D -f 35 The recommendation is 35 days, but a lower value is acceptable.

b
AlmaLinux OS 9 must enforce password complexity by requiring that at least one lowercase character be used.
- Medium - CCI-004066 - V-269385 - SV-269385r1050268_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
ALMA-09-035770
Vuln IDs
  • V-269385
Rule IDs
  • SV-269385r1050268_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.
Checks: C-73416r1049595_chk

Verify that AlmaLinux OS 9 enforces password complexity by requiring at least one lowercase character with the following command: $ grep -r lcredit /etc/security/pwquality.conf* /etc/security/pwquality.conf.d/stig.conf:lcredit = -1 If the value of "lcredit" is a positive number, is not set, is commented out, or if conflicting results are returned, this is a finding.

Fix: F-73317r1049596_fix

Configure AlmaLinux OS 9 to enforce password complexity by requiring at least one lowercase character be used by setting the "lcredit" option. Add or update the following line in the "/etc/security/pwquality.conf" file or a configuration file in the "/etc/security/pwquality.conf.d/" directory: lcredit = -1 Remove any configurations that conflict with the above value.

b
AlmaLinux OS 9 must ensure the password complexity module is enabled in the password-auth file.
- Medium - CCI-004066 - V-269386 - SV-269386r1050269_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
ALMA-09-035880
Vuln IDs
  • V-269386
Rule IDs
  • SV-269386r1050269_rule
Enabling PAM password complexity permits enforcement of strong passwords and consequently makes the system less prone to dictionary attacks.
Checks: C-73417r1049598_chk

Verify AlmaLinux OS 9 uses "pwquality" to enforce the password complexity rules in the password-auth file with the following command: Check for the use of the "pwquality" module in the PAM auth files with the following command: $ grep pam_pwquality.so /etc/pam.d/system-auth /etc/pam.d/password-auth /etc/pam.d/system-auth:password required pam_pwquality.so retry=3 /etc/pam.d/password-auth:password required pam_pwquality.so retry=3 If the command does not return a line in each file containing the value "pam_pwquality.so", or the line is commented out, this is a finding. If the system administrator (SA) can demonstrate that the required configuration is contained in a PAM configuration file included or substacked from the system-auth file, this is not a finding.

Fix: F-73318r1049599_fix

Configure AlmaLinux OS 9 to use "pwquality" to enforce password complexity rules. Add the following line to the "/etc/pam.d/system-auth" and "/etc/pam.d/password-auth" files (or modify the line to have the required value): password required pam_pwquality.so retry=3

b
AlmaLinux OS 9 must ensure the password complexity module in the system-auth file is configured for three retries or less.
- Medium - CCI-004066 - V-269387 - SV-269387r1050270_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
ALMA-09-035990
Vuln IDs
  • V-269387
Rule IDs
  • SV-269387r1050270_rule
AlmaLinux OS 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-73418r1049601_chk

Verify AlmaLinux OS 9 is configured to limit the "pwquality" retry option to "3". Check for the use of the "pwquality" retry option in the PAM auth files with the following command: $ grep pam_pwquality.so /etc/pam.d/system-auth /etc/pam.d/password-auth /etc/pam.d/system-auth:password required pam_pwquality.so retry=3 /etc/pam.d/password-auth:password required pam_pwquality.so retry=3 If the value of "retry" is set to "0" or greater than "3", or is missing from either, this is a finding. If the system administrator (SA) can demonstrate that the required configuration is contained in a PAM configuration file included or substacked from the system-auth file, this is not a finding.

Fix: F-73319r1049602_fix

Configure AlmaLinux OS 9 to limit the "pwquality" retry option to "3". Add the following line to the "/etc/pam.d/system-auth" and "/etc/pam.d/password-auth" files (or modify the line to have the required value): password required pam_pwquality.so retry=3

b
AlmaLinux OS 9 must enforce password complexity rules for the root account.
- Medium - CCI-004066 - V-269388 - SV-269388r1050271_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
ALMA-09-036100
Vuln IDs
  • V-269388
Rule IDs
  • SV-269388r1050271_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.
Checks: C-73419r1049604_chk

Verify that AlmaLinux OS 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 /etc/security/pwquality.conf.d/stig.conf:enforce_for_root If "enforce_for_root" is commented or missing, this is a finding.

Fix: F-73320r1049605_fix

Configure AlmaLinux OS 9 to enforce password complexity on the root account. Add or update the following line in /etc/security/pwquality.conf: enforce_for_root Note: Unlike most Linux tools, pam_pwquality does not override its defaults with those in a drop-in file, so edit /etc/security/pwquality.conf and not use a file in /etc/security/pwquality.conf.d/ or comment out the setting in /etc/security/pwquality.conf if using a drop-in file.

b
AlmaLinux OS 9 must enforce password complexity by requiring that at least one uppercase character be used.
- Medium - CCI-004066 - V-269389 - SV-269389r1050272_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
ALMA-09-036210
Vuln IDs
  • V-269389
Rule IDs
  • SV-269389r1050272_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.
Checks: C-73420r1049607_chk

Verify that AlmaLinux OS 9 enforces password complexity by requiring at least one uppercase character with the following command: $ grep -r ucredit /etc/security/pwquality.conf* /etc/security/pwquality.conf.d/stig.conf:ucredit = -1 If the value of "ucredit" is a positive number, is not set, is commented out, or if conflicting results are returned, this is a finding.

Fix: F-73321r1049608_fix

Configure AlmaLinux OS 9 to enforce password complexity by requiring at least one uppercase character be used by setting the "ucredit" option. Add or update the following line in the "/etc/security/pwquality.conf" file or a configuration file in the "/etc/security/pwquality.conf.d/" directory: ucredit = -1 Remove any configurations that conflict with the above value.

b
AlmaLinux OS 9 must enforce password complexity by requiring that at least one special character be used.
- Medium - CCI-004066 - V-269390 - SV-269390r1050273_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
ALMA-09-036320
Vuln IDs
  • V-269390
Rule IDs
  • SV-269390r1050273_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.
Checks: C-73421r1049610_chk

Verify that AlmaLinux OS 9 enforces password complexity by requiring at least one special character with the following command: $ grep -E ocredit /etc/security/pwquality.conf* /etc/security/pwquality.conf.d/stig.conf:ocredit = -1 If the value of "ocredit" is a positive number, is not set, is commented out, or if conflicting results are returned, this is a finding.

Fix: F-73322r1049611_fix

Configure AlmaLinux OS 9 to enforce password complexity by requiring at least one special character be used by setting the "ocredit" option. Add or update the following line in the "/etc/security/pwquality.conf" file or a configuration file in the "/etc/security/pwquality.conf.d/" directory: ocredit = -1 Remove any configurations that conflict with the above value.

b
AlmaLinux OS 9 passwords for new users must have a minimum of 15 characters.
- Medium - CCI-004066 - V-269391 - SV-269391r1050274_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
ALMA-09-036430
Vuln IDs
  • V-269391
Rule IDs
  • SV-269391r1050274_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 exponentially increase the time and/or resources required to compromise the password. 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 exponentially increase the time and/or resources required to compromise the password.
Checks: C-73422r1049613_chk

Verify that AlmaLinux OS 9 enforces a minimum 15-character password length for new user accounts by running the following command: $ grep PASS_MIN_LEN /etc/login.defs PASS_MIN_LEN 15 If the "PASS_MIN_LEN" parameter value is less than "15", is not set, or is commented out, this is a finding.

Fix: F-73323r1049614_fix

Configure AlmaLinux OS 9 to enforce a minimum 15-character password length for new user accounts. Modify the "/etc/login.defs" file to set the "PASS_MIN_LEN" parameter to 15 or greater: PASS_MIN_LEN 15

b
AlmaLinux OS 9 passwords must be created with a minimum of 15 characters.
- Medium - CCI-004066 - V-269392 - SV-269392r1050275_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
ALMA-09-036540
Vuln IDs
  • V-269392
Rule IDs
  • SV-269392r1050275_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 exponentially increase the time and/or resources required to compromise the password. 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 exponentially increase the time and/or resources required to compromise the password. AlmaLinux OS 9 uses the PAM pwquality module as a mechanism to enforce password complexity. Configurations are set in the "/etc/security/pwquality.conf" file or further *.conf files within the "/etc/security/pwquality.conf.d/" directory. The "minlen" parameter acts as a score of complexity based on the credit components of the pwquality module. By setting the credit to a negative value, not only will those components be required, but they will not count toward the total score of minlen. This will result in minlen requiring a 15-character minimum.
Checks: C-73423r1049616_chk

Verify that AlmaLinux OS 9 enforces a minimum 15-character password length with the following command: $ grep -r minlen /etc/security/pwquality.conf* /etc/security/pwquality.conf.d/stig.conf:minlen = 15 If the value of "minlen" is less than 15, is not set, is commented out, or if conflicting results are returned, this is a finding.

Fix: F-73324r1049617_fix

Configure AlmaLinux OS 9 to require a minimum 15-character password length by setting the "minlen" option. Add or update the following line in the "/etc/security/pwquality.conf" file or a configuration file in the "/etc/security/pwquality.conf.d/" directory: minlen = 15 Remove any configurations that conflict with the above value.

b
AlmaLinux OS 9 must enforce password complexity by requiring that at least one numeric character be used.
- Medium - CCI-004066 - V-269393 - SV-269393r1050276_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
ALMA-09-036650
Vuln IDs
  • V-269393
Rule IDs
  • SV-269393r1050276_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.
Checks: C-73424r1049619_chk

Verify that AlmaLinux OS 9 enforces password complexity by requiring at least one numeric character with the following command: $ grep -r dcredit /etc/security/pwquality.conf* /etc/security/pwquality.conf.d/stig.conf:dcredit = -1 If the value of "dcredit" is a positive number, is not set, is commented out, or if conflicting results are returned, this is a finding.

Fix: F-73325r1049620_fix

Configure AlmaLinux OS 9 to enforce password complexity by requiring at least one numeric character be used by setting the "dcredit" option. Add or update the following line in the "/etc/security/pwquality.conf" file or a configuration file in the "/etc/security/pwquality.conf.d/" directory: dcredit = -1 Remove any configurations that conflict with the above value.

b
AlmaLinux OS 9 must require the change of at least four character classes when passwords are changed.
- Medium - CCI-004066 - V-269394 - SV-269394r1050277_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
ALMA-09-036760
Vuln IDs
  • V-269394
Rule IDs
  • SV-269394r1050277_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.
Checks: C-73425r1048558_chk

Verify the value of the "minclass" option in "/etc/security/pwquality.conf" with the following command: $ grep -ir minclass /etc/security/pwquality.conf* /etc/security/pwquality.conf:# minclass = 0 /etc/security/pwquality.conf.d/stig.conf:minclass = 4 If the value of "minclass" is set to less than "4", or is commented out, this is a finding.

Fix: F-73326r1049622_fix

Configure AlmaLinux OS 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
AlmaLinux OS 9 must require the maximum number of repeating characters be limited to three when passwords are changed.
- Medium - CCI-004066 - V-269395 - SV-269395r1050278_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
ALMA-09-036870
Vuln IDs
  • V-269395
Rule IDs
  • SV-269395r1050278_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.
Checks: C-73426r1048561_chk

Verify the value of the "maxrepeat" option in "/etc/security/pwquality.conf" with the following command: $ grep -ir maxrepeat /etc/security/pwquality.conf* /etc/security/pwquality.conf:# maxrepeat = 0 /etc/security/pwquality.conf.d/stig.conf:maxrepeat = 3 If the value of "maxrepeat" is set to more than "3", or is commented out, this is a finding.

Fix: F-73327r1049624_fix

Configure AlmaLinux OS 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
AlmaLinux OS 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-269396 - SV-269396r1050279_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
ALMA-09-036980
Vuln IDs
  • V-269396
Rule IDs
  • SV-269396r1050279_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.
Checks: C-73427r1048564_chk

Verify the value of the "maxclassrepeat" option in "/etc/security/pwquality.conf" with the following command: $ grep -ir maxclassrepeat /etc/security/pwquality.conf* /etc/security/pwquality.conf:# maxclassrepeat = 0 /etc/security/pwquality.conf.d/stig.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-73328r1049626_fix

Configure AlmaLinux OS 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
AlmaLinux OS 9 must require the change of at least eight characters when passwords are changed.
- Medium - CCI-004066 - V-269397 - SV-269397r1050280_rule
RMF Control
Severity
Medium
CCI
CCI-004066
Version
ALMA-09-037090
Vuln IDs
  • V-269397
Rule IDs
  • SV-269397r1050280_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.
Checks: C-73428r1049628_chk

Verify that AlmaLinux OS 9 enforces password complexity by requiring at least eight characters differ when passwords are changed with the following command: $ grep -r difok /etc/security/pwquality.conf* /etc/security/pwquality.conf.d/stig.conf:difok = 8 If the value of "difok" is less than "8", is not set, is commented out, or if conflicting results are returned, this is a finding.

Fix: F-73329r1049629_fix

Configure AlmaLinux OS 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 or update the following line in the "/etc/security/pwquality.conf" file or a configuration file in the "/etc/security/pwquality.conf.d/" directory: difok = 8 Remove any configurations that conflict with the above value.

c
AlmaLinux OS 9 PAM must be configured to use a sufficient number of password hashing rounds.
- High - CCI-004062 - V-269398 - SV-269398r1050281_rule
RMF Control
Severity
High
CCI
CCI-004062
Version
ALMA-09-037200
Vuln IDs
  • V-269398
Rule IDs
  • SV-269398r1050281_rule
Passwords must 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. Using more hashing rounds makes password cracking attacks more difficult.
Checks: C-73429r1048570_chk

Verify the number of rounds for the password hashing algorithm is configured with the following command: $ grep rounds /etc/pam.d/password-auth /etc/pam.d/system-auth /etc/pam.d/password-auth:password sufficient pam_unix.so sha512 shadow rounds=100000 use_authtok /etc/pam.d/system-auth:password sufficient pam_unix.so sha512 shadow rounds=100000 use_authtok If a matching line is not returned in both files, or "rounds" is less than "100000", this a finding. Add/modify the appropriate sections of the "/etc/pam.d/password-auth" file to match the following lines, ensuring that the "preauth" line is listed before pam_unix.so

Fix: F-73330r1049631_fix

Configure AlmaLinux OS 9 to use at least 100000 hashing rounds for hashing passwords. Add or modify the following line in "/etc/pam.d/password-auth" and "/etc/pam.d/system-auth" and set "rounds" to "100000" or higher: password sufficient pam_unix.so sha512 rounds=100000

c
AlmaLinux OS 9 must be configured so that libuser is configured to store only encrypted representations of passwords.
- High - CCI-004062 - V-269399 - SV-269399r1050282_rule
RMF Control
Severity
High
CCI
CCI-004062
Version
ALMA-09-037310
Vuln IDs
  • V-269399
Rule IDs
  • SV-269399r1050282_rule
Passwords must be protected at all times, and encryption is the standard method for protecting passwords. If passwords are not encrypted, they can be plainly read (i.e., clear text) and easily compromised. The system must use a strong hashing algorithm to store the password.
Checks: C-73430r1048573_chk

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

Fix: F-73331r1049633_fix

Configure AlmaLinux OS 9 to use the SHA-512 algorithm for password hashing. Add or change the following line in the "[defaults]" section of the "/etc/libuser.conf" file: crypt_style = sha512

c
AlmaLinux OS 9 must be configured so that the system's shadow file is configured to store only encrypted representations of passwords.
- High - CCI-004062 - V-269400 - SV-269400r1050283_rule
RMF Control
Severity
High
CCI
CCI-004062
Version
ALMA-09-037420
Vuln IDs
  • V-269400
Rule IDs
  • SV-269400r1050283_rule
Passwords must be protected at all times, and encryption is the standard method for protecting passwords. If passwords are not encrypted, they can be plainly read (i.e., clear text) and easily compromised. The system must use a strong hashing algorithm to store the password.
Checks: C-73431r1048576_chk

Verify the system's shadow file is configured to store only encrypted representations of passwords with a hash value of SHA512 with the following command: $ grep 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-73332r1049635_fix

Configure AlmaLinux OS 9 to use the SHA-512 algorithm for password hashing. Add or update the following line in the "/etc/login.defs" file: ENCRYPT_METHOD SHA512

c
AlmaLinux OS 9 must be configured so that the Pluggable Authentication Module is configured to store only encrypted representations of passwords.
- High - CCI-004062 - V-269401 - SV-269401r1050284_rule
RMF Control
Severity
High
CCI
CCI-004062
Version
ALMA-09-037530
Vuln IDs
  • V-269401
Rule IDs
  • SV-269401r1050284_rule
Passwords must be protected at all times, and encryption is the standard method for protecting passwords. If passwords are not encrypted, they can be plainly read (i.e., clear text) and easily compromised. The system must use a strong hashing algorithm to store the password.
Checks: C-73432r1048579_chk

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

Fix: F-73333r1049637_fix

Configure AlmaLinux OS 9 to use the SHA-512 algorithm for password hashing. 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 shadow rounds=100000 use_authtok

c
AlmaLinux OS 9 must be configured so that interactive user account passwords are using strong password hashes.
- High - CCI-004062 - V-269402 - SV-269402r1050285_rule
RMF Control
Severity
High
CCI
CCI-004062
Version
ALMA-09-037640
Vuln IDs
  • V-269402
Rule IDs
  • SV-269402r1050285_rule
Passwords must be protected at all times, and encryption is the standard method for protecting passwords. If passwords are not encrypted, they can be plainly read (i.e., clear text) and easily compromised. The system must use a strong hashing algorithm to store the password.
Checks: C-73433r1048582_chk

Verify that the interactive user account passwords are using a strong password hash with the following command: $ cut -d: -f1,2 /etc/shadow root:$6$88upzIIyml/6UEya$QMLbF.L6gMNnIhzcxRorHgubK6jl3CHZ.MZrMkrEApOlt/MP.N.BFea.ykhPnIS.EYICo6To42koq0DCH8AjB/ bin:* daemon:* 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-73334r1048583_fix

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

c
AlmaLinux OS 9 must not have any File Transfer Protocol (FTP) packages installed.
IA-5 - High - CCI-000197 - V-269403 - SV-269403r1050286_rule
RMF Control
IA-5
Severity
High
CCI
CCI-000197
Version
ALMA-09-037750
Vuln IDs
  • V-269403
Rule IDs
  • SV-269403r1050286_rule
Passwords must 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. An FTP server provides an unencrypted file transfer mechanism that does not protect the confidentiality of user credentials or the remote session. If a privileged user were to log on using this service, the privileged user password could be compromised. SFTP or other encrypted file transfer methods must be used instead. Removing the server and client packages prevents inbound and outbound communications from being compromised.
Checks: C-73434r1049640_chk

Verify that AlmaLinux OS 9 does not have an FTP client or server package installed with the following command: $ rpm -qa | grep ftp If the "vsftpd" server or "ftp" client packages are installed, this is a finding. Note that there may be third-party or alternative packages that provide the same functionality, which should also be removed.

Fix: F-73335r1048586_fix

Remove the default FTP client and server packages using the following command: $ dnf remove vsftpd ftp

c
AlmaLinux OS 9 must not have any telnet packages installed.
IA-5 - High - CCI-000197 - V-269404 - SV-269404r1050287_rule
RMF Control
IA-5
Severity
High
CCI
CCI-000197
Version
ALMA-09-037860
Vuln IDs
  • V-269404
Rule IDs
  • SV-269404r1050287_rule
Passwords must 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. A telnet server provides an unencrypted remote access mechanism that does not protect the confidentiality of user credentials 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 session methods must be used instead. Removing the server and client packages prevents inbound and outbound communications from being compromised.
Checks: C-73435r1049642_chk

Verify that AlmaLinux OS 9 does not have a telnet client or server package installed with the following command: $ rpm -qa | grep telnet If the "telnet-server" server or "telnet" client packages are installed, this is a finding. Note that there may be third-party or alternative packages that provide the same functionality, which should also be removed.

Fix: F-73336r1048589_fix

Remove the default telnet client and server packages using the following command: $ dnf remove telnet-server telnet

b
Passwords for existing users must have a 60-day maximum password lifetime restriction in /etc/shadow.
IA-5 - Medium - CCI-000199 - V-269405 - SV-269405r1050288_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000199
Version
ALMA-09-037970
Vuln IDs
  • V-269405
Rule IDs
  • SV-269405r1050288_rule
Any password, no matter how complex, can eventually be cracked. Therefore, Passwords must 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.
Checks: C-73436r1048591_chk

Check whether the maximum time period for existing passwords is restricted to 60 days with the following command: $ awk -F: '$5 &lt;= 0 || $5 &gt; 60 {print $1 " " $5}' /etc/shadow If any results are returned that are not associated with a system account, this is a finding.

Fix: F-73337r1048592_fix

Configure noncompliant accounts to enforce a 60-day maximum password lifetime restriction using the following command, substituting in the username: $ chage -M 60 [user]

b
Passwords for new users or password changes must have a 60-day maximum password lifetime restriction in /etc/login.defs.
IA-5 - Medium - CCI-000199 - V-269406 - SV-269406r1050619_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000199
Version
ALMA-09-038080
Vuln IDs
  • V-269406
Rule IDs
  • SV-269406r1050619_rule
Any password, no matter how complex, can eventually be cracked. Therefore, passwords must 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.
Checks: C-73437r1049645_chk

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

Fix: F-73338r1049646_fix

Configure AlmaLinux OS 9 to enforce a 60-day maximum password lifetime. Modify the "/etc/login.defs" file to set the "PASS_MAX_DAYS" parameter to 60 or greater: PASS_MAX_DAYS 60

b
Passwords for existing users must have a 24-hour minimum password lifetime restriction in /etc/shadow.
IA-5 - Medium - CCI-000198 - V-269407 - SV-269407r1050290_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000198
Version
ALMA-09-038190
Vuln IDs
  • V-269407
Rule IDs
  • SV-269407r1050290_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. Checking existing users have this setting will ensure that no users created before the policy was configured can evade the password minimum setting.
Checks: C-73438r1048597_chk

Verify the minimum time period between password changes for all user accounts is a day or more by running the following command: $ 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-73339r1048598_fix

Configure noncompliant accounts to enforce a 24 hours/one day minimum password lifetime using the following command, substituting in the username: $ chage -m 1 [user]

b
Passwords for new users or password changes must have a 24-hour minimum password lifetime restriction in /etc/login.defs.
IA-5 - Medium - CCI-000198 - V-269408 - SV-269408r1050291_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000198
Version
ALMA-09-038300
Vuln IDs
  • V-269408
Rule IDs
  • SV-269408r1050291_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.
Checks: C-73439r1049649_chk

Verify AlmaLinux OS 9 enforces 24 hours as the minimum password lifetime for new user accounts with the following command: $ grep PASS_MIN_DAYS /etc/login.defs PASS_MIN_DAYS 1 If the value of "PASS_MIN_DAYS" is less than "1", is not set, or is commented out, this is a finding.

Fix: F-73340r1049650_fix

Configure AlmaLinux OS 9 to enforce 24 hours as the minimum password lifetime. Modify the "/etc/login.defs" file to set the "PASS_MIN_DAYS" parameter to 1 or greater: PASS_MIN_DAYS 1

b
AlmaLinux OS 9 must prohibit the use of cached authenticators after one day.
IA-5 - Medium - CCI-002007 - V-269409 - SV-269409r1050292_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-002007
Version
ALMA-09-038630
Vuln IDs
  • V-269409
Rule IDs
  • SV-269409r1050292_rule
Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. If the information system or application allows the user to consecutively reuse their password when that password has exceeded its defined lifetime, the end result is a password that is not changed as per policy requirements. If cached authentication information is out-of-date, the validity of the authentication information may be questionable.
Checks: C-73440r1048603_chk

Note: If smart card authentication is not being used on the system, this requirement is Not Applicable. Verify that the System Security Services Daemon (SSSD) prohibits the use of cached authentications after one day. Check that SSSD allows cached authentications with the following command: $ grep cache_credentials /etc/sssd/sssd.conf /etc/sssd/conf.d/* /etc/sssd/conf.d/certificate_verification.conf:cache_credentials = true If "cache_credentials" is set to "false" or missing from the configuration, 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: $ grep offline_credentials_expiration /etc/sssd/sssd.conf /etc/sssd/conf.d/ /etc/sssd/conf.d/certificate_verification.conf:offline_credentials_expiration = 1 If "offline_credentials_expiration" is not set to a value of "1", this is a finding.

Fix: F-73341r1048604_fix

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

b
For PKI-based authentication, AlmaLinux OS 9 must enforce authorized access to the corresponding private key.
IA-5 - Medium - CCI-000186 - V-269410 - SV-269410r1050293_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000186
Version
ALMA-09-038850
Vuln IDs
  • V-269410
Rule IDs
  • SV-269410r1050293_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-73441r1048606_chk

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

Fix: F-73342r1048607_fix

Create a new private and public key pair that uses a passcode, as the correct user, with the following command: $ ssh-keygen -n [passphrase]

b
AlmaLinux OS 9 must map the authenticated identity to the user or group account for PKI-based authentication.
IA-5 - Medium - CCI-000187 - V-269411 - SV-269411r1050294_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000187
Version
ALMA-09-038960
Vuln IDs
  • V-269411
Rule IDs
  • SV-269411r1050294_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-73442r1048609_chk

Note: If the system administrator (SA) demonstrates the use of an approved alternate multifactor authentication method, this requirement is not applicable. Verify the operating system implements Online Certificate Status Protocol (OCSP) and is using the proper digest value on the system with the following command: $ grep certmap /etc/sssd/sssd.conf /etc/sssd/conf.d/*.conf /etc/sssd/conf.d/mapping.conf:[certmap/testing.test/rule_name] 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-73343r1049654_fix

Configure AlmaLinux OS 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 or a "*.conf" file within the "/etc/sssd/conf.d/" directory, based on the following example: [certmap/testing.test/rule_name] matchrule = .*EDIPI@mil maprule = (userCertificate;binary={cert!bin}) domains = testing.test The "sssd" service must be restarted for the changes to take effect. To restart the "sssd" service, run the following command: $ systemctl restart sssd.service

b
AlmaLinux OS 9, for PKI-based authentication, must validate certificates by constructing a certification path (which includes status information) to an accepted trust anchor.
- Medium - CCI-004068 - V-269412 - SV-269412r1050295_rule
RMF Control
Severity
Medium
CCI
CCI-004068
Version
ALMA-09-039070
Vuln IDs
  • V-269412
Rule IDs
  • SV-269412r1050295_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-000384-GPOS-00167, SRG-OS-000066-GPOS-00034, SRG-OS-000775-GPOS-00230, SRG-OS-000780-GPOS-00240
Checks: C-73443r1049656_chk

Verify AlmaLinux OS 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: $ openssl x509 -text -in /etc/sssd/pki/sssd_auth_ca_db.pem 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-73344r1049657_fix

Configure AlmaLinux OS 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
AlmaLinux OS 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-269413 - SV-269413r1050296_rule
RMF Control
IA-7
Severity
Medium
CCI
CCI-000803
Version
ALMA-09-039290
Vuln IDs
  • V-269413
Rule IDs
  • SV-269413r1050296_rule
The key derivation function (KDF) in Kerberos is not FIPS compatible. Overriding the system crypto policy makes the behavior of Kerberos violate expectations, and makes system configuration more fragmented.
Checks: C-73444r1048615_chk

Verify that the symlink exists and targets the correct Kerberos 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-73345r1049659_fix

Configure Kerberos to use systemwide crypto policy. Create a symlink pointing to system crypto policy in the Kerberos configuration using the following command: $ ln -s /etc/crypto-policies/back-ends/krb5.config /usr/share/crypto-policies/FIPS/krb5.txt

b
AlmaLinux OS 9 must prevent system daemons from using Kerberos for authentication.
IA-7 - Medium - CCI-000803 - V-269414 - SV-269414r1050297_rule
RMF Control
IA-7
Severity
Medium
CCI
CCI-000803
Version
ALMA-09-039400
Vuln IDs
  • V-269414
Rule IDs
  • SV-269414r1050297_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. AlmaLinux OS 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-73445r1049661_chk

Verify that AlmaLinux OS 9 prevents system daemons from using Kerberos for authentication with the following command: $ ls -alR /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-73346r1049662_fix

Configure AlmaLinux OS 9 to prevent system daemons from using Kerberos for authentication. Remove any files with the .keytab extension from the operating system. rm -f /etc/*.keytab

b
The libreswan package must be installed.
IA-7 - Medium - CCI-000803 - V-269415 - SV-269415r1050298_rule
RMF Control
IA-7
Severity
Medium
CCI
CCI-000803
Version
ALMA-09-039510
Vuln IDs
  • V-269415
Rule IDs
  • SV-269415r1050298_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-73446r1048621_chk

Verify that the libreswan package is installed with the following command: $ dnf list --installed libreswan libreswan.x86_64 4.9-4.el9_2 @appstream If the "libreswan" package is not installed, this is a finding.

Fix: F-73347r1048622_fix

Install the libreswan package with the following command: $ dnf install libreswan

b
AlmaLinux OS 9 must have the packages required for encrypting offloaded audit logs installed.
IA-7 - Medium - CCI-000803 - V-269416 - SV-269416r1050299_rule
RMF Control
IA-7
Severity
Medium
CCI
CCI-000803
Version
ALMA-09-039620
Vuln IDs
  • V-269416
Rule IDs
  • SV-269416r1050299_rule
The rsyslog-gnutls package provides Transport Layer Security (TLS) support for the rsyslog daemon, which enables secure remote logging.
Checks: C-73447r1048624_chk

Verify that the rsyslog-gnutls package is installed with the following command: $ dnf list --installed rsyslog-gnutls rsyslog-gnutls.x86_64 8.2102.0-111.el9 @AppStream If the "rsyslog-gnutls" package is not installed, this is a finding.

Fix: F-73348r1048625_fix

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

b
AlmaLinux OS 9 must have the crypto-policies package installed.
MA-4 - Medium - CCI-003123 - V-269417 - SV-269417r1050300_rule
RMF Control
MA-4
Severity
Medium
CCI
CCI-003123
Version
ALMA-09-039840
Vuln IDs
  • V-269417
Rule IDs
  • SV-269417r1050300_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-000394-GPOS-00174, SRG-OS-000393-GPOS-00173
Checks: C-73448r1049666_chk

Verify that the AlmaLinux OS 9 crypto-policies package is installed with the following command: $ dnf list --installed crypto-policies Installed Packages crypto-policies.noarch 20221215-1.git9a18988.el9 @anaconda If the "crypto-policies" package is not installed, this is a finding.

Fix: F-73349r1048628_fix

Install the crypto-policies package with the following command: $ dnf install crypto-policies

b
AlmaLinux OS 9 must implement a systemwide encryption policy.
MA-4 - Medium - CCI-003123 - V-269418 - SV-269418r1050301_rule
RMF Control
MA-4
Severity
Medium
CCI
CCI-003123
Version
ALMA-09-040060
Vuln IDs
  • V-269418
Rule IDs
  • SV-269418r1050301_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-000394-GPOS-00174, SRG-OS-000396-GPOS-00176
Checks: C-73449r1049668_chk

Verify that the AlmaLinux OS 9 cryptography policy has been configured correctly with the following commands: $ update-crypto-policies --show FIPS If the cryptography is not set to "FIPS" and is not applied, this is a finding. $ update-crypto-policies --check The configured policy matches the generated policy. If the command does not return "The configured policy matches the generated policy", this is a finding.

Fix: F-73350r1049669_fix

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

b
AlmaLinux OS 9 must be configured so that all network connections associated with SSH traffic are terminated after 10 minutes of becoming unresponsive.
MA-4 - Medium - CCI-002891 - V-269419 - SV-269419r1050302_rule
RMF Control
MA-4
Severity
Medium
CCI
CCI-002891
Version
ALMA-09-040170
Vuln IDs
  • V-269419
Rule IDs
  • SV-269419r1050302_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. Satisfies: SRG-OS-000395-GPOS-00175, SRG-OS-000163-GPOS-00072, SRG-OS-000279-GPOS-00109
Checks: C-73450r1048633_chk

Verify that the "ClientAliveInterval" variable is set to a value of "600" or less and "ClientAliveCountMax" is set to "1" by performing the following command: $ sshd -T | grep clientalive clientaliveinterval 600 clientalivecountmax 1 If "ClientAliveInterval" does not have a value of "600" or less, or "ClientAliveCountMax" is not set to "1", this is a finding.

Fix: F-73351r1048634_fix

To configure the SSH server to terminate a user session automatically after the SSH client has become unresponsive, add or modify the following lines in "/etc/ssh/sshd_config": ClientAliveInterval 600 ClientAliveCountMax 1 Alternatively, add the settings to an include file if the line "Include /etc/ssh/sshd_config.d/*.conf" is found at the top of the "/etc/ssh/sshd_config" file: $ cat << EOF | tee /etc/ssh/sshd_config.d/clientalive.conf ClientAliveInterval 600 ClientAliveCountMax 1 EOF Restart the SSH daemon for the settings to take effect: $ systemctl restart sshd.service

c
AlmaLinux OS 9 must enable the Pluggable Authentication Module (PAM) interface for SSHD.
MA-4 - High - CCI-000877 - V-269420 - SV-269420r1050303_rule
RMF Control
MA-4
Severity
High
CCI
CCI-000877
Version
ALMA-09-040390
Vuln IDs
  • V-269420
Rule IDs
  • SV-269420r1050303_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-73451r1049672_chk

Verify the AlmaLinux OS 9 SSHD is configured to allow for the UsePAM interface with the following command: $ sshd -T | grep usepam usepam yes If the "UsePAM" keyword is set to "no", is missing, or is commented out, this is a finding.

Fix: F-73352r1048637_fix

Configure the SSH daemon to use PAM. Add the following line to "/etc/ssh/sshd_config", or uncomment the line and set the value to "yes": UsePAM yes Alternatively, add the setting to an include file if the line "Include /etc/ssh/sshd_config.d/*.conf" is found at the top of the "/etc/ssh/sshd_config" file: $ cat << EOF | tee /etc/ssh/sshd_config.d/pam.conf UsePAM yes EOF Restart the SSH daemon for the settings to take effect: $ systemctl restart sshd.service

b
AlmaLinux OS 9 must terminate idle user sessions.
SC-10 - Medium - CCI-001133 - V-269421 - SV-269421r1050304_rule
RMF Control
SC-10
Severity
Medium
CCI
CCI-001133
Version
ALMA-09-040500
Vuln IDs
  • V-269421
Rule IDs
  • SV-269421r1050304_rule
Terminating an idle session within a short time period reduces the window of opportunity for unauthorized personnel to take control of a management session enabled on the console or console port that has been left unattended. In addition, quickly terminating an idle session will also free up resources committed by the managed network element. Terminating network connections associated with communications sessions includes, for example, de-allocating associated TCP/IP address/port pairs at the operating system level, and de-allocating networking assignments at the application level if multiple application sessions are using a single operating system-level network connection. This does not mean that the operating system terminates all sessions or network access; it only ends the inactive session and releases the resources associated with that session.
Checks: C-73452r1049674_chk

Verify that AlmaLinux OS 9 logs out sessions that are idle for 15 minutes with the following command: $ systemd-analyze cat-config systemd/logind.conf | grep StopIdleSessionSec #StopIdleSessionSec=infinity StopIdleSessionSec=900 If "StopIdleSessionSec" is not configured to "900" seconds, this is a finding.

Fix: F-73353r1049675_fix

Configure AlmaLinux OS 9 to log out idle sessions. Create the directory if necessary: $ mkdir -p /etc/systemd/logind.conf.d/ Create a *.conf file in /etc/systemd/logind.conf.d/ with the following content: [Login] StopIdleSessionSec=900 KillUserProcesses=no Restart systemd-logind: $ systemctl restart systemd-logind

b
AlmaLinux OS 9 must disable access to network bpf system call from nonprivileged processes.
SC-2 - Medium - CCI-001082 - V-269422 - SV-269422r1050305_rule
RMF Control
SC-2
Severity
Medium
CCI
CCI-001082
Version
ALMA-09-040720
Vuln IDs
  • V-269422
Rule IDs
  • SV-269422r1050305_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-73453r1049677_chk

Verify AlmaLinux OS 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. Check that the configuration files are present to enable this kernel parameter. $ /usr/lib/systemd/systemd-sysctl --cat-config | egrep -v '^(#|;)' | grep -F kernel.unprivileged_bpf_disabled | tail -1 kernel.unprivileged_bpf_disabled = 1 If "kernel.unprivileged_bpf_disabled" is not set to "1", or nothing is returned, this is a finding.

Fix: F-73354r1049678_fix

Configure AlmaLinux OS 9 to prevent privilege escalation through the kernel by disabling access to the bpf syscall with the following command: $ echo "kernel.unprivileged_bpf_disabled = 1" > /etc/sysctl.d/60-bpf.conf Load settings from all system configuration files with the following command: $ sysctl --system

b
AlmaLinux OS 9 must restrict exposed kernel pointer addresses access.
SC-2 - Medium - CCI-001082 - V-269423 - SV-269423r1050306_rule
RMF Control
SC-2
Severity
Medium
CCI
CCI-001082
Version
ALMA-09-040830
Vuln IDs
  • V-269423
Rule IDs
  • SV-269423r1050306_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".
Checks: C-73454r1048645_chk

Verify the runtime status of the kernel.kptr_restrict kernel parameter with the following command: $ sysctl kernel.kptr_restrict kernel.kptr_restrict = 1 Verify the configuration of the kernel.kptr_restrict kernel parameter with the following command: $ /usr/lib/systemd/systemd-sysctl --cat-config | egrep -v '^(#|;)' | grep -F kernel.kptr_restrict | tail -1 kernel.kptr_restrict =1 If "kernel.kptr_restrict" is not set to "1" or is missing, this is a finding.

Fix: F-73355r1049680_fix

Configure AlmaLinux OS 9 to restrict exposed kernel pointer addresses access with the following command: $ echo "kernel.kptr_restrict = 1" > /etc/sysctl.d/60-kptr.conf Load settings from all system configuration files with the following command: $ sysctl --system

b
AlmaLinux OS 9 must restrict usage of ptrace to descendant processes.
SC-2 - Medium - CCI-001082 - V-269424 - SV-269424r1050307_rule
RMF Control
SC-2
Severity
Medium
CCI
CCI-001082
Version
ALMA-09-040940
Vuln IDs
  • V-269424
Rule IDs
  • SV-269424r1050307_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-73455r1049682_chk

Verify AlmaLinux OS 9 restricts usage of ptrace to descendant processes (1), admins only (2), or disables ptrace entirely (3) with the following command: $ sysctl kernel.yama.ptrace_scope kernel.yama.ptrace_scope = 1 If the returned line has a value of "0" or a line is not returned, this is a finding. Check that the configuration files are present to enable this kernel parameter. $ /usr/lib/systemd/systemd-sysctl --cat-config | egrep -v '^(#|;)' | grep -F kernel.yama.ptrace_scope | tail -1 kernel.yama.ptrace_scope = 1 If "kernel.yama.ptrace_scope" is equal to "0" or nothing is returned, this is a finding.

Fix: F-73356r1049683_fix

Configure AlmaLinux OS 9 to restrict usage of ptrace to with the following command: $ echo "kernel.yama.ptrace_scope = 1" > /etc/sysctl.d/60-ptrace.conf Load settings from all system configuration files with the following command: $ sysctl --system

b
AlmaLinux OS 9 must restrict access to the kernel message buffer.
SC-2 - Medium - CCI-001082 - V-269425 - SV-269425r1050308_rule
RMF Control
SC-2
Severity
Medium
CCI
CCI-001082
Version
ALMA-09-041050
Vuln IDs
  • V-269425
Rule IDs
  • SV-269425r1050308_rule
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-73456r1049685_chk

Verify AlmaLinux OS 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. $ sysctl kernel.dmesg_restrict kernel.dmesg_restrict = 1 If "kernel.dmesg_restrict" is not set to "1" or is missing, this is a finding. Check that the configuration files are present to enable this kernel parameter. $ /usr/lib/systemd/systemd-sysctl --cat-config | egrep -v '^(#|;)' | grep -F kernel.dmesg_restrict | tail -1 kernel.dmesg_restrict = 1 If "kernel.dmesg_restrict" is not set to "1" or is missing, this is a finding.

Fix: F-73357r1049686_fix

Configure AlmaLinux OS 9 to restrict access to the kernel message buffer with the following command: $ echo "kernel.dmesg_restrict = 1 > /etc/sysctl.d/60-dmesg.conf" Load settings from all system configuration files with the following command: $ sysctl --system

b
AlmaLinux OS 9 must prevent kernel profiling by nonprivileged users.
SC-2 - Medium - CCI-001082 - V-269426 - SV-269426r1050309_rule
RMF Control
SC-2
Severity
Medium
CCI
CCI-001082
Version
ALMA-09-041160
Vuln IDs
  • V-269426
Rule IDs
  • SV-269426r1050309_rule
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-73457r1049688_chk

Verify AlmaLinux OS 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. Check that the configuration files are present to enable this kernel parameter. $ /usr/lib/systemd/systemd-sysctl --cat-config | egrep -v '^(#|;)' | grep -F kernel.perf_event_paranoid | tail -1 kernel.perf_event_paranoid = 2 If "kernel.perf_event_paranoid" is not set to "2" or is missing, this is a finding.

Fix: F-73358r1049689_fix

Configure AlmaLinux OS 9 to prevent kernel profiling by nonprivileged users with the following command: $ echo "kernel.perf_event_paranoid = 2" > /etc/sysctl.d/60-perf.conf Load settings from all system configuration files with the following command: $ sysctl --system

b
AlmaLinux OS 9 must only allow the use of DOD PKI-established certificate authorities for authentication in the establishment of protected sessions to the operating system.
SC-23 - Medium - CCI-002470 - V-269427 - SV-269427r1050310_rule
RMF Control
SC-23
Severity
Medium
CCI
CCI-002470
Version
ALMA-09-041270
Vuln IDs
  • V-269427
Rule IDs
  • SV-269427r1050310_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-73458r1049691_chk

Verify AlmaLinux OS 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-73359r1049692_fix

Configure AlmaLinux OS 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

b
AlmaLinux OS 9 systemd-journald service must be enabled.
SC-24 - Medium - CCI-001665 - V-269428 - SV-269428r1050311_rule
RMF Control
SC-24
Severity
Medium
CCI
CCI-001665
Version
ALMA-09-041490
Vuln IDs
  • V-269428
Rule IDs
  • SV-269428r1050311_rule
In the event of a system failure, AlmaLinux OS 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-73459r1048660_chk

Verify that "systemd-journald" is active with the following command: $ systemctl status systemd-journald systemd-journald.service - Journal Service Loaded: loaded (/usr/lib/systemd/system/systemd-journald.service; static) Active: active (running) since Tue 2024-02-20 11:02:20 UTC; 14min ago If the systemd-journald service is not active, this is a finding.

Fix: F-73360r1048661_fix

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

c
AlmaLinux OS 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-269429 - SV-269429r1050312_rule
RMF Control
SC-28
Severity
High
CCI
CCI-002476
Version
ALMA-09-041600
Vuln IDs
  • V-269429
Rule IDs
  • SV-269429r1050312_rule
AlmaLinux OS 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-000404-GPOS-00183, SRG-OS-000185-GPOS-00079
Checks: C-73460r1049695_chk

Note: If there is a documented and approved reason for not having data-at-rest encryption at the operating system level, such as encryption provided by a hypervisor or a disk storage array in a virtualized environment, this requirement is Not Applicable. Verify AlmaLinux OS 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: $ lsblk -e11 -oNAME,FSTYPE,FSVER,MOUNTPOINTS NAME FSTYPE FSVER MOUNTPOINTS sda +-sda1 vfat FAT16 /boot/efi +-sda2 xfs /boot +-sda3 LVM2_member LVM2 001 +-rootvg-root crypto_LUKS 2 ¦ +-luks-8a7154ec-8eeb-46c8-9d75-66fc4b81d665 xfs / +-rootvg-swap crypto_LUKS 2 ¦ +-luks-89bf0df8-547f-4613-af07-215e5f63e9a9 swap 1 [SWAP] +-rootvg-home crypto_LUKS 2 ¦ +-luks-10a20c46-483d-4d12-831f-5328eda28fd1 xfs /home +-rootvg-varlogaudit crypto_LUKS 2 ¦ +-luks-29b74747-2f82-4472-82f5-0b5eb764effc xfs /var/log/audit +-rootvg-varlog crypto_LUKS 2 ¦ +-luks-e0d162f5-fad8-463e-8e39-6bd09e682961 xfs /var/log +-rootvg-vartmp crypto_LUKS 2 ¦ +-luks-0e7206e7-bfb1-4a23-ae14-b9cea7cf46d5 xfs /var/tmp +-rootvg-var crypto_LUKS 2 +-luks-b23d8276-7844-4e79-8a58-505150b4eb42 xfs /var Every persistent disk partition present must be of type "crypto_LUKS". If any partitions other than the /boot partitions 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-73361r1049696_fix

Configure AlmaLinux OS 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.

b
AlmaLinux OS 9 must use a Linux Security Module configured to enforce limits on system services.
SC-3 - Medium - CCI-001084 - V-269430 - SV-269430r1050313_rule
RMF Control
SC-3
Severity
Medium
CCI
CCI-001084
Version
ALMA-09-041930
Vuln IDs
  • V-269430
Rule IDs
  • SV-269430r1050313_rule
An isolation boundary provides access control and protects the integrity of the hardware, software, and firmware that perform security functions. Security functions are 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. Operating systems implement code separation (i.e., separation of security functions from nonsecurity functions) in a number of ways, including through the provision of security kernels via processor rings or processor modes. For nonkernel code, security function isolation is often achieved through file system protections that serve to protect the code on disk and address space protections that protect executing code. Developers and implementers can increase the assurance in security functions by employing well-defined security policy models; structured, disciplined, and rigorous hardware and software development techniques; and sound system/security engineering principles. Implementation may include isolation of memory space and libraries. Operating systems restrict access to security functions through the use of access control mechanisms and by implementing least privilege capabilities.
Checks: C-73461r1049698_chk

Ensure that AlmaLinux OS 9 verifies 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 -E "^SELINUX=" /etc/selinux/config SELINUX=enforcing If SELINUX line is missing, commented out, or not set to "enforcing", this is a finding. Verify that SELinux is enabled and Enforcing for all kernels: $ grubby --info=ALL | grep -E 'selinux|enforcing' args="ro audit=1 selinux=1 enforcing=1 audit_backlog_limit=8192 page_poison=1 vsyscall=none slub_debug=P pti=on iommu=force resume=/dev/mapper/luks-89bf0df8-547f-4613-af07-215e5f62e9a9 rd.luks.uuid=luks-8a7154ec-8eeb-46c8-9d75-66fc4b80d665 rd.lvm.lv=rootvg/root rd.luks.uuid=luks-89bf0df8-547f-4613-af07-215e5f62e9a9 rd.lvm.lv=rootvg/swap rd.shell=0 quiet splash fips=1 boot=UUID=eda01e9b-b7e1-431b-9549-16d5dcddf665" args="ro audit=1 selinux=1 enforcing=1 audit_backlog_limit=8192 page_poison=1 vsyscall=none slub_debug=P pti=on iommu=force resume=/dev/mapper/luks-89bf0df8-547f-4613-af07-215e5f62e9a9 rd.luks.uuid=luks-8a7154ec-8eeb-46c8-9d75-66fc4b80d665 rd.lvm.lv=rootvg/root rd.luks.uuid=luks-89bf0df8-547f-4613-af07-215e5f62e9a9 rd.lvm.lv=rootvg/swap rd.shell=0 quiet splash fips=1 boot=UUID=eda01e9b-b7e1-431b-9549-16d5dcddf665" If selinux=1 is missing or set to 0, or enforcing=1 is missing or set to 0, this is a finding.

Fix: F-73362r1049699_fix

Configure AlmaLinux OS 9 to verify correct operation of security functions. Edit the file "/etc/selinux/config" and add or modify the following line: SELINUX=enforcing Update the grub bootloader settings: $ grubby --args="selinux=1 enforcing=1" --update-kernel=ALL A reboot is required for the changes to take effect.

b
AlmaLinux OS 9 must have the policycoreutils package installed.
SC-3 - Medium - CCI-001084 - V-269431 - SV-269431r1050314_rule
RMF Control
SC-3
Severity
Medium
CCI
CCI-001084
Version
ALMA-09-042040
Vuln IDs
  • V-269431
Rule IDs
  • SV-269431r1050314_rule
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-73462r1049701_chk

Verify AlmaLinux OS 9 has the policycoreutils package installed with the following command: $ dnf list --installed policycoreutils policycoreutils.x86_64 3.5-1.el9 @anaconda If the "policycoreutils" package is not installed, this is a finding.

Fix: F-73363r1048670_fix

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

b
Any AlmaLinux OS 9 world-writable directories must be owned by root, sys, bin, or an application user.
SC-4 - Medium - CCI-001090 - V-269432 - SV-269432r1050315_rule
RMF Control
SC-4
Severity
Medium
CCI
CCI-001090
Version
ALMA-09-042150
Vuln IDs
  • V-269432
Rule IDs
  • SV-269432r1050315_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-73463r1048672_chk

Verify that world writable directories are 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] e.g. "/": $ find PART -xdev -type d -perm -0002 -uid +0 -print If there is output, this is a finding.

Fix: F-73364r1048673_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: $ chown root [Public Directory]

b
A sticky bit must be set on all AlmaLinux OS 9 public directories.
SC-4 - Medium - CCI-001090 - V-269433 - SV-269433r1050316_rule
RMF Control
SC-4
Severity
Medium
CCI
CCI-001090
Version
ALMA-09-042260
Vuln IDs
  • V-269433
Rule IDs
  • SV-269433r1050316_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.
Checks: C-73464r1048675_chk

Verify that all world-writable directories have the sticky bit set. Determine if all world-writable directories have the sticky bit set by running the following command: $ find / -type d \( -perm -0002 -a ! -perm -1000 \) -exec ls -ld {} \; 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 (trailing "t"), this is a finding.

Fix: F-73365r1048676_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: $ chmod a+t [World-Writable Directory]

b
AlmaLinux OS 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-269434 - SV-269434r1050317_rule
RMF Control
SC-5
Severity
Medium
CCI
CCI-002385
Version
ALMA-09-042370
Vuln IDs
  • V-269434
Rule IDs
  • SV-269434r1050317_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 the operating system 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 exist 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-73465r1048678_chk

Verify "nftables" is configured to allow rate limits on any connection to the system with the following command: $ 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-73366r1048679_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
AlmaLinux OS 9 must be configured to use TCP syncookies.
SC-5 - Medium - CCI-002385 - V-269435 - SV-269435r1050318_rule
RMF Control
SC-5
Severity
Medium
CCI
CCI-002385
Version
ALMA-09-042480
Vuln IDs
  • V-269435
Rule IDs
  • SV-269435r1050318_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. This requirement addresses the configuration of the operating system 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 exist 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. Satisfies: SRG-OS-000420-GPOS-00186, SRG-OS-000142-GPOS-00071
Checks: C-73466r1049706_chk

Verify AlmaLinux OS 9 is configured to use IPv4 TCP syncookies with the following command: $ sysctl net.ipv4.tcp_syncookies net.ipv4.tcp_syncookies = 1 Check that the configuration files are present to enable this kernel parameter. $ /usr/lib/systemd/systemd-sysctl --cat-config | egrep -v '^(#|;)' | grep -F net.ipv4.tcp_syncookies | tail -1 net.ipv4.tcp_syncookies = 1 If the network parameter "ipv4.tcp_syncookies" is not equal to "1" or nothing is returned, this is a finding.

Fix: F-73367r1049707_fix

Configure AlmaLinux OS 9 to use TCP syncookies using the following command: $ echo 'net.ipv4.tcp_syncookies = 1' > /etc/sysctl.d/60-syncookies.conf Load settings from all system configuration files with the following command: $ sysctl --system

c
All AlmaLinux OS 9 networked systems must have the OpenSSH client installed.
SC-8 - High - CCI-002418 - V-269436 - SV-269436r1050319_rule
RMF Control
SC-8
Severity
High
CCI
CCI-002418
Version
ALMA-09-042700
Vuln IDs
  • V-269436
Rule IDs
  • SV-269436r1050319_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.
Checks: C-73467r1049709_chk

Verify that AlmaLinux OS 9 has the openssh client package installed with the following command: $ dnf list --installed openssh Installed Packages openssh.x86_64 8.7p1-28.el9 @anaconda If the "openssh" client package is not installed, this is a finding.

Fix: F-73368r1048685_fix

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

b
All AlmaLinux OS 9 networked systems must implement SSH to protect the confidentiality and integrity of transmitted and received information, including information being prepared for transmission.
SC-8 - Medium - CCI-002421 - V-269437 - SV-269437r1050320_rule
RMF Control
SC-8
Severity
Medium
CCI
CCI-002421
Version
ALMA-09-042810
Vuln IDs
  • V-269437
Rule IDs
  • SV-269437r1050320_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-000424-GPOS-00188, SRG-OS-000426-GPOS-00190
Checks: C-73468r1048687_chk

Verify that "sshd" is active with the following command: $ systemctl status sshd sshd.service - OpenSSH server daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; preset: enabled) Active: active (running) since Fri 2024-01-26 09:41:09 UTC; 2h 48min ago If the "sshd" service is not enabled and active, this is a finding.

Fix: F-73369r1048688_fix

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

b
All AlmaLinux OS 9 networked systems must have the OpenSSH server installed.
SC-8 - Medium - CCI-002421 - V-269438 - SV-269438r1050321_rule
RMF Control
SC-8
Severity
Medium
CCI
CCI-002421
Version
ALMA-09-042920
Vuln IDs
  • V-269438
Rule IDs
  • SV-269438r1050321_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-000424-GPOS-00188, SRG-OS-000426-GPOS-00190
Checks: C-73469r1049712_chk

Verify that AlmaLinux OS 9 has the openssh-server package installed with the following command: $ dnf list --installed openssh-server Installed Packages openssh-server.x86_64 8.7p1-28.el9 @anaconda If the "openssh-server" package is not installed, this is a finding.

Fix: F-73370r1048691_fix

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

b
AlmaLinux OS 9 must not allow users to override SSH environment variables.
SC-8 - Medium - CCI-002420 - V-269439 - SV-269439r1050322_rule
RMF Control
SC-8
Severity
Medium
CCI
CCI-002420
Version
ALMA-09-043030
Vuln IDs
  • V-269439
Rule IDs
  • SV-269439r1050322_rule
SSH environment options potentially allow users to bypass access restriction in some configurations.
Checks: C-73470r1048693_chk

Verify the SSH daemon prevents users from overriding SSH environment variables with the following command: $ sshd -T | grep permituserenvironment permituserenvironment no If the "PermitUserEnvironment" keyword is set to "yes", or no output is returned, this is a finding.

Fix: F-73371r1048694_fix

To configure the system to prevent users from overriding SSH environment variables, add or modify the following line in "/etc/ssh/sshd_config": PermitUserEnvironment no Alternatively, add the setting to an include file if the line "Include /etc/ssh/sshd_config.d/*.conf" is found at the top of the "/etc/ssh/sshd_config" file: $ echo "PermitUserEnvironment no" > /etc/ssh/sshd_config.d/environment.conf Restart the SSH daemon for the settings to take effect: $ systemctl restart sshd.service

b
AlmaLinux OS 9 must implement DOD-approved encryption in the bind package.
SC-8 - Medium - CCI-002422 - V-269440 - SV-269440r1050323_rule
RMF Control
SC-8
Severity
Medium
CCI
CCI-002422
Version
ALMA-09-043140
Vuln IDs
  • V-269440
Rule IDs
  • SV-269440r1050323_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. AlmaLinux OS 9 incorporates systemwide crypto policies by default. The employed algorithms can be viewed in the /etc/crypto-policies/back-ends/ directory.
Checks: C-73471r1048696_chk

Note: If the "bind" package is not installed, this requirement is Not Applicable. Verify that BIND uses the system crypto policy with the following command: $ grep include /etc/named.conf include "/etc/crypto-policies/back-ends/bind.config"; If BIND is installed and the BIND config file does not contain the "/etc/crypto-policies/back-ends/bind.config" directive, or the line is commented out, this is a finding.

Fix: F-73372r1049715_fix

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

b
AlmaLinux OS 9 wireless network adapters must be disabled.
SC-8 - Medium - CCI-002418 - V-269441 - SV-269441r1050324_rule
RMF Control
SC-8
Severity
Medium
CCI
CCI-002418
Version
ALMA-09-043250
Vuln IDs
  • V-269441
Rule IDs
  • SV-269441r1050324_rule
This requirement applies to wireless peripheral technologies (e.g., wireless mice, keyboards, displays, etc.) used with AlmaLinux OS 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 AlmaLinux OS 9 operating system. Satisfies: SRG-OS-000481-GPOS-00481, SRG-OS-000299-GPOS-00117, SRG-OS-000300-GPOS-00118
Checks: C-73472r1048699_chk

Note: If the system does not have physical wireless network radios, this requirement is Not Applicable. Verify there are no wireless interfaces configured on the system with the following commands: $ nmcli radio all WIFI-HW WIFI WWAN-HW WWAN enabled enabled missing disabled $ nmcli device status DEVICE TYPE STATE CONNECTION wlp2s0 wifi connected cafe lo loopback connected (externally) lo p2p-dev-wlp2s0 wifi-p2p disconnected -- enp3s0f2 ethernet unavailable -- 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-73373r1048700_fix

Configure the system to disable all wireless network interfaces with the following command: $ nmcli radio all off

b
AlmaLinux OS 9 must not show boot up messages.
SI-11 - Medium - CCI-001314 - V-269442 - SV-269442r1050325_rule
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
ALMA-09-043800
Vuln IDs
  • V-269442
Rule IDs
  • SV-269442r1050325_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 AlmaLinux OS 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-73473r1048702_chk

Without using the "quiet" grub kernel parameter, the hardware and service information are printed to the console on boot and sometimes afterwards. This information could be useful for attackers with physical access, or so-called "shoulder surfers". Boot failures will still be shown, as will the LUKS password prompt. Verify the grub bootloader has the "quiet" option set with the following command: $ grubby --info=ALL | grep quiet args="ro audit=1 audit_backlog_limit=8192 page_poison=1 vsyscall=none slub_debug=P pti=on iommu=force resume=/dev/mapper/luks-89bf0df8-547f-4613-af07-215e5f62e9a9 rd.luks.uuid=luks-8a7154ec-8eeb-46c8-9d75-66fc4b80d665 rd.lvm.lv=rootvg/root rd.luks.uuid=luks-89bf0df8-547f-4613-af07-215e5f62e9a9 rd.lvm.lv=rootvg/swap rd.shell=0 quiet splash fips=1 boot=UUID=eda01e9b-b7e1-431b-9549-16d5dcddf665 selinux=1 enforcing=1" args="ro audit=1 audit_backlog_limit=8192 page_poison=1 vsyscall=none slub_debug=P pti=on iommu=force resume=/dev/mapper/luks-89bf0df8-547f-4613-af07-215e5f62e9a9 rd.luks.uuid=luks-8a7154ec-8eeb-46c8-9d75-66fc4b80d665 rd.lvm.lv=rootvg/root rd.luks.uuid=luks-89bf0df8-547f-4613-af07-215e5f62e9a9 rd.lvm.lv=rootvg/swap rd.shell=0 quiet splash fips=1 boot=UUID=eda01e9b-b7e1-431b-9549-16d5dcddf665 selinux=1 enforcing=1" If nothing is returned, this is a finding.

Fix: F-73374r1048703_fix

Configure the grub bootloader to use the "quiet" parameter using the following command: $ grubby --update-kernel=ALL --args=quiet

b
AlmaLinux OS 9 /var/log directory must be group-owned by root.
SI-11 - Medium - CCI-001314 - V-269443 - SV-269443r1050326_rule
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
ALMA-09-043910
Vuln IDs
  • V-269443
Rule IDs
  • SV-269443r1050326_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 AlmaLinux OS 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-73474r1048705_chk

Verify the "/var/log" directory is group-owned by root with the following command: $ stat -c "%U:%G %#a %n" /var/log root:root 0755 /var/log If "/var/log" does not have a group-owner of "root", this is a finding.

Fix: F-73375r1048706_fix

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

b
AlmaLinux OS 9 /var/log/messages file must be group-owned by root.
SI-11 - Medium - CCI-001314 - V-269444 - SV-269444r1050327_rule
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
ALMA-09-044020
Vuln IDs
  • V-269444
Rule IDs
  • SV-269444r1050327_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 AlmaLinux OS 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-73475r1048708_chk

Verify the "/var/log/messages" file is group-owned by root with the following command: $ stat -c "%U:%G %#a %n" /var/log root:root 0755 /var/log If "/var/log/messages" does not have a group-owner of "root", this is a finding.

Fix: F-73376r1048709_fix

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

b
AlmaLinux OS 9 /var/log/messages file must be owned by root.
SI-11 - Medium - CCI-001314 - V-269445 - SV-269445r1050328_rule
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
ALMA-09-044130
Vuln IDs
  • V-269445
Rule IDs
  • SV-269445r1050328_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 AlmaLinux OS 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-73476r1048711_chk

Verify the "/var/log/messages" file is owned by root with the following command: $ stat -c "%U:%G %#a %n" /var/log root:root 0755 /var/log If "/var/log/messages" does not have an owner of "root", this is a finding.

Fix: F-73377r1048712_fix

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

b
AlmaLinux OS 9 /var/log/messages file must have mode 0640 or less permissive.
SI-11 - Medium - CCI-001314 - V-269446 - SV-269446r1050329_rule
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
ALMA-09-044240
Vuln IDs
  • V-269446
Rule IDs
  • SV-269446r1050329_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 AlmaLinux OS 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-73477r1048714_chk

Verify the "/var/log/messages" file has a mode of "0640" or less permissive with the following command: $ stat -c "%U:%G %#a %n" /var/log/messages root:root 0600 /var/log/messages If "/var/log/messages" does not have a mode of "0640" or less permissive, this is a finding.

Fix: F-73378r1048715_fix

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

b
AlmaLinux OS 9 /var/log directory must be owned by root.
SI-11 - Medium - CCI-001314 - V-269447 - SV-269447r1050330_rule
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
ALMA-09-044350
Vuln IDs
  • V-269447
Rule IDs
  • SV-269447r1050330_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 AlmaLinux OS 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-73478r1048717_chk

Verify the "/var/log" directory is owned by root with the following command: $ stat -c "%U:%G %#a %n" /var/log root:root 0755 /var/log If "/var/log" does not have an owner of "root", this is a finding.

Fix: F-73379r1048718_fix

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

b
AlmaLinux OS 9 /var/log directory must have mode 0755 or less permissive.
SI-11 - Medium - CCI-001314 - V-269448 - SV-269448r1050331_rule
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
ALMA-09-044460
Vuln IDs
  • V-269448
Rule IDs
  • SV-269448r1050331_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 AlmaLinux OS 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-73479r1048720_chk

Verify that the "/var/log" directory has a mode of "0755" or less permissive with the following command: $ stat -c "%U:%G %#a %n" /var/log root:root 0755 /var/log If "/var/log" does not have a mode of "0755" or less permissive, this is a finding.

Fix: F-73380r1048721_fix

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

b
AlmaLinux OS 9 must implement nonexecutable data to protect its memory from unauthorized code execution.
SI-16 - Medium - CCI-002824 - V-269449 - SV-269449r1050620_rule
RMF Control
SI-16
Severity
Medium
CCI
CCI-002824
Version
ALMA-09-044570
Vuln IDs
  • V-269449
Rule IDs
  • SV-269449r1050620_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 the memory regions of a process, such as the stack and heap, higher than this address, the hardware prevents execution in that address range.
Checks: C-73480r1049725_chk

Verify ExecShield is enabled on 64-bit AlmaLinux OS 9 systems with the following command: $ 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-73381r1048724_fix

Update the GRUB 2 bootloader configuration to ensure the noexec kernel parameter is not enabled using the following command: $ grubby --update-kernel=ALL --remove-args=noexec Enable the NX bit execute protection in the system BIOS.

b
AlmaLinux OS 9 must enable mitigations against processor-based vulnerabilities.
SI-16 - Medium - CCI-002824 - V-269450 - SV-269450r1050333_rule
RMF Control
SI-16
Severity
Medium
CCI
CCI-002824
Version
ALMA-09-044680
Vuln IDs
  • V-269450
Rule IDs
  • SV-269450r1050333_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).
Checks: C-73481r1049727_chk

Verify AlmaLinux OS 9 enables kernel page-table isolation with the following command: $ grubby --info=ALL | grep pti args="ro audit=1 selinux=1 enforcing=1 audit_backlog_limit=8192 page_poison=1 vsyscall=none slub_debug=P pti=on iommu=force resume=/dev/mapper/luks-88bf0df8-547f-4613-af07-215e5f62e9a9 rd.luks.uuid=luks-8a7154ec-8eeb-47c8-9d75-66fd4b80d665 rd.lvm.lv=rootvg/root rd.luks.uuid=luks-89bf0df8-547f-4613-af07-215e5f62e9a9 rd.lvm.lv=rootvg/swap rd.shell=0 quiet splash fips=1 boot=UUID=eda01e9b-b7e1-431b-9549-16d5dcddf665" 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: $ 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-73382r1049728_fix

Configure AlmaLinux OS 9 to enable kernel page-table isolation with the following command: $ 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
AlmaLinux OS 9 must clear SLUB/SLAB objects to prevent use-after-free attacks.
SI-16 - Medium - CCI-002824 - V-269451 - SV-269451r1050334_rule
RMF Control
SI-16
Severity
Medium
CCI
CCI-002824
Version
ALMA-09-044790
Vuln IDs
  • V-269451
Rule IDs
  • SV-269451r1050334_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 some 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.
Checks: C-73482r1048729_chk

Verify that GRUB 2 is configured to enable poisoning of SLUB/SLAB objects to mitigate use-after-free vulnerabilities with the following commands: Check that the current GRUB 2 configuration has poisoning of SLUB/SLAB objects enabled: $ 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: $ 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-73383r1049730_fix

Configure AlmaLinux OS 9 to enable poisoning of SLUB/SLAB objects with the following commands: $ 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"

b
AlmaLinux OS 9 must implement address space layout randomization (ASLR) to protect its memory from unauthorized code execution.
SI-16 - Medium - CCI-002824 - V-269452 - SV-269452r1050335_rule
RMF Control
SI-16
Severity
Medium
CCI
CCI-002824
Version
ALMA-09-044900
Vuln IDs
  • V-269452
Rule IDs
  • SV-269452r1050335_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-73483r1049732_chk

Verify AlmaLinux OS 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-73384r1048733_fix

Configure the system to enable ASLR with the following command: $ echo 'kernel.randomize_va_space = 2' > /etc/sysctl.d/60-aslr.conf Reload settings from all system configuration files with the following command: $ sysctl --system

b
AlmaLinux OS 9 must remove all software components after updated versions have been installed.
SI-2 - Medium - CCI-002617 - V-269453 - SV-269453r1050336_rule
RMF Control
SI-2
Severity
Medium
CCI
CCI-002617
Version
ALMA-09-045120
Vuln IDs
  • V-269453
Rule IDs
  • SV-269453r1050336_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-73484r1049734_chk

Verify AlmaLinux OS 9 removes all software components after updated versions have been installed with the following command: $ dnf config-manager --dump | grep clean clean_requirements_on_remove = 1 If "clean_requirements_on_remove" is not set to "1", this is a finding.

Fix: F-73385r1049735_fix

Configure AlmaLinux OS 9 to remove all software components after updated versions have been installed. Run the following command to change the configuration of DNF: $ dnf config-manager --setopt clean_requirements_on_remove=1 --save

c
AlmaLinux OS 9 must be a supported release.
SI-2 - High - CCI-002605 - V-269454 - SV-269454r1050337_rule
RMF Control
SI-2
Severity
High
CCI
CCI-002605
Version
ALMA-09-045125
Vuln IDs
  • V-269454
Rule IDs
  • SV-269454r1050337_rule
Security flaws with operating systems are discovered daily. Vendors are constantly updating and patching their products to address newly discovered security vulnerabilities. Organizations (including any contractor to the organization) are required to promptly install security-relevant software updates (e.g., patches, service packs, and hot fixes). Flaws discovered during security assessments, continuous monitoring, incident response activities, or information system error handling must also be addressed expeditiously.
Checks: C-73485r1049737_chk

Verify that the version of AlmaLinux is vendor supported with the following command: $ hostnamectl status | grep -i system AlmaLinux OS 9.2 (Turquois Kodkod) If the installed version of AlmaLinux is not supported, this is a finding.

Fix: F-73386r1048739_fix

Upgrade to a supported version of AlmaLinux.

b
AlmaLinux OS 9 must enable the SELinux targeted policy.
SI-6 - Medium - CCI-002696 - V-269455 - SV-269455r1050338_rule
RMF Control
SI-6
Severity
Medium
CCI
CCI-002696
Version
ALMA-09-045230
Vuln IDs
  • V-269455
Rule IDs
  • SV-269455r1050338_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-73486r1049739_chk

Verify the SELinux on AlmaLinux OS 9 is using the 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-73387r1049740_fix

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

b
AlmaLinux OS 9 must have the Advanced Intrusion Detection Environment (AIDE) package installed.
SI-6 - Medium - CCI-002696 - V-269456 - SV-269456r1050339_rule
RMF Control
SI-6
Severity
Medium
CCI
CCI-002696
Version
ALMA-09-045340
Vuln IDs
  • V-269456
Rule IDs
  • SV-269456r1050339_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-000446-GPOS-00200, SRG-OS-000363-GPOS-00150
Checks: C-73487r1049742_chk

Verify that AlmaLinux OS 9 has the AIDE package installed with the following command: $ dnf list --installed aide aide.x86_64 0.16-100.el9 @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: $ /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-73388r1048745_fix

Install AIDE, initialize it, and perform a manual check. Install AIDE: $ dnf install aide Initialize AIDE: $ /usr/sbin/aide --init Example output: Start timestamp: 2024-01-26 09:59:41 +0000 (AIDE 0.16) AIDE initialized database at /var/lib/aide/aide.db.new.gz Number of entries: 27922 --------------------------------------------------- The attributes of the (uncompressed) database(s): --------------------------------------------------- /var/lib/aide/aide.db.new.gz MD5 : p2o2MgLyXqLfsHGmHWR9nQ== SHA1 : C5R2JcZCSv3KRz0dMrcQ0JZdZV4= SHA256 : tUAG19G4gskBEfN+Z9pyVJi13rHA9f7P d9R5OivGk40= SHA512 : u26Um0w9hzsMmwZHNssCsmuxVqr9kBx+ Qx+9UBNQCBXlmWFCbq2Yx88BPCU5s/qy njPIODmPRg4I09jxs5KYjw== End timestamp: 2024-01-26 09:59:49 +0000 (run time: 0m 8s) The new database will need to be renamed to be read by AIDE: $ mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz Perform a manual check: $ /usr/sbin/aide --check Example output: Start timestamp: 2024-01-26 10:00:50 +0000 (AIDE 0.16) AIDE found NO differences between database and filesystem. Looks okay!!

b
AlmaLinux OS 9 must routinely check the baseline configuration for unauthorized changes and notify the system administrator when anomalies in the operation of any security functions are discovered.
SI-6 - Medium - CCI-002702 - V-269457 - SV-269457r1050340_rule
RMF Control
SI-6
Severity
Medium
CCI
CCI-002702
Version
ALMA-09-045450
Vuln IDs
  • V-269457
Rule IDs
  • SV-269457r1050340_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 system administrators (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-000447-GPOS-00201, SRG-OS-000446-GPOS-00200, SRG-OS-000363-GPOS-00150
Checks: C-73488r1049744_chk

Verify that AlmaLinux OS 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: $ find /etc/cron* -name '*aide*' /etc/cron.d/0aide $ grep aide /etc/crontab /var/spool/cron/root /var/spool/cron/root:30 04 * * * root /usr/sbin/aide --check $ more /etc/cron.d/aide @daily root /usr/sbin/aide --check | /bin/mail -s "$HOSTNAME - Daily aide integrity check run" root 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-73389r1048748_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: $ more /etc/cron.d/0aide /usr/sbin/aide --check | echo "Subject: $HOSTNAME - Daily aide integrity check run" | /bin/mail -t root

b
AlmaLinux OS 9 audit system must audit local events.
AU-12 - Medium - CCI-000169 - V-269458 - SV-269458r1050341_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000169
Version
ALMA-09-045670
Vuln IDs
  • V-269458
Rule IDs
  • SV-269458r1050341_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" is not set to "yes", only events from network will be aggregated.
Checks: C-73489r1049746_chk

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

Fix: F-73390r1049747_fix

Configure AlmaLinux OS 9 to generate audit records for local events by adding or updating the following line in "/etc/audit/auditd.conf": local_events = yes The audit daemon must be restarted for the changes to take effect.

b
AlmaLinux OS 9 /etc/audit/auditd.conf file must have 0640 or less permissive to prevent unauthorized access.
AU-12 - Medium - CCI-000171 - V-269459 - SV-269459r1050342_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000171
Version
ALMA-09-045780
Vuln IDs
  • V-269459
Rule IDs
  • SV-269459r1050342_rule
Without the capability to restrict which roles and individuals 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-73490r1048753_chk

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

Fix: F-73391r1048754_fix

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

b
AlmaLinux OS 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-269460 - SV-269460r1050343_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000171
Version
ALMA-09-045890
Vuln IDs
  • V-269460
Rule IDs
  • SV-269460r1050343_rule
Without the capability to restrict which roles and individuals 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-73491r1048756_chk

Verify that the following files have a mode of "0640" or less permissive with the following command: $ stat -c "%U:%G %#a %n" /etc/audit/rules.d/*.rules /etc/audit/audit.rules /etc/audit/auditd.conf root:root 0600 /etc/audit/rules.d/audit.rules root:root 0640 /etc/audit/audit.rules root:root 0640 /etc/audit/auditd.conf If the files file have a mode more permissive than "0640", this is a finding.

Fix: F-73392r1048757_fix

Configure the "/etc/audit/rules.d/*.rules", "/etc/audit/audit.rules" and "/etc/audit/auditd.conf" files to have a mode of "0640" with the following command: $ chmod 0640 /etc/audit/rules.d/*.rules /etc/audit/auditd.conf /etc/audit/audit.rules

b
Successful/unsuccessful uses of the init command in AlmaLinux OS 9 must generate an audit record.
AU-12 - Medium - CCI-000172 - V-269461 - SV-269461r1050344_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000172
Version
ALMA-09-046000
Vuln IDs
  • V-269461
Rule IDs
  • SV-269461r1050344_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-000477-GPOS-00222, SRG-OS-000471-GPOS-00215
Checks: C-73492r1049751_chk

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

Fix: F-73393r1049752_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "init" command. Add the following lines to 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 Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "poweroff" command.
AU-12 - Medium - CCI-000172 - V-269462 - SV-269462r1050345_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000172
Version
ALMA-09-046220
Vuln IDs
  • V-269462
Rule IDs
  • SV-269462r1050345_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-000477-GPOS-00222, SRG-OS-000471-GPOS-00215
Checks: C-73493r1049754_chk

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

Fix: F-73394r1049755_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "poweroff" command. Add the following to 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 Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "reboot" command.
AU-12 - Medium - CCI-000172 - V-269463 - SV-269463r1050346_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000172
Version
ALMA-09-046330
Vuln IDs
  • V-269463
Rule IDs
  • SV-269463r1050346_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-000477-GPOS-00222, SRG-OS-000471-GPOS-00215
Checks: C-73494r1049757_chk

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

Fix: F-73395r1049758_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "reboot" command. Add the following to 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 Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux must generate audit records for any use of the "shutdown" command.
AU-12 - Medium - CCI-000172 - V-269464 - SV-269464r1050347_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000172
Version
ALMA-09-046440
Vuln IDs
  • V-269464
Rule IDs
  • SV-269464r1050347_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-000477-GPOS-00222, SRG-OS-000471-GPOS-00215
Checks: C-73495r1049760_chk

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

Fix: F-73396r1049761_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "shutdown" command. Add the following to 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 Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must enable Linux audit logging for the USBGuard daemon.
AU-12 - Medium - CCI-000172 - V-269465 - SV-269465r1050348_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000172
Version
ALMA-09-046550
Vuln IDs
  • V-269465
Rule IDs
  • SV-269465r1050348_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.
Checks: C-73496r1049763_chk

Note: If the USBGuard daemon is not installed and enabled, this requirement is not applicable. Verify AlmaLinux OS 9 enables Linux audit logging of the USBGuard daemon with the following commands. $ grep AuditBackend /etc/usbguard/usbguard-daemon.conf AuditBackend=LinuxAudit If the "AuditBackend" entry does not equal "LinuxAudit", is missing, or the line is commented out, this is a finding.

Fix: F-73397r1049764_fix

Configure AlmaLinux OS 9 to enable Linux audit logging of the USBGuard daemon by adding or modifying the following line in "/etc/usbguard/usbguard-daemon.conf": AuditBackend=LinuxAudit

b
AlmaLinux OS 9 must audit all uses of the delete_module, init_module and finit_module system calls.
AU-12 - Medium - CCI-000172 - V-269466 - SV-269466r1050349_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000172
Version
ALMA-09-046660
Vuln IDs
  • V-269466
Rule IDs
  • SV-269466r1050349_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-000477-GPOS-00222, SRG-OS-000471-GPOS-00216
Checks: C-73497r1049766_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "delete_module", "init_module" and "finit_module" system calls with the following command: $ auditctl -l | grep 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 -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", "init_module" and "finit_module" system calls, or any of the lines returned are commented out, this is a finding.

Fix: F-73398r1049767_fix

Configure AlmaLinux OS 9 to generate an audit event for any successful/unsuccessful use of the "delete_module", "init_module" and "finit_module" system calls. Add the following lines to 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 -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 Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 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-269467 - SV-269467r1050350_rule
RMF Control
MA-4
Severity
Medium
CCI
CCI-002884
Version
ALMA-09-046770
Vuln IDs
  • V-269467
Rule IDs
  • SV-269467r1050350_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-000392-GPOS-00172, SRG-OS-000470-GPOS-00214, SRG-OS-000473-GPOS-00218
Checks: C-73498r1049769_chk

Verify AlmaLinux OS 9 generates audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/tallylog" with the following command: $ grep /var/log/tallylog /etc/audit/audit.rules -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-73399r1049770_fix

Configure AlmaLinux OS 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/tallylog". Add the following to the "/etc/audit/rules.d/audit.rules" file: -w /var/log/tallylog -p wa -k logins Merge the rules into /etc/audit/audit.rules: $ augenrules --load Reboot the server so the changes to take effect.

b
AlmaLinux OS 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-269468 - SV-269468r1050351_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-001487
Version
ALMA-09-046880
Vuln IDs
  • V-269468
Rule IDs
  • SV-269468r1050351_rule
Without information that establishes the identity of the subjects (i.e., users or processes acting on behalf of users) associated with the events, security personnel cannot determine responsibility for the potentially harmful event.
Checks: C-73499r1049772_chk

Verify that the AlmaLinux OS 9 audit system is configured to resolve audit information before writing to disk with the following command: $ 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-73400r1048781_fix

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

b
The audit package must be installed on AlmaLinux OS 9.
AU-3 - Medium - CCI-000130 - V-269469 - SV-269469r1050352_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-047100
Vuln IDs
  • V-269469
Rule IDs
  • SV-269469r1050352_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 usage or capacity thresholds, or identifying an improperly configured AlmaLinux OS 9 system. Satisfies: 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-00020, SRG-OS-000042-GPOS-00021, SRG-OS-000051-GPOS-00024, SRG-OS-000392-GPOS-00172, SRG-OS-000473-GPOS-00218, SRG-OS-000472-GPOS-00217, SRG-OS-000474-GPOS-00219, SRG-OS-000365-GPOS-00152, SRG-OS-000358-GPOS-00145, 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-000337-GPOS-00129, SRG-OS-000062-GPOS-00031, SRG-OS-000054-GPOS-00025
Checks: C-73500r1048783_chk

Verify that the audit package is installed with the following command: $ dnf list --installed audit Installed Packages audit.x86_64 3.0.7-103.el9 @anaconda If the "audit" package is not installed, this is a finding.

Fix: F-73401r1049774_fix

Install the AlmaLinux OS 9 audit package with the following command: $ dnf install audit

b
AlmaLinux OS 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-269470 - SV-269470r1050353_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-047540
Vuln IDs
  • V-269470
Rule IDs
  • SV-269470r1050353_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-000473-GPOS-00218, SRG-OS-000470-GPOS-00214
Checks: C-73501r1049776_chk

Verify AlmaLinux OS 9 generates audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/lastlog" with the following command: $ grep /var/log/lastlog /etc/audit/audit.rules -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-73402r1049777_fix

Configure AlmaLinux OS 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/lastlog". Add the following to the "/etc/audit/rules.d/audit.rules" file: -w /var/log/lastlog -p wa -k logins Merge the rules into /etc/audit/audit.rules: $ augenrules --load Reboot the server so the changes to take effect.

b
AlmaLinux OS 9 must generate audit records for any use of the "mount" command.
AU-3 - Medium - CCI-000130 - V-269471 - SV-269471r1050354_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-047650
Vuln IDs
  • V-269471
Rule IDs
  • SV-269471r1050354_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-73502r1049779_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "mount" command with the following command: $ auditctl -l | grep 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 an audit rule for "/usr/bin/mount" or any of the lines returned are commented out, this is a finding.

Fix: F-73403r1049780_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "umount" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-mount Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "umount" command.
AU-3 - Medium - CCI-000130 - V-269472 - SV-269472r1050355_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-047760
Vuln IDs
  • V-269472
Rule IDs
  • SV-269472r1050355_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-73503r1049782_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "umount" command with the following command: $ 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-73404r1049783_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "umount" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-mount Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
Successful/unsuccessful uses of the umount2 system call in AlmaLinux OS 9 must generate an audit record.
AU-3 - Medium - CCI-000130 - V-269473 - SV-269473r1050356_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-047870
Vuln IDs
  • V-269473
Rule IDs
  • SV-269473r1050356_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-73504r1049785_chk

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

Fix: F-73405r1049786_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "umount2" syscall. Add the following to the "/etc/audit/rules.d/audit.rules" file: -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 Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must enable auditing of processes that start prior to the audit daemon.
AU-3 - Medium - CCI-000130 - V-269474 - SV-269474r1050357_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-047980
Vuln IDs
  • V-269474
Rule IDs
  • SV-269474r1050357_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-73505r1048798_chk

Verify that GRUB 2 is configured to enable auditing of processes that start prior to the audit daemon with the following commands: Check that the all GRUB2 entries have auditing enabled: $ grubby --info=ALL | grep audit args="ro audit=1 selinux=1 enforcing=1 audit_backlog_limit=8192 page_poison=1 vsyscall=none slub_debug=P pti=on iommu=force boot=UUID=eda01e9b-b7e1-431b-9549-16d5dcddf665 resume=/dev/mapper/luks-89bf0df8-547f-4613-af07-215e5f62e9a9 rd.luks.uuid=luks-8a7154ec-8eeb-46c8-9d75-66fc4b80d665 rd.lvm.lv=rootvg/root rd.luks.uuid=luks-89bf0df8-547f-4613-af07-215e5f62e9a9 rd.lvm.lv=rootvg/swap fips=1 rd.shell=0 quiet splash" If "audit" is not set to "1" or is missing, this is a finding. Check that auditing is enabled by default to persist in kernel updates: $ grep audit /etc/default/grub GRUB_CMDLINE_LINUX="audit=1 selinux=1 enforcing=1 audit_backlog_limit=8192 page_poison=1 vsyscall=none slub_debug=P pti=on iommu=force boot=UUID=eda01e9b-b7e1-431b-9549-16d5dcddf665 resume=/dev/mapper/luks-89bf0df8-547f-4613-af07-215e5f62e9a9 rd.luks.uuid=luks-8a7154ec-8eeb-46c8-9d75-66fc4b80d665 rd.lvm.lv=rootvg/root rd.luks.uuid=luks-89bf0df8-547f-4613-af07-215e5f62e9a9 rd.lvm.lv=rootvg/swap fips=1 rd.shell=0 quiet splash" If "audit" is not set to "1", is missing, or is commented out, this is a finding.

Fix: F-73406r1048799_fix

Enable auditing of processes that start prior to the audit daemon with the following command: $ grubby --update-kernel=ALL --args="audit=1"

b
AlmaLinux OS 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-269475 - SV-269475r1050358_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-048090
Vuln IDs
  • V-269475
Rule IDs
  • SV-269475r1050358_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-73506r1049789_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "truncate", "ftruncate", "creat", "open", "openat", and "open_by_handle_at" system calls with the following command: $ grep -E 'open|truncate|creat' /etc/audit/audit.rules -a always,exit -F arch=b32 -S open,creat,truncate,ftruncate,openat,open_by_handle_at -F exit=-EPERM -F auid&gt;=1000 -F auid!=unset -F key=perm_access -a always,exit -F arch=b64 -S open,truncate,ftruncate,creat,openat,open_by_handle_at -F exit=-EPERM -F auid&gt;=1000 -F auid!=unset -F key=perm_access -a always,exit -F arch=b32 -S open,creat,truncate,ftruncate,openat,open_by_handle_at -F exit=-EACCES -F auid&gt;=1000 -F auid!=unset -F key=perm_access -a always,exit -F arch=b64 -S open,truncate,ftruncate,creat,openat,open_by_handle_at -F exit=-EACCES -F auid&gt;=1000 -F auid!=unset -F key=perm_access If both the "b32" and "b64" audit rules are not defined for the "truncate", "ftruncate", "creat", "open", "openat", and "open_by_handle_at" system calls, or any of the lines returned are commented out, this is a finding.

Fix: F-73407r1049790_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "truncate", "ftruncate", "creat", "open", "openat", and "open_by_handle_at" syscalls. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F arch=b64 -S creat,open,openat,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access -a always,exit -F arch=b64 -S creat,open,openat,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access -a always,exit -F arch=b32 -S creat,open,openat,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access -a always,exit -F arch=b32 -S creat,open,openat,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "chacl" command.
AU-3 - Medium - CCI-000130 - V-269476 - SV-269476r1050359_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-048200
Vuln IDs
  • V-269476
Rule IDs
  • SV-269476r1050359_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-73507r1049792_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "chacl" command with the following command: $ grep /chacl /etc/audit/audit.rules -a always,exit -S all -F path=/usr/bin/chacl -F perm=x -F auid&gt;=1000 -F auid!=unset -F key=perm_mod If the command does not return an audit rule for "chacl" or any of the lines returned are commented out, this is a finding.

Fix: F-73408r1049793_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "chacl" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "chage" command.
AU-3 - Medium - CCI-000130 - V-269477 - SV-269477r1050360_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-048310
Vuln IDs
  • V-269477
Rule IDs
  • SV-269477r1050360_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-73508r1049795_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "chage" command with the following command: $ grep /chage /etc/audit/audit.rules -a always,exit -S all -F path=/usr/bin/chage -F perm=x -F auid&gt;=1000 -F auid!=unset -F key=privileged-chage If the command does not return an audit rule for "chage" or any of the lines returned are commented out, this is a finding.

Fix: F-73409r1049796_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "chage" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -k privileged Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "chcon" command.
AU-3 - Medium - CCI-000130 - V-269478 - SV-269478r1050361_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-048420
Vuln IDs
  • V-269478
Rule IDs
  • SV-269478r1050361_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, SRG-OS-000463-GPOS-00207, SRG-OS-000465-GPOS-00209
Checks: C-73509r1049798_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "chcon" command with the following command: $ grep /chcon /etc/audit/audit.rules -a always,exit -S all -F path=/usr/bin/chcon -F perm=x -F auid&gt;=1000 -F auid!=unset -F key=perm_mod If the command does not return an audit rule for "chcon" or any of the lines returned are commented out, this is a finding.

Fix: F-73410r1049799_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "chcon" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must audit all uses of the chmod, fchmod, and fchmodat system calls.
AU-3 - Medium - CCI-000130 - V-269479 - SV-269479r1050362_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-048530
Vuln IDs
  • V-269479
Rule IDs
  • SV-269479r1050362_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-000466-GPOS-00210, SRG-OS-000458-GPOS-00203
Checks: C-73510r1049801_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "chmod", "fchmod", and "fchmodat" system calls with the following command: $ 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-73411r1049802_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "chmod", "fchmod", and "fchmodat" syscalls. Add the following lines to the "/etc/audit/rules.d/audit.rules" file: -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 Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must audit all uses of the chown, fchown, fchownat, and lchown system calls.
AU-3 - Medium - CCI-000130 - V-269480 - SV-269480r1050363_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-048640
Vuln IDs
  • V-269480
Rule IDs
  • SV-269480r1050363_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-000466-GPOS-00210, SRG-OS-000458-GPOS-00203, SRG-OS-000474-GPOS-00219
Checks: C-73511r1049804_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "chown", "fchown", "fchownat", and "lchown" system calls with the following command: $ 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-73412r1049805_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "chown", "fchown", and "fchownat" and "lchown" syscalls. Add the following to the "/etc/audit/rules.d/audit.rules" file: -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 Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "chsh" command.
AU-3 - Medium - CCI-000130 - V-269481 - SV-269481r1050364_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-048750
Vuln IDs
  • V-269481
Rule IDs
  • SV-269481r1050364_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-73512r1049807_chk

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

Fix: F-73413r1049808_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "chsh" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -k priv_cmd Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "crontab" command.
AU-3 - Medium - CCI-000130 - V-269482 - SV-269482r1050365_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-048860
Vuln IDs
  • V-269482
Rule IDs
  • SV-269482r1050365_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-73513r1049810_chk

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

Fix: F-73414r1049811_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "crontab" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -k privileged-crontab Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must audit all uses of the rename, unlink, rmdir, renameat, and unlinkat system calls.
AU-3 - Medium - CCI-000130 - V-269483 - SV-269483r1050366_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-048970
Vuln IDs
  • V-269483
Rule IDs
  • SV-269483r1050366_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-73514r1049813_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "rename", "unlink", "rmdir", "renameat", and "unlinkat" system calls with the following command: $ auditctl -l | grep rename -a always,exit -F arch=b32 -S unlink,rename,rmdir,unlinkat,renameat -F auid&gt;=1000 -F auid!=unset -F key=delete -a always,exit -F arch=b64 -S rename,rmdir,unlink,unlinkat,renameat -F auid&gt;=1000 -F auid!=unset -F key=delete If both the "b32" and "b64" audit rules are not defined for the "rename", "unlink", "rmdir", "renameat", and "unlinkat" system calls, or any of the lines returned are commented out, this is a finding.

Fix: F-73415r1049814_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "rename", "unlink", "rmdir", "renameat", and "unlinkat" syscalls. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F arch=b64 -S rename,unlink,unlinkat,renameat -F auid>=1000 -F auid!=unset -F key=delete -a always,exit -F arch=b32 -S rename,unlink,unlinkat,renameat -F auid>=1000 -F auid!=unset -F key=delete Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for all account creations, modifications, disabling, and termination events that affect /var/log/faillock.
AU-12 - Medium - CCI-000172 - V-269484 - SV-269484r1050367_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000172
Version
ALMA-09-049080
Vuln IDs
  • V-269484
Rule IDs
  • SV-269484r1050367_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-000477-GPOS-00222, SRG-OS-000476-GPOS-00221, SRG-OS-000475-GPOS-00220
Checks: C-73515r1049816_chk

Verify AlmaLinux OS 9 generates audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/faillock" with the following command: $ grep /var/log/faillock /etc/audit/audit.rules -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-73416r1049817_fix

Configure AlmaLinux OS 9 to generate audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/faillock". Add the following to the "/etc/audit/rules.d/audit.rules" file: -w /var/log/faillock -p wa -k logins Merge the rules into /etc/audit/audit.rules: $ augenrules --load Reboot the server so the changes to take effect.

b
AlmaLinux OS 9 must generate audit records for any use of the "gpasswd" command.
AU-3 - Medium - CCI-000130 - V-269485 - SV-269485r1050368_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-049190
Vuln IDs
  • V-269485
Rule IDs
  • SV-269485r1050368_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-73516r1049819_chk

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

Fix: F-73417r1049820_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "gpasswd" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-gpasswd Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must audit all uses of the kmod command.
AU-3 - Medium - CCI-000130 - V-269486 - SV-269486r1050369_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-049300
Vuln IDs
  • V-269486
Rule IDs
  • SV-269486r1050369_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-73517r1049822_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "kmod" command with the following command: $ 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-73418r1049823_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "kmod" command. Add the following lines to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -k modules Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "newgrp" command.
AU-3 - Medium - CCI-000130 - V-269487 - SV-269487r1050370_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-049410
Vuln IDs
  • V-269487
Rule IDs
  • SV-269487r1050370_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-73518r1049825_chk

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

Fix: F-73419r1049826_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "newgrp" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -k priv_cmd Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "passwd" command.
AU-3 - Medium - CCI-000130 - V-269488 - SV-269488r1050371_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-049520
Vuln IDs
  • V-269488
Rule IDs
  • SV-269488r1050371_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-73519r1049828_chk

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

Fix: F-73420r1049829_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "passwd" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-passwd Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "postdrop" command.
AU-3 - Medium - CCI-000130 - V-269489 - SV-269489r1050372_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-049630
Vuln IDs
  • V-269489
Rule IDs
  • SV-269489r1050372_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-73520r1049831_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "postdrop" command with the following command: $ auditctl -l | grep postdrop -a always,exit -S all -F path=/usr/sbin/postdrop -F perm=x -F auid&gt;=1000 -F auid!=unset -F key=privileged-unix-update If the command does not return an audit rule for "postdrop" or any of the lines returned are commented out, this is a finding.

Fix: F-73421r1049832_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "postdrop" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "postqueue" command.
AU-3 - Medium - CCI-000130 - V-269490 - SV-269490r1050373_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-049740
Vuln IDs
  • V-269490
Rule IDs
  • SV-269490r1050373_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-73521r1049834_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "postqueue" command with the following command: $ auditctl -l | grep postqueue -a always,exit -S all -F path=/usr/sbin/postqueue -F perm=x -F auid&gt;=1000 -F auid!=unset -F key=privileged-unix-update If the command does not return an audit rule for "postqueue" or any of the lines returned are commented out, this is a finding.

Fix: F-73422r1049835_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "postqueue" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "su" command.
AU-3 - Medium - CCI-000130 - V-269491 - SV-269491r1050374_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-049850
Vuln IDs
  • V-269491
Rule IDs
  • SV-269491r1050374_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-73522r1049837_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "su" command with the following command: $ grep -w path=/usr/bin/su /etc/audit/audit.rules -a always,exit -S all -F path=/usr/bin/su -F perm=x -F auid&gt;=1000 -F auid!=unset -F key=privileged-priv_change If the command does not return a matching line, this is a finding.

Fix: F-73423r1049838_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "su" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -S all -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged-priv_change Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "sudo" command.
AU-3 - Medium - CCI-000130 - V-269492 - SV-269492r1050375_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-049960
Vuln IDs
  • V-269492
Rule IDs
  • SV-269492r1050375_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-73523r1049840_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "sudo" command. $ grep -w path=/usr/bin/sudo /etc/audit/audit.rules -a always,exit -S all -F path=/usr/bin/sudo -F perm=x -F auid&gt;=1000 -F auid!=unset -F key=priv_cmd If the command does not return a matching line, this is a finding.

Fix: F-73424r1049841_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "sudo" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -S all -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=priv_cmd Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "semanage" command.
AU-3 - Medium - CCI-000130 - V-269493 - SV-269493r1050376_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-050070
Vuln IDs
  • V-269493
Rule IDs
  • SV-269493r1050376_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-73524r1049843_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "semanage" command with the following command: $ auditctl -l | grep semanage -a always,exit -S all -F path=/usr/sbin/semanage -F perm=x -F auid&gt;=1000 -F auid!=unset -F key=privileged-unix-update If the command does not return an audit rule for "semanage" or any of the lines returned are commented out, this is a finding.

Fix: F-73425r1049844_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "semanage" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update" Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "setfacl" command.
AU-3 - Medium - CCI-000130 - V-269494 - SV-269494r1050377_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-050180
Vuln IDs
  • V-269494
Rule IDs
  • SV-269494r1050377_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-73525r1049846_chk

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

Fix: F-73426r1049847_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "setfacl" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "setfiles" command.
AU-3 - Medium - CCI-000130 - V-269495 - SV-269495r1050378_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-050290
Vuln IDs
  • V-269495
Rule IDs
  • SV-269495r1050378_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-73526r1049849_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "setfiles" command with the following command: $ 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 an audit rule for "setfiles" or any of the lines returned are commented out, this is a finding.

Fix: F-73427r1049850_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "setfiles" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "setsebool" command.
AU-3 - Medium - CCI-000130 - V-269496 - SV-269496r1050379_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-050400
Vuln IDs
  • V-269496
Rule IDs
  • SV-269496r1050379_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-73527r1049852_chk

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

Fix: F-73428r1049853_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "setsebool" command. Add the following to 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 Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "ssh-agent" command.
AU-3 - Medium - CCI-000130 - V-269497 - SV-269497r1050380_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-050510
Vuln IDs
  • V-269497
Rule IDs
  • SV-269497r1050380_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-73528r1049855_chk

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

Fix: F-73429r1049856_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "ssh-agent" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "ssh-keysign" command.
AU-3 - Medium - CCI-000130 - V-269498 - SV-269498r1050381_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-050620
Vuln IDs
  • V-269498
Rule IDs
  • SV-269498r1050381_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-73529r1049858_chk

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

Fix: F-73430r1049859_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "ssh-keysign" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/bin/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "sudoedit" command.
AU-3 - Medium - CCI-000130 - V-269499 - SV-269499r1050382_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-050730
Vuln IDs
  • V-269499
Rule IDs
  • SV-269499r1050382_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-73530r1049861_chk

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

Fix: F-73431r1049862_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "sudoedit" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/bin/sudoedit -F perm=x -F auid>=1000 -F auid!=unset -k priv_cmd Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "pam_timestamp_check" command.
AU-3 - Medium - CCI-000130 - V-269500 - SV-269500r1050383_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-050840
Vuln IDs
  • V-269500
Rule IDs
  • SV-269500r1050383_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-73531r1049864_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "pam_timestamp_check" command with the following command: $ auditctl -l | grep timestamp -a always,exit -S all -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid&gt;=1000 -F auid!=unset -F key=privileged-pam_timestamp_check If the command does not return an audit rule for "pam_timestamp_check" or any of the lines returned are commented out, this is a finding.

Fix: F-73432r1049865_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "pam_timestamp_check" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid>=1000 -F auid!=unset -k privileged-pam_timestamp_check Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "unix_chkpwd" command.
AU-3 - Medium - CCI-000130 - V-269501 - SV-269501r1050384_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-050950
Vuln IDs
  • V-269501
Rule IDs
  • SV-269501r1050384_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-73532r1049867_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "unix_chkpwd" command with the following command: $ auditctl -l | grep unix_chkpwd -a always,exit -S all -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid&gt;=1000 -F auid!=unset -F key=privileged-unix-update If the command does not return an audit rule for "unix_chkpwd" or any of the lines returned are commented out, this is a finding.

Fix: F-73433r1049868_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "unix_chkpwd" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "unix_update" command.
AU-3 - Medium - CCI-000130 - V-269502 - SV-269502r1050385_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-051060
Vuln IDs
  • V-269502
Rule IDs
  • SV-269502r1050385_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-000064-GPOS-00033, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215
Checks: C-73533r1049870_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "unix_update" command with the following command: $ grep /unix_update /etc/audit/audit.rules -a always,exit -S all -F path=/usr/sbin/unix_update -F perm=x -F auid&gt;=1000 -F auid!=unset -F key=privileged-unix-update If the command does not return an audit rule for "unix_update" or any of the lines returned are commented out, this is a finding.

Fix: F-73434r1049871_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "unix_update" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "userhelper" command.
AU-3 - Medium - CCI-000130 - V-269503 - SV-269503r1050386_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-051170
Vuln IDs
  • V-269503
Rule IDs
  • SV-269503r1050386_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-73534r1049873_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "userhelper" command with the following command: $ auditctl -l | grep userhelper -a always,exit -S all -F path=/usr/sbin/userhelper -F perm=x -F auid&gt;=1000 -F auid!=unset -F key=privileged-unix-update If the command does not return an audit rule for "userhelper" or any of the lines returned are commented out, this is a finding.

Fix: F-73435r1049874_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "userhelper" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must generate audit records for any use of the "usermod" command.
AU-3 - Medium - CCI-000130 - V-269504 - SV-269504r1050387_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-051280
Vuln IDs
  • V-269504
Rule IDs
  • SV-269504r1050387_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-73535r1049876_chk

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

Fix: F-73436r1049877_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "usermod" command. Add the following to the "/etc/audit/rules.d/audit.rules" file: -a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-usermod Merge the rules into /etc/audit/audit.rules: $ augenrules --load

b
AlmaLinux OS 9 must audit all uses of the setxattr, fsetxattr, lsetxattr, removexattr, fremovexattr, and lremovexattr system calls.
AU-3 - Medium - CCI-000130 - V-269505 - SV-269505r1050388_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000130
Version
ALMA-09-051390
Vuln IDs
  • V-269505
Rule IDs
  • SV-269505r1050388_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-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-73536r1049879_chk

Verify that AlmaLinux OS 9 is configured to audit the execution of the "setxattr", "fsetxattr", "lsetxattr", "removexattr", "fremovexattr", and "lremovexattr" system calls with the following command: $ auditctl -l | grep xattr -a always,exit -F arch=b32 -S setxattr,lsetxattr,fsetxattr,removexattr,lremovexattr,fremovexattr -F auid&gt;=1000 -F auid!=unset -F key=perm_mod -a always,exit -F arch=b64 -S setxattr,lsetxattr,fsetxattr,removexattr,lremovexattr,fremovexattr -F auid&gt;=1000 -F auid!=unset -F key=perm_mod -a always,exit -F arch=b32 -S setxattr,lsetxattr,fsetxattr,removexattr,lremovexattr,fremovexattr -F auid=0 -F key=perm_mod -a always,exit -F arch=b64 -S setxattr,lsetxattr,fsetxattr,removexattr,lremovexattr,fremovexattr -F auid=0 -F key=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-73437r1049880_fix

Configure AlmaLinux OS 9 to generate audit records upon successful/unsuccessful attempts to use the "setxattr", "fsetxattr", "lsetxattr", "removexattr", "fremovexattr", and "lremovexattr" syscalls. Add the following to the "/etc/audit/rules.d/audit.rules" file: -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 Merge the rules into /etc/audit/audit.rules: $ augenrules --load

a
AlmaLinux OS 9 must allocate an audit_backlog_limit of sufficient size to capture processes that start prior to the audit daemon.
AU-4 - Low - CCI-001849 - V-269506 - SV-269506r1050389_rule
RMF Control
AU-4
Severity
Low
CCI
CCI-001849
Version
ALMA-09-051830
Vuln IDs
  • V-269506
Rule IDs
  • SV-269506r1050389_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.
Checks: C-73537r1049882_chk

Verify AlmaLinux OS 9 allocates a sufficient audit_backlog_limit to capture processes that start prior to the audit daemon with the following command: $ 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-73438r1049883_fix

Configure AlmaLinux OS 9 to allocate sufficient audit_backlog_limit to capture processes that start prior to the audit daemon with the following command: $ grubby --update-kernel=ALL --args=audit_backlog_limit=8192

a
AlmaLinux OS 9 must use a separate file system for the system audit data path.
AU-4 - Low - CCI-001849 - V-269507 - SV-269507r1050390_rule
RMF Control
AU-4
Severity
Low
CCI
CCI-001849
Version
ALMA-09-051940
Vuln IDs
  • V-269507
Rule IDs
  • SV-269507r1050390_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-73538r1048897_chk

Verify that a separate file system/partition has been created for the system audit data path with the following command: Note: /var/log/audit is used as the example as it is a common location. $ findmnt /var/log/audit TARGET SOURCE FSTYPE OPTIONS /var/log/audit /dev/mapper/luks-29b74747-2f82-4472-82f5-0b5eb763effc xfs rw,nosuid,nodev,noexec,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota If no line is returned, this is a finding.

Fix: F-73439r1048898_fix

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

b
AlmaLinux OS 9 must allocate audit record storage capacity to store at least one week's worth of audit records.
AU-4 - Medium - CCI-001849 - V-269508 - SV-269508r1050391_rule
RMF Control
AU-4
Severity
Medium
CCI
CCI-001849
Version
ALMA-09-052050
Vuln IDs
  • V-269508
Rule IDs
  • SV-269508r1050391_rule
To ensure AlmaLinux OS 9 systems have a sufficient storage capacity in which to write the audit logs, AlmaLinux OS 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 AlmaLinux OS 9.
Checks: C-73539r1049886_chk

Verify AlmaLinux OS 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: $ grep -w 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/ Filesystem Size Used Avail Use% Mounted on /dev/mapper/luks-29b74747-2f82-4472-82f5-0b8eb763effc 1002M 77M 926M 8% /var/log/audit If the audit record partition is not allocated for sufficient storage capacity, this is a finding.

Fix: F-73440r1048901_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
AlmaLinux OS 9 audispd-plugins package must be installed.
AU-4 - Medium - CCI-001851 - V-269509 - SV-269509r1050392_rule
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
ALMA-09-052160
Vuln IDs
  • V-269509
Rule IDs
  • SV-269509r1050392_rule
"audispd-plugins" provides plugins for the real-time interface to the audit subsystem, "audispd". These plugins can do things like relay events to remote machines or analyze events for suspicious behavior.
Checks: C-73540r1049888_chk

Verify that AlmaLinux OS 9 has the audispd-plugins package for installed with the following command: $ dnf list --installed audispd-plugins audispd-plugins.x86_64 3.0.7-103.el9 @anaconda If the "audispd-plugins" package is not installed, this is a finding.

Fix: F-73441r1048904_fix

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

b
AlmaLinux OS 9 must label all offloaded audit logs before sending them to the central log server.
AU-4 - Medium - CCI-001851 - V-269510 - SV-269510r1050393_rule
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
ALMA-09-052270
Vuln IDs
  • V-269510
Rule IDs
  • SV-269510r1050393_rule
When audit logs are not labelled 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.
Checks: C-73541r1049890_chk

Verify that AlmaLinux OS 9 Audit Daemon is configured to label all offloaded audit logs, with the following command: $ 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-73442r1048907_fix

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

b
AlmaLinux OS 9 must take appropriate action when the internal event queue is full.
AU-4 - Medium - CCI-001851 - V-269511 - SV-269511r1050394_rule
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
ALMA-09-052380
Vuln IDs
  • V-269511
Rule IDs
  • SV-269511r1050394_rule
The audit system should have an action setup in the event the internal event queue becomes full so that no data is lost.
Checks: C-73542r1049892_chk

Verify that AlmaLinux OS 9 audit system is configured to take an appropriate action when the internal event queue is full: $ 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-73443r1048910_fix

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

b
AlmaLinux OS 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-269512 - SV-269512r1050395_rule
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
ALMA-09-052490
Vuln IDs
  • V-269512
Rule IDs
  • SV-269512r1050395_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.
Checks: C-73543r1049894_chk

Verify AlmaLinux OS 9 is configured use the audisp-remote syslog service with the following command: $ 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-73444r1048913_fix

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

b
AlmaLinux OS 9 must authenticate the remote logging server for offloading audit logs via rsyslog.
AU-4 - Medium - CCI-001851 - V-269513 - SV-269513r1050396_rule
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
ALMA-09-052600
Vuln IDs
  • V-269513
Rule IDs
  • SV-269513r1050396_rule
Information stored in one location is vulnerable to accidental or incidental deletion or alteration. Off-loading is a common process in information systems with limited audit storage capacity.
Checks: C-73544r1049896_chk

Verify AlmaLinux OS 9 authenticates the remote logging server for offloading audit logs with the following command: $ grep -i '$ActionSendStreamDriverAuthMode' /etc/rsyslog.conf /etc/rsyslog.d/*.conf /etc/rsyslog.d/stig.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-73445r1049897_fix

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

b
AlmaLinux OS 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-269514 - SV-269514r1050397_rule
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
ALMA-09-052710
Vuln IDs
  • V-269514
Rule IDs
  • SV-269514r1050397_rule
Information stored in one location is vulnerable to accidental or incidental deletion or alteration. Off-loading is a common process in information systems with limited audit storage capacity.
Checks: C-73545r1049899_chk

Verify AlmaLinux OS 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.d/stig.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-73446r1049900_fix

Configure AlmaLinux OS 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
AlmaLinux OS 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-269515 - SV-269515r1050398_rule
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
ALMA-09-052820
Vuln IDs
  • V-269515
Rule IDs
  • SV-269515r1050398_rule
Information stored in one location is vulnerable to accidental or incidental deletion or alteration. Off-loading is a common process in information systems with limited audit storage capacity.
Checks: C-73546r1049902_chk

Verify AlmaLinux OS 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.d/stig.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-73447r1049903_fix

Configure AlmaLinux OS 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
AlmaLinux OS 9 must have the rsyslog package installed.
AU-4 - Medium - CCI-001851 - V-269516 - SV-269516r1050399_rule
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
ALMA-09-052930
Vuln IDs
  • V-269516
Rule IDs
  • SV-269516r1050399_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.
Checks: C-73547r1049905_chk

Verify that AlmaLinux OS 9 has the rsyslog package installed with the following command: $ dnf list --installed rsyslog rsyslog.x86_64 8.2102.0-113.el9_2.1 @appstream If the "rsyslog" package is not installed, this is a finding.

Fix: F-73448r1048925_fix

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

a
AlmaLinux OS 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 - Low - CCI-001851 - V-269517 - SV-269517r1050400_rule
RMF Control
AU-4
Severity
Low
CCI
CCI-001851
Version
ALMA-09-053040
Vuln IDs
  • V-269517
Rule IDs
  • SV-269517r1050400_rule
Information stored in one location is vulnerable to accidental or incidental deletion or alteration. Off-loading is a common process in information systems with limited audit storage capacity.
Checks: C-73548r1049907_chk

Verify that AlmaLinux OS 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.d/stig.conf:*.* @@loghost.example.com" 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-73449r1049908_fix

Configure AlmaLinux OS 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. *.* @@[server]:[port]"

b
The rsyslog service on AlmaLinux OS 9 must be active.
AU-4 - Medium - CCI-001851 - V-269518 - SV-269518r1050401_rule
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
ALMA-09-053150
Vuln IDs
  • V-269518
Rule IDs
  • SV-269518r1050401_rule
The "rsyslog" service must be running to provide logging services, which are essential to system administration.
Checks: C-73549r1048930_chk

Verify that "rsyslog" is active with the following command: $ systemctl status rsyslog rsyslog.service - System Logging Service Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; preset: enabled) Active: active (running) since Mon 2024-03-04 10:10:08 UTC; 3h 20min ago If the rsyslog service is not active, this is a finding.

Fix: F-73450r1048931_fix

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

b
AlmaLinux OS 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-269519 - SV-269519r1050402_rule
RMF Control
AU-5
Severity
Medium
CCI
CCI-001855
Version
ALMA-09-053260
Vuln IDs
  • V-269519
Rule IDs
  • SV-269519r1050402_rule
If security personnel are not notified immediately when storage volume reaches 75 percent usage, they are unable to plan for audit record storage capacity expansion.
Checks: C-73550r1049911_chk

Verify AlmaLinux OS 9 takes action when allocated audit record storage volume reaches 95 percent of the repository maximum audit record storage capacity with the following command: $ 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-73451r1049912_fix

Configure AlmaLinux OS 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
AlmaLinux OS 9 must take action when allocated audit record storage volume reaches 95 percent of the repository maximum audit record storage capacity.
AU-5 - Medium - CCI-001855 - V-269520 - SV-269520r1050403_rule
RMF Control
AU-5
Severity
Medium
CCI
CCI-001855
Version
ALMA-09-053370
Vuln IDs
  • V-269520
Rule IDs
  • SV-269520r1050403_rule
If security personnel are not notified immediately when storage volume reaches 75 percent usage, they are unable to plan for audit record storage capacity expansion.
Checks: C-73551r1049914_chk

Verify that AlmaLinux OS 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: $ 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-73452r1048937_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.

b
AlmaLinux OS 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-269521 - SV-269521r1050404_rule
RMF Control
AU-5
Severity
Medium
CCI
CCI-001855
Version
ALMA-09-053480
Vuln IDs
  • V-269521
Rule IDs
  • SV-269521r1050404_rule
If security personnel are not notified immediately when storage volume reaches 75 percent usage, they are unable to plan for audit record storage capacity expansion.
Checks: C-73552r1049916_chk

Verify AlmaLinux OS 9 takes action when allocated audit record storage volume reaches 75 percent of the repository maximum audit record storage capacity with the following command: $ 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-73453r1049917_fix

Configure AlmaLinux OS 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
AlmaLinux OS 9 must notify the system administrator (SA) and information system security officer (ISSO) (at a minimum) when allocated audit record storage volume reaches 75 percent usage.
AU-5 - Medium - CCI-001855 - V-269522 - SV-269522r1050604_rule
RMF Control
AU-5
Severity
Medium
CCI
CCI-001855
Version
ALMA-09-053590
Vuln IDs
  • V-269522
Rule IDs
  • SV-269522r1050604_rule
If security personnel are not notified immediately when storage volume reaches 75 percent usage, they are unable to plan for audit record storage capacity expansion.
Checks: C-73553r1049919_chk

Verify AlmaLinux OS 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: $ 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-73454r1049920_fix

Configure AlmaLinux OS 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
AlmaLinux OS 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-269523 - SV-269523r1050406_rule
RMF Control
AU-5
Severity
Medium
CCI
CCI-000139
Version
ALMA-09-053810
Vuln IDs
  • V-269523
Rule IDs
  • SV-269523r1050406_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-73554r1049922_chk

Verify that AlmaLinux OS 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: $ 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 (e.g. using syslog). If there is no evidence of the proper personnel being notified of an audit processing failure, this is a finding.

Fix: F-73455r1048946_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

b
AlmaLinux OS 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-269524 - SV-269524r1050407_rule
RMF Control
AU-5
Severity
Medium
CCI
CCI-000139
Version
ALMA-09-053920
Vuln IDs
  • V-269524
Rule IDs
  • SV-269524r1050407_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-73555r1049924_chk

Note: If postfix is not installed or used to send email remotely, then this requirement is Not Applicable. Verify that AlmaLinux OS 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-73456r1048949_fix

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

b
AlmaLinux OS 9 audit system must take appropriate action when an error writing to the audit storage volume occurs.
AU-5 - Medium - CCI-000140 - V-269525 - SV-269525r1050408_rule
RMF Control
AU-5
Severity
Medium
CCI
CCI-000140
Version
ALMA-09-054030
Vuln IDs
  • V-269525
Rule IDs
  • SV-269525r1050408_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. When availability is an overriding concern, other approved actions in response to an audit failure are as follows: 1) If the failure was caused by the lack of audit record storage capacity, the operating system must continue generating audit records if possible (automatically restarting the audit service if necessary), overwriting the oldest audit records in a first-in-first-out manner. 2) If audit records are sent to a centralized collection server and communication with this server is lost or the server fails, the operating system must queue audit records locally until communication is restored or until the audit records are retrieved manually. Upon restoration of the connection to the centralized collection server, action should be taken to synchronize the local audit data with the collection server.
Checks: C-73556r1049926_chk

Verify that AlmaLinux OS 9 takes the appropriate action when an audit processing failure occurs due to a disk error, with the following command: $ 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", is commented out, or is missing, this is a finding.

Fix: F-73457r1049927_fix

Configure AlmaLinux OS 9 to shut down by default upon audit failure (unless availability is an overriding concern). Add or update the following line ("disk_error_action" can be set to "HALT" or "SINGLE" depending on configuration) in the "/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 AlmaLinux OS 9 to notify system administration staff and ISSO staff in the event of an audit processing failure by setting the "disk_error_action" to "SYSLOG".

b
AlmaLinux OS 9 audit system must take appropriate action when the audit storage volume is full.
AU-5 - Medium - CCI-000140 - V-269526 - SV-269526r1050409_rule
RMF Control
AU-5
Severity
Medium
CCI
CCI-000140
Version
ALMA-09-054140
Vuln IDs
  • V-269526
Rule IDs
  • SV-269526r1050409_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. When availability is an overriding concern, other approved actions in response to an audit failure are as follows: 1) If the failure was caused by the lack of audit record storage capacity, the operating system must continue generating audit records if possible (automatically restarting the audit service if necessary), overwriting the oldest audit records in a first-in-first-out manner. 2) If audit records are sent to a centralized collection server and communication with this server is lost or the server fails, the operating system must queue audit records locally until communication is restored or until the audit records are retrieved manually. Upon restoration of the connection to the centralized collection server, action should be taken to synchronize the local audit data with the collection server.
Checks: C-73557r1049929_chk

Verify that AlmaLinux OS 9 takes the appropriate action when the audit storage volume is full, with the following command: $ 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", is commented out, or is missing, this is a finding.

Fix: F-73458r1049930_fix

Configure AlmaLinux OS 9 to shut down by default upon audit failure (unless availability is an overriding concern). Add or update the following line ("disk_full_action" can be set to "HALT" or "SINGLE" depending on configuration) in the "/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 AlmaLinux OS 9 to notify system administration staff and ISSO staff in the event of an audit processing failure by setting the "disk_full_action" to "SYSLOG".

b
AlmaLinux OS 9 must take appropriate action when a critical audit processing failure occurs.
AU-5 - Medium - CCI-000140 - V-269527 - SV-269527r1050410_rule
RMF Control
AU-5
Severity
Medium
CCI
CCI-000140
Version
ALMA-09-054250
Vuln IDs
  • V-269527
Rule IDs
  • SV-269527r1050410_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. When availability is an overriding concern, other approved actions in response to an audit failure are as follows: 1) If the failure was caused by the lack of audit record storage capacity, the operating system must continue generating audit records if possible (automatically restarting the audit service if necessary), overwriting the oldest audit records in a first-in-first-out manner. 2) If audit records are sent to a centralized collection server and communication with this server is lost or the server fails, the operating system must queue audit records locally until communication is restored or until the audit records are retrieved manually. Upon restoration of the connection to the centralized collection server, action should be taken to synchronize the local audit data with the collection server.
Checks: C-73558r1048957_chk

Verify the auditd service is configured to panic on a critical error with the following command: $ auditctl -s failure 2 A number of parameters will display. If the value for "failure" is not "2", and availability is not documented as an overriding concern, this is a finding.

Fix: F-73459r1049932_fix

Configure AlmaLinux OS 9 to halt the system when auditing failures occur. Add the following line to the /etc/audit/audit.rules file: -f 2 Reload the audit rules with the following command: auditctl -R /etc/audit/audit.rules

b
AlmaLinux OS 9 audit system must make full use of the audit storage space.
AU-5 - Medium - CCI-000140 - V-269528 - SV-269528r1050411_rule
RMF Control
AU-5
Severity
Medium
CCI
CCI-000140
Version
ALMA-09-054360
Vuln IDs
  • V-269528
Rule IDs
  • SV-269528r1050411_rule
max_log_file (size in megabytes) multiplied by num_logs must make full use of the auditd storage volume (separate to the root partition). If max_log_file_action is set to ROTATE or KEEP_LOGS then max_log_file must be set to a value that makes the most use of the storage available.
Checks: C-73559r1049934_chk

Verify that AlmaLinux OS 9 is configured to make full use of the auditd storage volume when rotation is enabled, with the following command: $ grep max_log_file /etc/audit/auditd.conf max_log_file = 8 If the value of the "max_log_file" option is not sufficiently large to maximize the use of the storage volume, is commented out, or is missing, this is a finding.

Fix: F-73460r1049935_fix

Configure AlmaLinux OS 9 to make full use of the auditd storage volume with rotation enabled. Add or update the following line in the "/etc/audit/auditd.conf" file to a value large enough to make efficient use of the auditd storage volume: max_log_file = 100

b
AlmaLinux OS 9 audit system must take appropriate action when the audit files have reached maximum size.
AU-5 - Medium - CCI-000140 - V-269529 - SV-269529r1050412_rule
RMF Control
AU-5
Severity
Medium
CCI
CCI-000140
Version
ALMA-09-054470
Vuln IDs
  • V-269529
Rule IDs
  • SV-269529r1050412_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. When availability is an overriding concern, other approved actions in response to an audit failure are as follows: 1) If the failure was caused by the lack of audit record storage capacity, the operating system must continue generating audit records if possible (automatically restarting the audit service if necessary), overwriting the oldest audit records in a first-in-first-out manner. 2) If audit records are sent to a centralized collection server and communication with this server is lost or the server fails, the operating system must queue audit records locally until communication is restored or until the audit records are retrieved manually. Upon restoration of the connection to the centralized collection server, action should be taken to synchronize the local audit data with the collection server.
Checks: C-73560r1049937_chk

Verify that AlmaLinux OS 9 takes the appropriate action when the audit files have reached maximum size, with the following command: $ 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", "KEEP_LOGS", is commented out, or is missing, this is a finding.

Fix: F-73461r1049938_fix

Configure AlmaLinux OS 9 to rotate the audit log when it reaches maximum size. Add or update the following line ("max_log_file_action" can be set to "ROTATE" or "KEEP_LOGS" depending on configuration) in the "/etc/audit/auditd.conf" file: max_log_file_action = ROTATE

b
AlmaLinux OS 9 audit system must retain an optimal number of audit records.
AU-5 - Medium - CCI-000140 - V-269530 - SV-269530r1050413_rule
RMF Control
AU-5
Severity
Medium
CCI
CCI-000140
Version
ALMA-09-054580
Vuln IDs
  • V-269530
Rule IDs
  • SV-269530r1050413_rule
max_log_file (size in megabytes) multiplied by num_logs must make full use of the auditd storage volume (separate to the root partition). If max_log_file_action is set to ROTATE or KEEP_LOGS then num_logs must be set to a value between 2 and 99.
Checks: C-73561r1049940_chk

Verify that AlmaLinux OS 9 is configured to make full use of the auditd storage volume when rotation is enabled, with the following command: $ grep num_logs /etc/audit/auditd.conf num_logs = 5 If the value of the "num_logs" option is not between 2 and 99, is commented out, or is missing, this is a finding.

Fix: F-73462r1049941_fix

Configure AlmaLinux OS 9 to make full use of the auditd storage volume with rotation enabled. Add or update the following line ("num_logs" can be set to a number between 2 and 99) in the "/etc/audit/auditd.conf" file: num_logs = 5

b
AlmaLinux OS 9 must periodically flush audit records to disk to prevent the loss of audit records.
AU-6 - Medium - CCI-000154 - V-269531 - SV-269531r1050414_rule
RMF Control
AU-6
Severity
Medium
CCI
CCI-000154
Version
ALMA-09-054690
Vuln IDs
  • V-269531
Rule IDs
  • SV-269531r1050414_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-73562r1048969_chk

Verify that audit system is configured to flush to disk after every 100 records with the following command: $ grep freq /etc/audit/auditd.conf freq = 100 If "freq" is not set to a value between "1" and "100", the value is missing, or the line is commented out, this is a finding.

Fix: F-73463r1049943_fix

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

b
The auditd service must be enabled on AlmaLinux OS 9.
AU-3 - Medium - CCI-000135 - V-269532 - SV-269532r1050415_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000135
Version
ALMA-09-054910
Vuln IDs
  • V-269532
Rule IDs
  • SV-269532r1050415_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 usage or capacity thresholds, or identifying an improperly configured AlmaLinux OS 9 system. Satisfies: SRG-OS-000042-GPOS-00021, SRG-OS-000051-GPOS-00024, SRG-OS-000392-GPOS-00172, SRG-OS-000122-GPOS-00063, SRG-OS-000473-GPOS-00218, SRG-OS-000472-GPOS-00217, SRG-OS-000474-GPOS-00219, SRG-OS-000365-GPOS-00152, SRG-OS-000358-GPOS-00145, 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-000337-GPOS-00129, SRG-OS-000062-GPOS-00031, SRG-OS-000054-GPOS-00025
Checks: C-73563r1048972_chk

Verify that the auditd service is enabled with the following command: $ systemctl status auditd.service auditd.service - Security Auditing Service Loaded: loaded (/usr/lib/systemd/system/auditd.service; enabled; preset: enabled) Active: active (running) since Fri 2024-01-05 14:04:30 UTC; 10min ago If the audit service is not "active" and "running", this is a finding.

Fix: F-73464r1048973_fix

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

b
The chronyd service must be enabled.
- Medium - CCI-004923 - V-269533 - SV-269533r1050416_rule
RMF Control
Severity
Medium
CCI
CCI-004923
Version
ALMA-09-055130
Vuln IDs
  • V-269533
Rule IDs
  • SV-269533r1050416_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. Organizations should consider endpoints that may not have regular access to the authoritative time server (e.g., mobile, teleworking, and tactical endpoints). Satisfies: SRG-OS-000355-GPOS-00143, SRG-OS-000359-GPOS-00146
Checks: C-73564r1048975_chk

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

Fix: F-73465r1048976_fix

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

b
AlmaLinux OS 9 must have the chrony package installed.
- Medium - CCI-004923 - V-269534 - SV-269534r1050417_rule
RMF Control
Severity
Medium
CCI
CCI-004923
Version
ALMA-09-055240
Vuln IDs
  • V-269534
Rule IDs
  • SV-269534r1050417_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. Organizations should consider endpoints that may not have regular access to the authoritative time server (e.g., mobile, teleworking, and tactical endpoints). Satisfies: SRG-OS-000355-GPOS-00143, SRG-OS-000359-GPOS-00146
Checks: C-73565r1049947_chk

Verify that AlmaLinux OS 9 has the chrony package installed with the following command: $ dnf list --installed chrony Installed Packages chrony.x86_64 4.3-1.el9 @anaconda If the "chrony" package is not installed, this is a finding.

Fix: F-73466r1048979_fix

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

b
AlmaLinux OS 9 must securely compare internal information system clocks at least every 24 hours.
- Medium - CCI-004926 - V-269535 - SV-269535r1050418_rule
RMF Control
Severity
Medium
CCI
CCI-004926
Version
ALMA-09-055350
Vuln IDs
  • V-269535
Rule IDs
  • SV-269535r1050418_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. Synchronizing internal information system clocks provides uniformity of time stamps for information systems with multiple system clocks and systems connected over a network. Organizations should consider setting time periods for different types of systems (e.g., financial, legal, or mission-critical systems). Organizations should also consider endpoints that may not have regular access to the authoritative time server (e.g., mobile, teleworking, and tactical endpoints). This requirement is related to the comparison done every 24 hours in SRG-OS-000355 because a comparison must be done to determine the time difference. Satisfies: SRG-OS-000356-GPOS-00144, SRG-OS-000359-GPOS-00146, SRG-OS-000785-GPOS-00250
Checks: C-73566r1049949_chk

Verify AlmaLinux OS 9 is securely comparing internal information system clocks at least every 24 hours with an NTP server with the following commands: $ 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-73467r1049950_fix

Configure AlmaLinux OS 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

b
AlmaLinux OS 9 audit log directory must be owned by root to prevent unauthorized read access.
AU-9 - Medium - CCI-000162 - V-269536 - SV-269536r1050419_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-000162
Version
ALMA-09-055680
Vuln IDs
  • V-269536
Rule IDs
  • SV-269536r1050419_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 operating system activity. Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000059-GPOS-00029
Checks: C-73567r1048984_chk

Verify the audit log directory is owned by "root". First determine where the audit logs are stored with the following command: $ grep -w 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 owned by the "root" user and group using the following command: $ stat -c "%U:%G %n" /var/log/audit root:root /var/log/audit If the audit log directory is not owned by "root:root", this is a finding.

Fix: F-73468r1048985_fix

Change the audit directory to be owned by the root user and group: $ chown root:root /var/log/audit

b
AlmaLinux OS 9 audit log directory must have 0700 permissions to prevent unauthorized read access.
AU-9 - Medium - CCI-000162 - V-269537 - SV-269537r1050420_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-000162
Version
ALMA-09-055790
Vuln IDs
  • V-269537
Rule IDs
  • SV-269537r1050420_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 operating system activity. Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000059-GPOS-00029
Checks: C-73568r1048987_chk

Verify the audit log directory has 0700 (u=rwx) permissions. First determine where the audit logs are stored with the following command: $ grep -w 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 has 0700 permissions using the following command: $ stat -c "%U:%G %#a %n" /var/log/audit root:root 0700 /var/log/audit If the audit log directory does not have 0700 permissions, this is a finding.

Fix: F-73469r1048988_fix

Change the audit directory to have 0700 permissions: $ chmod 0700 /var/log/audit

b
AlmaLinux OS 9 audit logs must be owned by the root group to prevent unauthorized read access.
AU-9 - Medium - CCI-000162 - V-269538 - SV-269538r1050421_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-000162
Version
ALMA-09-055900
Vuln IDs
  • V-269538
Rule IDs
  • SV-269538r1050421_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 operating system activity. Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000059-GPOS-00029
Checks: C-73569r1048990_chk

Verify the audit logs are owned by the "root" group. First determine if a group other than "root" has been assigned to the audit logs with the following command: $ grep log_group /etc/audit/auditd.conf log_group = root Then determine where the audit logs are stored with the following command: $ grep -w 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 owned by the "root" group using the following command: $ stat -c "%G" /var/log/audit/audit.log root If the audit log is not owned by the "root" group, or log_group is not set to "root", this is a finding.

Fix: F-73470r1048991_fix

Change the audit logs to be owned by the root group: $ chgrp root /var/log/audit/audit.log Then set the group to root in /etc/audit/auditd.conf by adding or updating the following line: log_group = root

b
AlmaLinux OS 9 audit logs must be owned by root to prevent unauthorized read access.
AU-9 - Medium - CCI-000162 - V-269539 - SV-269539r1050422_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-000162
Version
ALMA-09-056010
Vuln IDs
  • V-269539
Rule IDs
  • SV-269539r1050422_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 operating system activity. Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000059-GPOS-00029
Checks: C-73570r1048993_chk

Verify the audit logs are owned by the "root" user. First determine where the audit logs are stored with the following command: $ grep -w 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 owned by the "root" user using the following command: $ stat -c "%U" /var/log/audit/audit.log root If the audit log is not owned by the "root" user this is a finding.

Fix: F-73471r1048994_fix

Change the audit logs to be owned by the root user: $ chown root /var/log/audit/*

b
AlmaLinux OS 9 audit logs must have 0600 permissions to prevent unauthorized read access.
AU-9 - Medium - CCI-000162 - V-269540 - SV-269540r1050423_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-000162
Version
ALMA-09-056120
Vuln IDs
  • V-269540
Rule IDs
  • SV-269540r1050423_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 operating system activity. Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000059-GPOS-00029
Checks: C-73571r1048996_chk

Verify the audit log files have 0600 (u=rw-) permissions. First determine where the audit logs are stored with the following command: $ grep -w 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 logs have 0600 permissions using the following command: $ stat -c "%U:%G %#a %n" /var/log/audit/* root:root 0600 /var/log/audit/audit.log If the audit log files do not have 0600 permissions, this is a finding.

Fix: F-73472r1048997_fix

Change the audit logs to have 0600 permissions: $ chmod 0600 /var/log/audit/*

b
AlmaLinux OS 9 audit tools must be group-owned by root.
AU-9 - Medium - CCI-001493 - V-269541 - SV-269541r1050424_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-001493
Version
ALMA-09-056230
Vuln IDs
  • V-269541
Rule IDs
  • SV-269541r1050424_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. AlmaLinux OS 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-73572r1048999_chk

Verify the audit tools are group owned by "root" with the following command: $ 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-73473r1049000_fix

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

b
AlmaLinux OS 9 audit tools must be owned by root.
AU-9 - Medium - CCI-001493 - V-269542 - SV-269542r1050425_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-001493
Version
ALMA-09-056340
Vuln IDs
  • V-269542
Rule IDs
  • SV-269542r1050425_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. AlmaLinux OS 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. Satisfies: SRG-OS-000256-GPOS-00097, SRG-OS-000258-GPOS-00099
Checks: C-73573r1049002_chk

Verify the audit tools are owned by "root" with the following command: $ 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-73474r1049003_fix

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

b
AlmaLinux OS 9 audit tools must have a mode of 0755 or less permissive.
AU-9 - Medium - CCI-001493 - V-269543 - SV-269543r1050426_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-001493
Version
ALMA-09-056560
Vuln IDs
  • V-269543
Rule IDs
  • SV-269543r1050426_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. AlmaLinux OS 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. Satisfies: SRG-OS-000256-GPOS-00097, SRG-OS-000258-GPOS-00099
Checks: C-73574r1049005_chk

Verify the 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 0755 /sbin/auditctl 0755 /sbin/aureport 0755 /sbin/ausearch 0750 /sbin/autrace 0755 /sbin/auditd 0755 /sbin/rsyslogd 0755 /sbin/augenrules If any of the audit tool files have a mode more permissive than "0755", this is a finding.

Fix: F-73475r1049006_fix

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

b
AlmaLinux OS 9 audit system must protect logon UIDs from unauthorized change.
AU-9 - Medium - CCI-000163 - V-269544 - SV-269544r1050427_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-000163
Version
ALMA-09-056780
Vuln IDs
  • V-269544
Rule IDs
  • SV-269544r1050427_rule
If modification of login user identifiers (UIDs) is not prevented, they can be changed by nonprivileged users and make auditing complicated or impossible.
Checks: C-73575r1049008_chk

Verify the audit system prevents unauthorized changes to logon UIDs with the following command: $ grep 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-73476r1049960_fix

Configure AlmaLinux OS 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

b
AlmaLinux OS 9 must use cryptographic mechanisms to protect the integrity of audit tools.
AU-9 - Medium - CCI-001496 - V-269545 - SV-269545r1050428_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-001496
Version
ALMA-09-056890
Vuln IDs
  • V-269545
Rule IDs
  • SV-269545r1050428_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. Satisfies: SRG-OS-000278-GPOS-00108, SRG-OS-000257-GPOS-00098
Checks: C-73576r1049011_chk

Check that AIDE is properly configured to use cryptographic mechanisms to protect the integrity of the audit tools with the following command: $ grep /usr/sbin/au /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/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 including "sha512", 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-73477r1049012_fix

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

b
AlmaLinux OS 9 audit system must protect auditing rules from unauthorized change.
AU-9 - Medium - CCI-000163 - V-269546 - SV-269546r1050429_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-000163
Version
ALMA-09-057110
Vuln IDs
  • V-269546
Rule IDs
  • SV-269546r1050429_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 AlmaLinux OS 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.
Checks: C-73577r1049014_chk

Verify the audit system prevents unauthorized changes to the rules with the following command: $ grep -E '^-e 2' /etc/audit/audit.rules -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-73478r1049015_fix

Configure the audit system to set the audit rules to be immutable by adding the following line to the end of "/etc/audit/rules.d/audit.rules" -e 2