Guide to the Secure Configuration of Red Hat Enterprise Linux 9
Rules, Groups, and Values defined within the XCCDF Benchmark
-
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 -
Use vsftpd to Provide FTP Service if Necessary
If your use-case requires FTP service, install and set-up vsftpd to provide it.Group -
Proxy Server
A proxy server is a very desirable target for a potential adversary because much (or all) sensitive data for a given infrastructure may flow throug...Group -
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
Thehttpd
package can be removed with the following command:$ sudo dnf erase httpd
Rule Unknown Severity -
Disable httpd Service
Thehttpd
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
Thenginx
package can be removed with the following command:$ sudo dnf 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.confValue -
Maximum KeepAlive Requests for HTTPD
The setting for MaxKeepAliveRequests in httpd.confValue -
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 -
Run httpd in a chroot Jail if Practical
Running <code>httpd</code> inside a <code>chroot</code> jail is designed to isolate the web server process to a small section of the filesystem, li...Group -
Restrict File and Directory Access
Minimize access to criticalhttpd
files and directories.Group -
Set Permissions on All Configuration Files Inside /etc/httpd/conf.d/
To properly set the permissions of/etc/http/conf.d/*
, run the command:$ sudo chmod 0640 /etc/http/conf.d/*
Rule Unknown Severity -
Set Permissions on All Configuration Files Inside /etc/httpd/conf/
To properly set the permissions of/etc/http/conf/*
, run the command:$ sudo chmod 0640 /etc/http/conf/*
Rule Unknown Severity -
Set Permissions on All Configuration Files Inside /etc/httpd/conf.modules.d/
To properly set the permissions of/etc/http/conf.modules.d/*
, run the command:$ sudo chmod 0640 /etc/http/conf.modules.d/*
Rule Unknown Severity -
Configure PERL Securely
PERL (Practical Extraction and Report Language) is an interpreted language optimized for scanning arbitrary text files, extracting information from...Group -
Configure PHP Securely
PHP is a widely-used and often misconfigured server-side scripting language. It should be used with caution, but configured appropriately when need...Group -
Directory Restrictions
The Directory tags in the web server configuration file allow finer grained access control for a specified directory. All web directories should be...Group -
Minimize Web Server Loadable Modules
A default installation of <code>httpd</code> includes a plethora of dynamically shared objects (DSO) that are loaded at run-time. Unlike the aforem...Group -
httpd Core Modules
These modules comprise a basic subset of modules that are likely needed for base <code>httpd</code> functionality; ensure they are not commented ou...Group -
Minimize Modules for HTTP Basic Authentication
The following modules are necessary if this web server will provide content that will be restricted by a password. <br><br> Authentication can be p...Group -
Minimize Configuration Files Included
The <code>Include</code> directive directs <code>httpd</code> to load supplementary configuration files from a provided path. The default configura...Group -
Minimize Various Optional Components
The following modules perform very specific tasks, sometimes providing access to just a few additional directives. If such functionality is not req...Group -
Use Appropriate Modules to Improve httpd's Security
Among the modules available for <code>httpd</code> are several whose use may improve the security of the web server installation. This section reco...Group -
Deploy mod_security
The <code>security</code> module provides an application level firewall for <code>httpd</code>. Following its installation with the base ruleset, s...Group -
Deploy mod_ssl
Because HTTP is a plain text protocol, all traffic is susceptible to passive monitoring. If there is a need for confidentiality, SSL should be conf...Group -
Restrict Web Server Information Leakage
The <code>ServerTokens</code> and <code>ServerSignature</code> directives determine how much information the web server discloses about the configu...Group -
Configure HTTPD-Served Web Content Securely
Running <code>httpd</code> inside a <code>chroot</code> jail is designed to isolate the web server process to a small section of the filesystem, li...Group -
Web Login Banner Verbiage
Enter an appropriate login banner for your organization. Please note that new lines must be expressed by the '\n' character and special characters ...Value -
Use Denial-of-Service Protection Modules
Denial-of-service attacks are difficult to detect and prevent while maintaining acceptable access to authorized users. However, some traffic-shapin...Group -
IMAP and POP3 Server
Dovecot provides IMAP and POP3 services. It is not installed by default. The project page at <a href="http://www.dovecot.org">http://www.dovec...Group -
Configure Dovecot if Necessary
If the system will operate as an IMAP or POP3 server, the dovecot software should be configured securely by following the recommendations below.Group -
Allow IMAP Clients to Access the Server
The default iptables configuration does not allow inbound access to any services. This modification will allow remote hosts to initiate connection...Group -
Disable Squid if Possible
If Squid was installed and activated, but the system does not need to act as a proxy server, then it should be disabled and removed.Group -
Enable SSL Support
SSL should be used to encrypt network traffic between the Dovecot server and its clients. Users must authenticate to the Dovecot server in order ...Group -
Support Only the Necessary Protocols
Dovecot supports the IMAP and POP3 protocols, as well as SSL-protected versions of those protocols. Configure the Dovecot server to support only ...Group -
Disable Cyrus IMAP
If the system does not need to operate as an IMAP or POP3 server, the Cyrus IMAP software should be removed.Group -
Uninstall cyrus-imapd Package
Thecyrus-imapd
package can be removed with the following command:$ sudo dnf erase cyrus-imapd
Rule Unknown Severity -
Disable Dovecot
If the system does not need to operate as an IMAP or POP3 server, the dovecot software should be disabled and removed.Group -
Uninstall dovecot Package
Thedovecot
package can be removed with the following command:$ sudo dnf erase dovecot
Rule Unknown Severity -
Disable Dovecot Service
Thedovecot
service can be disabled with the following command:$ sudo systemctl mask --now dovecot.service
Rule Unknown Severity -
Kerberos
The Kerberos protocol is used for authentication across non-secure network. Authentication can happen between various types of principals -- users,...Group -
Remove the Kerberos Server Package
The <code>krb5-server</code> package should be removed if not in use. Is this system the Kerberos server? If not, remove the package. The <code>krb...Rule Medium Severity -
Disable Kerberos by removing host keytab
Kerberos is not an approved key distribution method for Common Criteria. To prevent using Kerberos by system daemons, remove the Kerberos keytab fi...Rule Medium Severity -
LDAP
LDAP is a popular directory service, that is, a standardized way of looking up information from a central database. Red Hat Enterprise Linux 9 incl...Group
Node 2
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.