Skip to content

Guide to the Secure Configuration of Red Hat Enterprise Linux 9

Rules, Groups, and Values defined within the XCCDF Benchmark

  • Verify Group Ownership of Message of the Day Banner

    To properly set the group owner of /etc/motd, run the command:
    $ sudo chgrp root /etc/motd
    Rule Medium Severity
  • Verify ownership of System Login Banner

    To properly set the owner of /etc/issue, run the command:
    $ sudo chown root /etc/issue 
    Rule Medium Severity
  • Verify ownership of Message of the Day Banner

    To properly set the owner of /etc/motd, run the command:
    $ sudo chown root /etc/motd 
    Rule Medium Severity
  • Verify permissions on System Login Banner

    To properly set the permissions of /etc/issue, run the command:
    $ sudo chmod 0644 /etc/issue
    Rule Medium Severity
  • Verify permissions on System Login Banner for Remote Connections

    To properly set the permissions of /etc/issue.net, run the command:
    $ sudo chmod 0644 /etc/issue.net
    Rule Medium Severity
  • Verify permissions on Message of the Day Banner

    To properly set the permissions of /etc/motd, run the command:
    $ sudo chmod 0644 /etc/motd
    Rule Medium Severity
  • Implement a GUI Warning Banner

    In the default graphical environment, users logging directly into the system are greeted with a login screen provided by the GNOME Display Manager (GDM). The warning banner should be displayed in t...
    Group
  • Password Hashing algorithm

    Specify the system default encryption algorithm for encrypting passwords. Defines the value set as ENCRYPT_METHOD in /etc/login.defs.
    Value
  • remember

    The last n passwords for each user are saved in <code>/etc/security/opasswd</code> in order to force password change history and keep the user from alternating between the same password too frequen...
    Value
  • Install pam_pwquality Package

    The libpwquality package can be installed with the following command:
    $ sudo dnf install libpwquality
    Rule Medium Severity
  • Disallow Configuration to Bypass Password Requirements for Privilege Escalation

    Verify the operating system is not configured to bypass password requirements for privilege escalation. Check the configuration of the "/etc/pam.d/sudo" file with the following command: <pre>$ sudo...
    Rule Medium Severity
  • Set Lockouts for Failed Password Attempts

    The <code>pam_faillock</code> PAM module provides the capability to lock out user accounts after a number of failed login attempts. Its documentation is available in <code>/usr/share/doc/pam-VERSIO...
    Group
  • fail_deny

    Number of failed login attempts before account lockout
    Value
  • faillock directory

    The directory where the user files with the failure records are kept
    Value
  • fail_interval

    Interval for counting failed login attempts before account lockout
    Value
  • fail_unlock_time

    Seconds before automatic unlocking or permanently locking after excessive failed logins
    Value
  • tally2_unlock_time

    Seconds before automatic unlocking or permanently locking after excessive failed logins
    Value
  • Limit Password Reuse: system-auth

    Do not allow users to reuse recent passwords. This can be accomplished by using the <code>remember</code> option for the <code>pam_pwhistory</code> PAM module. <br> <br> On syste...
    Rule Medium Severity
  • Limit Password Reuse

    Do not allow users to reuse recent passwords. This can be accomplished by using the remember option for the pam_unix or pam_pwhistory PAM modules.
    Rule Medium Severity
  • Account Lockouts Must Be Logged

    PAM faillock locks an account due to excessive password failures, this event must be logged.
    Rule Medium Severity
  • Configure the root Account for Failed Password Attempts

    This rule configures the system to lock out the <code>root</code> account after a number of incorrect login attempts using <code>pam_faillock.so</code>. pam_faillock.so module requires multiple en...
    Rule Medium Severity
  • Lock Accounts Must Persist

    This rule ensures that the system lock out accounts using <code>pam_faillock.so</code> persist after system reboot. From "pam_faillock" man pages: <pre>Note that the default directory that "pam_fai...
    Rule Medium Severity
  • Enforce pam_faillock for Local Accounts Only

    The pam_faillock module's <code>local_users_only</code> parameter controls requirements for enforcing failed lockout attempts only for local user accounts and ignoring centralized user account mana...
    Rule Medium Severity
  • Set Interval For Counting Failed Password Attempts

    Utilizing <code>pam_faillock.so</code>, the <code>fail_interval</code> directive configures the system to lock out an account after a number of incorrect login attempts within a specified time peri...
    Rule Medium Severity
  • Do Not Show System Messages When Unsuccessful Logon Attempts Occur

    This rule ensures the system prevents informative messages from being presented to the user pertaining to logon information after a number of incorrect login attempts using <code>pam_faillock.so</c...
    Rule Medium Severity
  • Set Password Quality Requirements

    The default <code>pam_pwquality</code> PAM module provides strength checking for passwords. It performs a number of checks, such as making sure passwords are not similar to dictionary words, are of...
    Group
  • Set Password Quality Requirements with pam_pwquality

    The <code>pam_pwquality</code> PAM module can be configured to meet requirements for a variety of policies. <br> <br> For example, to configure <code>pam_pwquality</code> to requi...
    Group
  • dcredit

    Minimum number of digits in password
    Value
  • dictcheck

    Prevent the use of dictionary words for passwords.
    Value
  • difok

    Minimum number of characters not present in old password
    Value
  • lcredit

    Minimum number of lower case in password
    Value
  • maxclassrepeat

    Maximum Number of Consecutive Repeating Characters in a Password From the Same Character Class
    Value
  • Ensure PAM Enforces Password Requirements - Prevent the Use of Dictionary Words

    The pam_pwquality module's dictcheck check if passwords contains dictionary words. When dictcheck is set to 1 passwords will be checked for dictionary words.
    Rule Medium Severity
  • Ensure PAM Enforces Password Requirements - Enforce for Local Accounts Only

    The pam_pwquality module's <code>local_users_only</code> parameter controls requirements for enforcing password complexity by pam_pwquality only for local user accounts and ignoring centralized use...
    Rule Medium Severity
  • Ensure PAM Enforces Password Requirements - Enforce for root User

    The pam_pwquality module's <code>enforce_for_root</code> parameter controls requirements for enforcing password complexity for the root user. Enable the <code>enforce_for_root</code> setting in <co...
    Rule Medium Severity
  • Ensure PAM Enforces Password Requirements - Minimum Lowercase Characters

    The pam_pwquality module's <code>lcredit</code> parameter controls requirements for usage of lowercase letters in a password. When set to a negative number, any password will be required to contain...
    Rule Medium Severity
  • Ensure PAM password complexity module is enabled in system-auth

    To enable PAM password complexity in system-auth file: Edit the <code>password</code> section in <code>/etc/pam.d/system-auth</code> to show <code>password requisite ...
    Rule Medium Severity
  • Ensure PAM Enforces Password Requirements - Maximum Consecutive Repeating Characters from Same Character Class

    The pam_pwquality module's <code>maxclassrepeat</code> parameter controls requirements for consecutive repeating characters from the same character class. When set to a positive number, it will rej...
    Rule Medium Severity
  • Ensure PAM Enforces Password Requirements - Minimum Length

    The pam_pwquality module's <code>minlen</code> parameter controls requirements for minimum characters required in a password. Add <code>minlen=<xccdf-1.2:sub idref="xccdf_org.ssgproject.content_val...
    Rule Medium Severity
  • Ensure PAM Enforces Password Requirements - Minimum Special Characters

    The pam_pwquality module's <code>ocredit=</code> parameter controls requirements for usage of special (or "other") characters in a password. When set to a negative number, any password will be requ...
    Rule Medium Severity
  • Ensure PAM password complexity module is enabled in password-auth

    To enable PAM password complexity in password-auth file: Edit the <code>password</code> section in <code>/etc/pam.d/password-auth</code> to show <code>password requisite ...
    Rule Medium Severity
  • Write Audit Logs to the Disk

    To configure Audit daemon to write Audit logs to the disk, set write_logs to yes in /etc/audit/auditd.conf. This is the default setting.
    Rule Medium Severity
  • Configure Console Screen Locking

    A console screen locking mechanism 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 th...
    Group
  • Set Password Hashing Algorithm

    The system's default algorithm for storing password hashes in /etc/shadow is SHA-512. This can be configured in several locations.
    Group
  • Set Password Hashing Algorithm in /etc/libuser.conf

    In <code>/etc/libuser.conf</code>, add or correct the following line in its <code>[defaults]</code> section to ensure the system will use the <xccdf-1.2:sub idref="xccdf_org.ssgproject.content_valu...
    Rule Medium Severity
  • Set PAM''s Password Hashing Algorithm - password-auth

    The PAM system service can be configured to only store encrypted representations of passwords. In <code>/etc/pam.d/password-auth</code>, the <code>password</code> section of the file controls which...
    Rule Medium Severity
  • Protect Physical Console Access

    It is impossible to fully protect a system from an attacker with physical access, so securing the space in which the system is located should be considered a necessary step. However, there are some...
    Group
  • Login timeout for idle sessions

    Specify duration of allowed idle time.
    Value
  • Disable debug-shell SystemD Service

    SystemD's <code>debug-shell</code> service is intended to diagnose SystemD related boot issues with various <code>systemctl</code> commands. Once enabled and following a system reboot, the root she...
    Rule Medium Severity
  • Disable Ctrl-Alt-Del Burst Action

    By default, <code>SystemD</code> will reboot the system if the <code>Ctrl-Alt-Del</code> key sequence is pressed Ctrl-Alt-Delete more than 7 times in 2 seconds. <br> <br> To configu...
    Rule High Severity

The content of the drawer really is up to you. It could have form fields, definition lists, text lists, labels, charts, progress bars, etc. Spacing recommendation is 24px margins. You can put tabs in here, and can also make the drawer scrollable.

Capacity
Modules