Skip to content

Guide to the Secure Configuration of Red Hat Enterprise Linux 8

Rules, Groups, and Values defined within the XCCDF Benchmark

  • Verify Permissions On /etc/crypttab File

    To properly set the permissions of /etc/crypttab, run the command:
    $ sudo chmod 0600 /etc/crypttab
    Rule Medium Severity
  • Verify Permissions on System.map Files

    The System.map files are symbol map files generated during the compilation of the Linux kernel. They contain the mapping between kernel symbols and their corresponding memory addresses. In general,...
    Rule Low Severity
  • Verify User Who Owns /etc/selinux Directory

    To properly set the owner of /etc/selinux, run the command:
    $ sudo chown root /etc/selinux 
    Rule Medium Severity
  • Ensure All Files Are Owned by a Group

    If any file is not group-owned by a group present in /etc/group, the cause of the lack of group-ownership must be investigated. Following this, those files should be deleted or assigned to an appro...
    Rule Medium Severity
  • Ensure All Files Are Owned by a User

    If any files are not owned by a user, then the cause of their lack of ownership should be investigated. Following this, the files should be deleted or assigned to an appropriate user. Locate the m...
    Rule Medium Severity
  • Enable Kernel Parameter to Enforce DAC on Hardlinks

    To set the runtime status of the <code>fs.protected_hardlinks</code> kernel parameter, run the following command: <pre>$ sudo sysctl -w fs.protected_hardlinks=1</pre> To make sure that the setting ...
    Rule Medium Severity
  • Enable Kernel Parameter to Enforce DAC on Symlinks

    To set the runtime status of the <code>fs.protected_symlinks</code> kernel parameter, run the following command: <pre>$ sudo sysctl -w fs.protected_symlinks=1</pre> To make sure that the setting is...
    Rule Medium Severity
  • Verify Permissions and Ownership of Old Passwords File

    To properly set the owner of <code>/etc/security/opasswd</code>, run the command: <pre>$ sudo chown root /etc/security/opasswd </pre> To properly set the group owner of <code>/etc/security/opasswd...
    Rule Medium Severity
  • Verify Group Who Owns Backup gshadow File

    To properly set the group owner of /etc/gshadow-, run the command:
    $ sudo chgrp root /etc/gshadow-
    Rule Medium Severity
  • Verify Group Who Owns Backup passwd File

    To properly set the group owner of /etc/passwd-, run the command:
    $ sudo chgrp root /etc/passwd-
    Rule Medium Severity
  • Verify User Who Owns Backup shadow File

    To properly set the group owner of /etc/shadow-, run the command:
    $ sudo chgrp root /etc/shadow-
    Rule Medium Severity
  • Verify Group Who Owns group File

    To properly set the group owner of /etc/group, run the command:
    $ sudo chgrp root /etc/group
    Rule Medium Severity
  • Verify Group Who Owns gshadow File

    To properly set the group owner of /etc/gshadow, run the command:
    $ sudo chgrp root /etc/gshadow
    Rule Medium Severity
  • Verify that Shared Library Directories Have Restrictive Permissions

    System-wide shared library directories, which contain are linked to executables during process load time or run time, are stored in the following directories by default: <pre>/lib /lib64 /usr/lib /...
    Rule Medium Severity
  • Verify Group Who Owns /etc/sysctl.d Directory

    To properly set the group owner of /etc/sysctl.d, run the command:
    $ sudo chgrp root /etc/sysctl.d
    Rule Medium Severity
  • Verify User Who Owns /etc/sysctl.d Directory

    To properly set the owner of /etc/sysctl.d, run the command:
    $ sudo chown root /etc/sysctl.d 
    Rule Medium Severity
  • Verify Permissions On /etc/sysctl.d Directory

    To properly set the permissions of /etc/sysctl.d, run the command:
    $ sudo chmod 0755 /etc/sysctl.d
    Rule Medium Severity
  • Verify that System Executables Have Root Ownership

    System executables are stored in the following directories by default: <pre>/bin /sbin /usr/bin /usr/libexec /usr/local/bin /usr/local/sbin /usr/sbin</pre> All files in these directories should be ...
    Rule Medium Severity
  • Verify that Shared Library Files Have Root Ownership

    System-wide shared library files, which are linked to executables during process load time or run time, are stored in the following directories by default: <pre>/lib /lib64 /usr/lib /usr/lib64 </pr...
    Rule Medium Severity
  • Verify that Shared Library Files Have Restrictive Permissions

    System-wide shared library files, which are linked to executables during process load time or run time, are stored in the following directories by default: <pre>/lib /lib64 /usr/lib /usr/lib64 </pr...
    Rule Medium Severity
  • Restrict Dynamic Mounting and Unmounting of Filesystems

    Linux includes a number of facilities for the automated addition and removal of filesystems on a running system. These facilities may be necessary in many environments, but this capability also ca...
    Group
  • Verify Permissions On /etc/selinux Directory

    To properly set the permissions of /etc/selinux, run the command:
    $ sudo chmod 0755 /etc/selinux
    Rule Medium Severity
  • Disable the Automounter

    The <code>autofs</code> daemon mounts and unmounts filesystems, such as user home directories shared via NFS, on demand. In addition, autofs can be used to handle removable media, and the default c...
    Rule Medium Severity
  • Disable Mounting of squashfs

    To configure the system to prevent the <code>squashfs</code> kernel module from being loaded, add the following line to the file <code>/etc/modprobe.d/squashfs.conf</code>: <pre>install squashfs /...
    Rule Low Severity
  • Disable Modprobe Loading of USB Storage Driver

    To prevent USB storage devices from being used, configure the kernel module loading system to prevent automatic loading of the USB storage driver. To configure the system to prevent the <code>usb-...
    Rule Medium Severity
  • Add noexec Option to /boot

    The <code>noexec</code> mount option can be used to prevent binaries from being executed out of <code>/boot</code>. Add the <code>noexec</code> option to the fourth column of <code>/etc/fstab</code...
    Rule Medium Severity
  • Disable storing core dumps

    To set the runtime status of the <code>kernel.core_pattern</code> kernel parameter, run the following command: <pre>$ sudo sysctl -w kernel.core_pattern=|/bin/false</pre> To make sure that the sett...
    Rule Medium Severity
  • Configure file name of core dumps

    To set the runtime status of the <code>kernel.core_uses_pid</code> kernel parameter, run the following command: <pre>$ sudo sysctl -w kernel.core_uses_pid=0</pre> To make sure that the setting is p...
    Rule Medium Severity
  • Disable loading and unloading of kernel modules

    To set the runtime status of the <code>kernel.modules_disabled</code> kernel parameter, run the following command: <pre>$ sudo sysctl -w kernel.modules_disabled=1</pre> To make sure that the settin...
    Rule Medium Severity
  • Prevent applications from mapping low portion of virtual memory

    To set the runtime status of the <code>vm.mmap_min_addr</code> kernel parameter, run the following command: <pre>$ sudo sysctl -w vm.mmap_min_addr=65536</pre> To make sure that the setting is persi...
    Rule Medium Severity
  • Disable Core Dumps

    A core dump file is the memory image of an executable program when it was terminated by the operating system due to errant behavior. In most cases, only software developers legitimately need to acc...
    Group
  • Set Daemon Umask

    The file <code>/etc/init.d/functions</code> includes initialization parameters for most or all daemons started at boot time. Many daemons on the system already individually restrict themselves to a...
    Rule Unknown Severity
  • Restrict Exposed Kernel Pointer Addresses Access

    To set the runtime status of the <code>kernel.kptr_restrict</code> kernel parameter, run the following command: <pre>$ sudo sysctl -w kernel.kptr_restrict=<xccdf-1.2:sub idref="xccdf_org.ssgproject...
    Rule Medium Severity
  • Enable page allocator poisoning

    To enable poisoning of free pages, add the argument <code>page_poison=1</code> to the default GRUB 2 command line for the Linux operating system. To ensure that <code>page_poison=1</code> is added ...
    Rule Medium Severity
  • Enable SLUB/SLAB allocator poisoning

    To enable poisoning of SLUB/SLAB objects, add the argument <code>slub_debug=<xccdf-1.2:sub idref="xccdf_org.ssgproject.content_value_var_slub_debug_options" use="legacy"></xccdf-1.2:sub> ...
    Rule Medium Severity
  • Uninstall setroubleshoot-plugins Package

    The SETroubleshoot plugins are used to analyze SELinux AVC data. The service provides information around configuration errors, unauthorized intrusions, and other potential errors. The <code>setroub...
    Rule Low Severity
  • Uninstall setroubleshoot Package

    The SETroubleshoot service notifies desktop users of SELinux denials. The service provides information around configuration errors, unauthorized intrusions, and other potential errors. The <code>se...
    Rule Low Severity
  • Configure SELinux Policy

    The SELinux <code>targeted</code> policy is appropriate for general-purpose desktops and servers, as well as systems in many other roles. To configure the system to use this policy, add or correct ...
    Rule Medium Severity
  • Map System Users To The Appropriate SELinux Role

    Configure the operating system to prevent non-privileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures. ...
    Rule Medium Severity
  • Disable the abrt_anon_write SELinux Boolean

    By default, the SELinux boolean <code>abrt_anon_write</code> is disabled. If this setting is enabled, it should be disabled. To disable the <code>abrt_anon_write</code> SELinux boolean, run the fo...
    Rule Medium Severity
  • Disable the abrt_upload_watch_anon_write SELinux Boolean

    By default, the SELinux boolean <code>abrt_upload_watch_anon_write</code> is enabled. This setting should be disabled as it allows the Automatic Bug Report Tool (ABRT) to modify public files used f...
    Rule Medium Severity
  • Disable the awstats_purge_apache_log_files SELinux Boolean

    By default, the SELinux boolean <code>awstats_purge_apache_log_files</code> is disabled. If this setting is enabled, it should be disabled. To disable the <code>awstats_purge_apache_log_files</cod...
    Rule Medium Severity
  • Disable the cluster_can_network_connect SELinux Boolean

    By default, the SELinux boolean <code>cluster_can_network_connect</code> is disabled. If this setting is enabled, it should be disabled. To disable the <code>cluster_can_network_connect</code> SEL...
    Rule Medium Severity
  • Disable the cron_system_cronjob_use_shares SELinux Boolean

    By default, the SELinux boolean <code>cron_system_cronjob_use_shares</code> is disabled. If this setting is enabled, it should be disabled. To disable the <code>cron_system_cronjob_use_shares</cod...
    Rule Medium Severity
  • Enable the cron_userdomain_transition SELinux Boolean

    By default, the SELinux boolean <code>cron_userdomain_transition</code> is enabled. This setting should be enabled as end user cron jobs run in their default associated user domain(s) instead of th...
    Rule Medium Severity
  • Enable the domain_fd_use SELinux Boolean

    By default, the SELinux boolean <code>domain_fd_use</code> is enabled. If this setting is disabled, it should be enabled. To enable the <code>domain_fd_use</code> SELinux boolean, run the followin...
    Rule Medium Severity
  • Disable the domain_kernel_load_modules SELinux Boolean

    By default, the SELinux boolean <code>domain_kernel_load_modules</code> is disabled. If this setting is enabled, it should be disabled. To disable the <code>domain_kernel_load_modules</code> SELin...
    Rule Medium Severity
  • Disable the ftpd_use_nfs SELinux Boolean

    By default, the SELinux boolean <code>ftpd_use_nfs</code> is disabled. If this setting is enabled, it should be disabled. To disable the <code>ftpd_use_nfs</code> SELinux boolean, run the followin...
    Rule Medium Severity
  • Disable the ssh_sysadm_login SELinux Boolean

    By default, the SELinux boolean <code>ssh_sysadm_login</code> is disabled. If this setting is enabled, it should be disabled. To disable the <code>ssh_sysadm_login</code> SELinux boolean, run the ...
    Rule Medium Severity
  • Enable the unconfined_login SELinux Boolean

    By default, the SELinux boolean <code>unconfined_login</code> is enabled. If this setting is disabled, it should be enabled. To enable the <code>unconfined_login</code> SELinux boolean, run the fo...
    Rule Medium 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