Skip to content

Guide to the Secure Configuration of Oracle Linux 7

Rules, Groups, and Values defined within the XCCDF Benchmark

  • Verify Who Owns /etc/shells File

    To properly set the owner of /etc/shells, run the command:
    $ sudo chown root /etc/shells 
    Rule Medium Severity
  • Verify Permissions on Backup group File

    To properly set the permissions of /etc/group-, run the command:
    $ sudo chmod 0644 /etc/group-
    Rule Medium Severity
  • Verify Permissions on Backup gshadow File

    To properly set the permissions of /etc/gshadow-, run the command:
    $ sudo chmod 0000 /etc/gshadow-
    Rule Medium Severity
  • Verify Permissions on Backup passwd File

    To properly set the permissions of /etc/passwd-, run the command:
    $ sudo chmod 0644 /etc/passwd-
    Rule Medium Severity
  • Verify Permissions on Backup shadow File

    To properly set the permissions of /etc/shadow-, run the command:
    $ sudo chmod 0000 /etc/shadow-
    Rule Medium Severity
  • Verify Permissions on /etc/shells File

    To properly set the permissions of /etc/shells, run the command:
    $ sudo chmod 0644 /etc/shells
    Rule Medium Severity
  • Verify Group Who Owns /var/log/syslog File

    To properly set the group owner of /var/log/syslog, run the command:
    $ sudo chgrp adm /var/log/syslog
    Rule Medium Severity
  • Verify User Who Owns /var/log/messages File

    To properly set the owner of /var/log/messages, run the command:
    $ sudo chown root /var/log/messages 
    Rule Medium Severity
  • Uninstall talk Package

    The <code>talk</code> package contains the client program for the Internet talk protocol, which allows the user to chat with other users on different systems. Talk is a communication program which ...
    Rule Medium Severity
  • Uninstall telnet-server Package

    The telnet-server package can be removed with the following command:
    $ sudo yum erase telnet-server
    Rule High Severity
  • Uninstall quagga Package

    The quagga package can be removed with the following command:
     $ sudo yum erase quagga
    Rule Low Severity
  • Uninstall net-snmp Package

    The net-snmp package provides the snmpd service. The net-snmp package can be removed with the following command:
    $ sudo yum erase net-snmp
    Rule Unknown Severity
  • Restrict usage of ptrace to descendant processes

    To set the runtime status of the <code>kernel.yama.ptrace_scope</code> kernel parameter, run the following command: <pre>$ sudo sysctl -w kernel.yama.ptrace_scope=1</pre> To make sure that the sett...
    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
  • Verify that Shared Library Directories 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 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 commands files are group owned by root or a system account

    System commands files are stored in the following directories by default: <pre>/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin </pre> All files in these directories should be owned by ...
    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
  • Disable Mounting of jffs2

    To configure the system to prevent the <code>jffs2</code> kernel module from being loaded, add the following line to the file <code>/etc/modprobe.d/jffs2.conf</code>: <pre>install jffs2 /bin/false...
    Rule Low Severity
  • Network Time Protocol

    The Network Time Protocol is used to manage the system clock over a network. Computer clocks are not very accurate, so time will drift unpredictably on unmanaged systems. Central time protocols can...
    Group
  • 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
  • Enable Randomized Layout of Virtual Address Space

    To set the runtime status of the <code>kernel.randomize_va_space</code> kernel parameter, run the following command: <pre>$ sudo sysctl -w kernel.randomize_va_space=2</pre> To make sure that the se...
    Rule Medium Severity
  • SELinux

    SELinux is a feature of the Linux kernel which can be used to guard against misconfigured or compromised programs. SELinux enforces the idea that programs should be limited in what files they can a...
    Group
  • Verify Group Who Owns /etc/selinux Directory

    To properly set the group owner of /etc/selinux, run the command:
    $ sudo chgrp root /etc/selinux
    Rule Medium 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
  • 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
  • Verify Group Who Owns /etc/sestatus.conf File

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

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

    To properly set the permissions of /etc/sestatus.conf, run the command:
    $ sudo chmod 0644 /etc/sestatus.conf
    Rule Medium Severity
  • The Chrony package is installed

    System time should be synchronized between all systems in an environment. This is typically done by establishing an authoritative time server or set of servers and having all systems synchronize th...
    Rule Medium Severity
  • Ensure No Device Files are Unlabeled by SELinux

    Device files, which are used for communication with important system resources, should be labeled with proper SELinux types. If any device files carry the SELinux type <code>device_t</code> or <cod...
    Rule Medium Severity
  • Confine SELinux Users To Roles That Conform To Least Privilege

    Configure the operating system to confine SELinux users to roles that conform to least privilege. Use the following command to map the "staff_u" SELinux user to the "staff_r" and "sysadm_r" roles: ...
    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 gpg_web_anon_write SELinux Boolean

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

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

    By default, the SELinux boolean <code>secure_mode_policyload</code> is disabled. If this setting is enabled, it should be disabled. To disable the <code>secure_mode_policyload</code> SELinux boole...
    Rule Medium Severity
  • Configure the selinuxuser_direct_dri_enabled SELinux Boolean

    By default, the SELinux boolean <code>selinuxuser_direct_dri_enabled</code> is enabled. If XWindows is not installed or used on the system, this setting should be disabled. Otherwise, enable it. T...
    Rule Medium Severity
  • Do Not Allow SSH Environment Options

    Ensure that users are not able to override environment variables of the SSH daemon. <br> The default SSH configuration disables environment processing. The appropriate configuration is used if no v...
    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
  • Disable the xserver_clients_write_xshm SELinux Boolean

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

    The best protection against vulnerable software is running less software. This section describes how to review the software which Oracle Linux 7 installs on a system and disable software which is n...
    Group
  • Disable KDump Kernel Crash Analyzer (kdump)

    The <code>kdump</code> service provides a kernel crash dump analyzer. It uses the <code>kexec</code> system call to boot a secondary kernel ("capture" kernel) following a system crash, which can lo...
    Rule Medium Severity
  • Restrict at and cron to Authorized Users if Necessary

    The <code>/etc/cron.allow</code> and <code>/etc/at.allow</code> files contain lists of users who are allowed to use <code>cron</code> and at to delay execution of processes. If these files exist an...
    Group
  • Minimize the DHCP-Configured Options

    Create the file <code>/etc/dhcp/dhclient.conf</code>, and add an appropriate setting for each of the ten configuration settings which can be obtained via DHCP. For each setting, do one of the follo...
    Rule Unknown Severity
  • 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, one must edit <code>/etc/sysconfig/iptables</code>...
    Rule Unknown 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