Skip to content

Guide to the Secure Configuration of Ubuntu 16.04

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
  • 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
  • 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 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 critical httpd files and directories.
    Group
  • 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
  • SSH LoginGraceTime setting

    Configure parameters for how long the servers stays connected before the user has successfully logged in
    Value
  • 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
  • SSH MaxStartups setting

    Configure parameters for maximum concurrent unauthenticated connections to the SSH daemon.
    Value
  • 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
  • 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
  • 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
  • Kerberos

    The Kerberos protocol is used for authentication across non-secure network. Authentication can happen between various types of principals -- users,...
    Group
  • LDAP

    LDAP is a popular directory service, that is, a standardized way of looking up information from a central database. Ubuntu 16.04 includes software ...
    Group
  • Configure OpenLDAP Clients

    This section provides information on which security settings are important to configure in OpenLDAP clients by manually editing the appropriate con...
    Group
  • Ensure LDAP client is not installed

    The Lightweight Directory Access Protocol (LDAP) is a service that provides a method for looking up information from a central database. The <code>...
    Rule Low Severity
  • Configure OpenLDAP Server

    This section details some security-relevant settings for an OpenLDAP server.
    Group
  • Uninstall openldap-servers Package

    The slapd package is not installed by default on a Ubuntu 16.04 system. It is needed only by the OpenLDAP server, not by the clients which use LDAP...
    Rule Low Severity
  • Install and Protect LDAP Certificate Files

    Create the PKI directory for LDAP certificates if it does not already exist: <pre>$ sudo mkdir /etc/pki/tls/ldap $ sudo chown root:root /etc/pki/tl...
    Group
  • Mail Server Software

    Mail servers are used to send and receive email over the network. Mail is a very common service, and Mail Transfer Agents (MTAs) are obvious target...
    Group
  • The Postfix package is installed

    A mail server is required for sending emails. The <code>postfix</code> package can be installed with the following command: <pre> $ apt-get install...
    Rule Medium Severity
  • Configure SMTP For Mail Clients

    This section discusses settings for Postfix in a submission-only e-mail configuration.
    Group
  • Postfix Network Interfaces

    The setting for inet_interfaces in /etc/postfix/main.cf
    Value
  • Postfix relayhost

    Specify the host all outbound email should be routed into.
    Value
  • Postfix Root Mail Alias

    Specify an email address (string) for a root mail alias.
    Value
  • Configure System to Forward All Mail For The Root Account

    Make sure that mails delivered to root user are forwarded to a monitored email address. Make sure that the address <xccdf-1.2:sub idref="xccdf_org....
    Rule Medium Severity
  • Use TLS for SMTP AUTH

    Postfix provides options to use TLS for certificate-based authentication and encrypted sessions. An encrypted session protects the information that...
    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