Skip to content

Guide to the Secure Configuration of Red Hat Enterprise Linux 8

Rules, Groups, and Values defined within the XCCDF Benchmark

  • 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
  • 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
  • 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
  • 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
  • fapolicyd Must be Configured to Limit Access to Users Home Folders

    fapolicyd needs be configured so that users cannot give access to their home folders to other users.
    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
  • HTTPD Log Level

    The setting for LogLevel in /etc/httpd/conf/httpd.conf
    Value
  • Maximum KeepAlive Requests for HTTPD

    The setting for MaxKeepAliveRequests in httpd.conf
    Value
  • 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
  • Enable HTTPD Error Logging

    ErrorLog should be enabled and set to the following in /etc/httpd/conf/httpd.conf:
    ErrorLog "logs/error_log"
    Rule Medium Severity
  • Enable HTTPD LogLevel

    <code>LogLevel</code> should be enabled and set to <xccdf-1.2:sub idref="xccdf_org.ssgproject.content_value_var_httpd_loglevel" use="legacy"></xccd...
    Rule Medium Severity
  • Enable HTTPD System Logging

    <code>CustomLog</code> should be enabled and set to the following in <code>/etc/httpd/conf/httpd.conf</code>: <pre>CustomLog "logs/access_log" comb...
    Rule Medium Severity
  • The web server password(s) must be entrusted to the SA or Web Manager

    Normally, a service account is established for the web server. This is because a privileged account is not desirable and the server is designed to ...
    Rule Medium Severity
  • A public web server, if hosted on the NIPRNet, must be isolated in an accredited DoD DMZ extension

    To minimize exposure of private assets to unnecesarry risk by attackers, public web servers must be isolated from internal systems. Logically relo...
    Rule Medium Severity
  • Installation of a compiler on production web server is prohibited

    The presence of a compiler on a production server facilitates the malicious user's task of creating custom versions of programs and installing Troj...
    Rule Medium Severity
  • A private web server must be located on a separate controlled access subnet

    Private web servers, which host sites that serve controlled access data, must be protected from outside threats in addition to insider threats. Is...
    Rule Medium Severity
  • Public web server resources must not be shared with private assets

    It is important to segregate public web server resources from private resources located behind the DoD DMZ in order to protect private assets.
    Rule Medium Severity
  • Backup interactive scripts on the production web server are prohibited

    Copies of backup files will not execute on the server, but they can be read by the anonymous user if special precautions are not taken.
    Rule Medium Severity
  • Configure Operating System to Protect Web Server

    The following configuration steps should be taken on the system which hosts the web server, in order to provide as safe an environment as possible ...
    Group

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