Skip to content

Guide to the Secure Configuration of Red Hat Enterprise Linux 8

Rules, Groups, and Values defined within the XCCDF Benchmark

  • Disable DHCP Server

    The DHCP server <code>dhcpd</code> is not installed or activated by default. If the software was installed and activated, but the system does not n...
    Group
  • Uninstall DHCP Server Package

    If the system does not need to act as a DHCP server, the dhcp package can be uninstalled. The <code>dhcp-server</code> package can be removed with...
    Rule Medium Severity
  • Disable DHCP Service

    The <code>dhcpd</code> service should be disabled on any system that does not need to act as a DHCP server. The <code>dhcpd</code> service can be ...
    Rule Medium Severity
  • DNS Server

    Most organizations have an operational need to run at least one nameserver. However, there are many common attacks involving DNS server software, a...
    Group
  • Disable DNS Server

    DNS software should be disabled on any systems which does not need to be a nameserver. Note that the BIND DNS server software is not installed on R...
    Group
  • Uninstall bind Package

    The <code>named</code> service is provided by the <code>bind</code> package. The <code>bind</code> package can be removed with the following comman...
    Rule Low Severity
  • Disable named Service

    The named service can be disabled with the following command:
    $ sudo systemctl mask --now named.service
    Rule Medium Severity
  • Isolate DNS from Other Services

    This section discusses mechanisms for preventing the DNS server from interfering with other services. This is done both to protect the remainder of...
    Group
  • Run DNS Software in a chroot Jail

    Install the <code>bind-chroot</code> package: <pre>$ sudo yum install bind-chroot</pre> Place a valid named.conf file inside the chroot jail: <pre>...
    Group
  • Run DNS Software on Dedicated Servers

    Since DNS is a high-risk service which must frequently be made available to the entire Internet, it is strongly recommended that no other services ...
    Group
  • Protect DNS Data from Tampering or Attack

    This section discusses DNS configuration options which make it more difficult for attackers to gain access to private DNS data or to modify DNS data.
    Group
  • Configure Fapolicy Module to Employ a Deny-all, Permit-by-exception Policy to Allow the Execution of Authorized Software Programs.

    The Fapolicy module must be configured to employ a deny-all, permit-by-exception policy to allow the execution of authorized software programs and ...
    Rule Medium Severity
  • Mount Remote Filesystems with nodev

    Add the nodev option to the fourth column of /etc/fstab for the line which controls mounting of any NFS mounts.
    Rule Medium Severity
  • Authenticate Zone Transfers

    If it is necessary for a secondary nameserver to receive zone data via zone transfer from the primary server, follow the instructions here. Use dn...
    Rule Medium Severity
  • Disable Dynamic Updates

    Is there a mission-critical reason to enable the risky dynamic update functionality? If not, edit <code>/etc/named.conf</code>. For each zone speci...
    Rule Unknown Severity
  • Disable Zone Transfers from the Nameserver

    Is it necessary for a secondary nameserver to receive zone data via zone transfer from the primary server? If not, follow the instructions in this...
    Rule Unknown Severity
  • Use Views to Partition External and Internal Information

    If it is not possible to run external and internal nameservers on separate physical systems, run BIND9 and simulate this feature using views. Edit ...
    Group
  • Run Separate DNS Servers for External and Internal Queries

    Is it possible to run external and internal nameservers on separate systems? If so, follow the configuration guidance in this section. On the exter...
    Group
  • Docker Service

    The docker service is necessary to create containers, which are self-sufficient and self-contained applications using the resource isolation fe...
    Group
  • Application Whitelisting Daemon

    Fapolicyd (File Access Policy Daemon) implements application whitelisting to decide file access rights. Applications that are known via a reputatio...
    Group
  • Install fapolicyd Package

    The fapolicyd package can be installed with the following command:
    $ sudo yum install fapolicyd
    Rule Medium Severity
  • Enable the File Access Policy Service

    The File Access Policy service should be enabled. The <code>fapolicyd</code> service can be enabled with the following command: <pre>$ sudo system...
    Rule Medium Severity
  • FTP Server

    FTP is a common method for allowing remote access to files. Like telnet, the FTP protocol is unencrypted, which means that passwords and other data...
    Group
  • Disable vsftpd if Possible

    To minimize attack surface, disable vsftpd if at all possible.
    Group
  • Uninstall vsftpd Package

    The vsftpd package can be removed with the following command:
     $ sudo yum erase vsftpd
    Rule High Severity
  • Disable vsftpd Service

    The vsftpd service can be disabled with the following command:
    $ sudo systemctl mask --now vsftpd.service
    Rule Medium Severity
  • Configure vsftpd to Provide FTP Service if Necessary

    The primary vsftpd configuration file is /etc/vsftpd.conf, if that file exists, or /etc/vsftpd/vsftpd.conf if it does not.
    Group
  • Configure Firewalls to Protect the FTP Server

    By default, <code>iptables</code> blocks access to the ports used by the web server. To configure <code>iptables</code> to allow port 21 traffic,...
    Rule Unknown Severity
  • Disable FTP Uploads if Possible

    Is there a mission-critical reason for users to upload files via FTP? If not, edit the vsftpd configuration file to add or correct the following co...
    Rule Unknown Severity
  • Place the FTP Home Directory on its Own Partition

    By default, the anonymous FTP root is the home directory of the FTP user account. The df command can be used to verify that this directory is on it...
    Rule Unknown Severity
  • Enable Logging of All FTP Transactions

    Add or correct the following configuration options within the <code>vsftpd</code> configuration file, located at <code>/etc/vsftpd/vsftpd.conf</cod...
    Rule Unknown Severity
  • Create Warning Banners for All FTP Users

    Edit the vsftpd configuration file, which resides at <code>/etc/vsftpd/vsftpd.conf</code> by default. Add or correct the following configuration ...
    Rule Medium Severity
  • Restrict the Set of Users Allowed to Access FTP

    This section describes how to disable non-anonymous (password-based) FTP logins, or, if it is not possible to do this entirely due to legacy applic...
    Group
  • Limit Users Allowed FTP Access if Necessary

    If there is a mission-critical reason for users to access their accounts via the insecure FTP protocol, limit the set of users who are allowed this...
    Rule Unknown Severity
  • Restrict Access to Anonymous Users if Possible

    Is there a mission-critical reason for users to transfer files to/from their own accounts using FTP, rather than using a secure protocol like SCP/S...
    Rule Medium Severity
  • Use vsftpd to Provide FTP Service if Necessary

    If your use-case requires FTP service, install and set-up vsftpd to provide it.
    Group
  • Install vsftpd Package

    If this system must operate as an FTP server, install the <code>vsftpd</code> package via the standard channels. The <code>vsftpd</code> package ca...
    Rule Low Severity
  • Web Server

    The web server is responsible for providing access to content via the HTTP protocol. Web servers represent a significant security risk because: <br...
    Group
  • Disable Apache if Possible

    If Apache was installed and activated, but the system does not need to act as a web server, then it should be disabled and removed from the system.
    Group
  • Uninstall httpd Package

    The httpd package can be removed with the following command:
    $ sudo yum erase httpd
    Rule Unknown Severity
  • Disable httpd Service

    The httpd service can be disabled with the following command:
    $ sudo systemctl mask --now httpd.service
    Rule Unknown Severity
  • Disable NGINX if Possible

    If NGINX was installed and activated, but the system does not need to act as a web server, then it should be removed from the system.
    Group
  • Uninstall nginx Package

    The nginx package can be removed with the following command:
    $ sudo yum erase nginx
    Rule Unknown Severity
  • Install Apache if Necessary

    If <code>httpd</code> was not installed and activated, but the system needs to act as a web server, then it should be installed on the system. Foll...
    Group
  • Confirm Minimal Built-in Modules Installed

    The default <code>httpd</code> installation minimizes the number of modules that are compiled directly into the binary (<code>core prefork http_cor...
    Group
  • Secure Apache Configuration

    The <code>httpd</code> configuration file is <code>/etc/httpd/conf/httpd.conf</code>. Apply the recommendations in the remainder of this section to...
    Group
  • Configure Samba if Necessary

    All settings for the Samba daemon can be found in <code>/etc/samba/smb.conf</code>. Settings are divided between a <code>[global]</code> configurat...
    Group
  • Configure Error Log Format

    <code>LogFormat</code> should be enabled and set to the following in <code>/etc/httpd/conf/httpd.conf</code>: <pre>LogFormat "a %A %h %H %l %m %s %...
    Rule Medium Severity
  • Configure The Number of Allowed Simultaneous Requests

    The <code>MaxKeepAliveRequests</code> directive should be set and configured to <xccdf-1.2:sub idref="xccdf_org.ssgproject.content_value_var_max_ke...
    Rule Medium Severity
  • MIME types for csh or sh shell programs must be disabled

    Users must not be allowed to access the shell programs.
    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