Guide to the Secure Configuration of Red Hat Enterprise Linux 7
with profile Common Profile for General-Purpose Systems
Providing system administrators with such guidance informs them how to securely configure systems under their control in a variety of network roles. Policy makers and baseline creators can use this catalog of settings, with its associated references to higher-level security control catalogs, in order to assist them in security baseline creation. This guide is a catalog, not a checklist, and satisfaction of every item is not likely to be possible or sensible in many operational scenarios. However, the XCCDF format enables granular selection and adjustment of settings, and their association with OVAL and OCIL content provides an automated checking capability. Transformations of this document, and its associated automated checking content, are capable of providing baselines that meet a diverse set of policy objectives. Some example XCCDF Profiles, which are selections of items that form checklists and can be used as baselines, are available with this guide. They can be processed, in an automated fashion, with tools that support the Security Content Automation Protocol (SCAP). The DISA STIG for RHEL 7 is one example of a baseline created from this guidance.
Evaluation Characteristics
Target machine | localhost.localdomain |
---|---|
Benchmark URL | /usr/share/xml/scap/ssg/content/ssg-rhel7-xccdf.xml |
Profile ID | common |
Started at | 2015-07-17T10:50:19 |
Finished at | 2015-07-17T10:50:20 |
Performed by |
CPE Platforms
- cpe:/o:redhat:enterprise_linux:7
- cpe:/o:redhat:enterprise_linux:7::client
Addresses
- IPv4 127.0.0.1
- IPv4 192.168.122.210
- IPv4 172.17.42.1
- IPv6 0:0:0:0:0:0:0:1
- IPv6 fe80:0:0:0:5054:ff:fee9:4899
- IPv6 fe80:0:0:0:5484:7aff:fefe:9799
- MAC 00:00:00:00:00:00
- MAC 52:54:00:E9:48:99
- MAC 56:84:7A:FE:97:99
Compliance and Scoring
Rule results
Severity of failed rules
Score
Scoring system | Score | Maximum | Percent |
---|---|---|---|
urn:xccdf:scoring:default | 83.333328 | 100.000000 |
Rule Overview
Result Details
Ensure /tmp Located On Separate Partition
Rule ID | partition_for_tmp |
Result | notselected |
Time | 2015-07-17T10:50:19 |
Severity | low |
Identifiers and References | identifiers: CCE-27173-4 references: http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53r4.pdf, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20120928 by MM |
Description |
The |
Rationale |
The |
Ensure /var Located On Separate Partition
Rule ID | partition_for_var |
Result | notselected |
Time | 2015-07-17T10:50:19 |
Severity | low |
Identifiers and References | identifiers: CCE-26404-4 references: http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53r4.pdf, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20120928 by MM |
Description | The |
Rationale |
Ensuring that |
Ensure /var/log Located On Separate Partition
Rule ID | partition_for_var_log |
Result | notapplicable |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-26967-0 references: AU-9, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20120928 by MM |
Description |
System logs are stored in the |
Rationale |
Placing |
Ensure /var/log/audit Located On Separate Partition
Rule ID | partition_for_var_log_audit |
Result | notapplicable |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-26971-2 references: AU-4, AU-9, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20120928 by MM |
Description |
Audit logs are stored in the |
Rationale |
Placing |
Ensure /home Located On Separate Partition
Rule ID | partition_for_home |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53r4.pdf, 1208, Test attestation on 20120928 by MM |
Description |
If user home directories will be stored locally, create a separate partition
for |
Rationale |
Ensuring that |
Encrypt Partitions
Rule ID | encrypt_partitions |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-27128-8 |
Description |
Red Hat Enterprise Linux 7 natively supports partition encryption through the
Linux Unified Key Setup-on-disk-format (LUKS) technology. The easiest way to
encrypt a partition is during installation time.
part / --fstype=ext4 --size=100 --onpart=hda1 --encrypted --passphrase=PASSPHRASEAny PASSPHRASE is stored in the Kickstart in plaintext, and the Kickstart must then be protected accordingly. Omitting the --passphrase= option from the partition definition will cause the
installer to pause and interactively ask for the passphrase during installation.
Detailed information on encrypting partitions using LUKS can be found on the Red Hat Documentation web site: https://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Encryption.html |
Rationale | The risk of a system's physical compromise, particularly mobile systems such as laptops, places its data at risk of compromise. Encrypting this data mitigates the risk of its loss if the system is lost. |
Ensure Red Hat GPG Key Installed
Rule ID | ensure_redhat_gpgkey_installed |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | high |
Identifiers and References | identifiers: CCE-26957-1 references: CM-5(3), SI-7, MA-1(b), 1749, 366, Test attestation on 20150407 by sdw |
Description | To ensure the system can cryptographically verify base software packages come from Red Hat (and to connect to the Red Hat Network to receive them), the Red Hat GPG key must properly be installed. To install the Red Hat GPG key, run: $ sudo rhn_registerIf the system is not connected to the Internet or an RHN Satellite, then install the Red Hat GPG key from trusted media such as the Red Hat installation CD-ROM or DVD. Assuming the disc is mounted in /media/cdrom , use the following command as the root user to import
it into the keyring:
$ sudo rpm --import /media/cdrom/RPM-GPG-KEY |
Rationale | Changes to software components can have significant effects on the overall security of the operating system. This requirement ensures the software has not been tampered with and that it has been provided by a trusted vendor. The Red Hat GPG key is necessary to cryptographically verify packages are from Red Hat. |
Ensure gpgcheck Enabled In Main Yum Configuration
Rule ID | ensure_gpgcheck_globally_activated |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | high |
Identifiers and References | identifiers: CCE-26989-4 references: CM-5(3), SI-7, MA-1(b), 1749, 366, Test attestation on 20150407 by sdw |
Description | The gpgcheck=1 |
Rationale | Verifying the authenticity of the software prior to installation validates the integrity of the patch or upgrade received from a vendor. This ensures the software has not been tampered with and that it has been provided by a trusted vendor. Self-signed certificates are disallowed by this requirement. Certificates used to verify the software must be from an approved Certificate Authority (CA). |
Ensure gpgcheck Enabled For All Yum Package Repositories
Rule ID | ensure_gpgcheck_never_disabled |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | high |
Identifiers and References | identifiers: CCE-26876-3 references: CM-5(3), SI-7, MA-1(b), 1749, 366, Test attestation on 20150407 by sdw |
Description | To ensure signature checking is not disabled for
any repos, remove any lines from files in gpgcheck=0 |
Rationale | Verifying the authenticity of the software prior to installation validates the integrity of the patch or upgrade received from a vendor. This ensures the software has not been tampered with and that it has been provided by a trusted vendor. Self-signed certificates are disallowed by this requirement. Certificates used to verify the software must be from an approved Certificate Authority (CA). |
Ensure Software Patches Installed
Rule ID | security_patches_up_to_date |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | high |
Identifiers and References | identifiers: CCE-26853-2 references: SI-2, MA-1(b), http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20120928 by MM |
Description | If the system is joined to the Red Hat Network, a Red Hat Satellite Server, or a yum server, run the following command to install updates: $ sudo yum updateIf the system is not configured to use one of these sources, updates (in the form of RPM packages) can be manually downloaded from the Red Hat Network and installed using rpm .
|
Rationale | Installing software updates is a fundamental mitigation against the exploitation of publicly-known vulnerabilities. |
Install AIDE
Rule ID | package_aide_installed |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-26741-9 references: CM-3(d), CM-3(e), CM-6(d), CM-6(3), SC-28, SI-7, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20121024 by DS |
Description | Install the AIDE package with the command: $ sudo yum install aide |
Rationale | The AIDE package must be installed if it is to be available for integrity checking. |
Disable Prelinking
Rule ID | disable_prelink |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description |
The prelinking feature changes binaries in an attempt to decrease their startup
time. In order to disable it, change or add the following line inside the file
PRELINKING=noNext, run the following command to return binaries to a normal, non-prelinked state: $ sudo /usr/sbin/prelink -ua |
Rationale | The prelinking feature can interfere with the operation of AIDE, because it changes binaries. |
Build and Test AIDE Database
Rule ID | aide_build_database |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | Run the following command to generate a new database: $ sudo /usr/sbin/aide --initBy default, the database will be written to the file /var/lib/aide/aide.db.new.gz .
Storing the database, the configuration file /etc/aide.conf , and the binary
/usr/sbin/aide (or hashes of these files), in a secure location (such as on read-only media) provides additional assurance about their integrity.
The newly-generated database can be installed as follows:
$ sudo cp /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gzTo initiate a manual check, run the following command: $ sudo /usr/sbin/aide --checkIf this check produces any unexpected output, investigate. |
Rationale | For AIDE to be effective, an initial database of "known-good" information about files must be captured and it should be able to be verified against the installed files. |
Configure Periodic Execution of AIDE
Rule ID | aide_periodic_cron_checking |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: CM-3(d), CM-3(e), CM-6(d), CM-6(3), SC-28, SI-7, 374, 416, 1069, 1263, 1297, 1589 |
Description |
To implement a daily execution of AIDE at 4:05am using cron, add the following line to 05 4 * * * root /usr/sbin/aide --checkAIDE can be executed periodically through other means; this is merely one example. |
Rationale | By default, AIDE does not install itself for periodic execution. Periodically running AIDE is necessary to reveal unexpected changes in installed files. |
Verify File Hashes with RPM
Rule ID | rpm_verify_hashes |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | The RPM package management system can check the hashes of installed software packages, including many that are important to system security. Run the following command to list which files on the system have hashes that differ from what is expected by the RPM database: $ rpm -Va | grep '^..5'A "c" in the second column indicates that a file is a configuration file, which may appropriately be expected to change. If the file was not expected to change, investigate the cause of the change using audit logs or other means. The package can then be reinstalled to restore the file. Run the following command to determine which package owns the file: $ rpm -qf FILENAMEThe package can be reinstalled from a yum repository using the command: $ sudo yum reinstall PACKAGENAMEAlternatively, the package can be reinstalled from trusted media using the command: $ sudo rpm -Uvh PACKAGENAME |
Rationale | The hashes of important files like system executables should match the information given by the RPM database. Executables with erroneous hashes could be a sign of nefarious activity on the system. |
Install Intrusion Detection Software
Rule ID | install_hids |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | high |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description |
The base Red Hat platform already includes a sophisticated auditing system that
can detect intruder activity, as well as SELinux, which provides host-based
intrusion prevention capabilities by confining privileged programs and user
sessions which may become compromised. |
Rationale | Host-based intrusion detection tools provide a system-level defense when an intruder gains access to a system or network. |
Install Virus Scanning Software
Rule ID | install_antivirus |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | Install virus scanning software, which uses signatures to search for the presence of viruses on the filesystem. The McAfee VirusScan Enterprise for Linux virus scanning tool is provided for DoD systems. Ensure virus definition files are no older than 7 days, or their last release. Configure the virus scanning software to perform scans dynamically on all accessed files. If this is not possible, configure the system to scan all altered files on the system on a daily basis. If the system processes inbound SMTP mail, configure the virus scanner to scan all received mail. |
Rationale | Virus scanning software can be used to detect if a system has been compromised by computer viruses, as well as to limit their spread to other systems. |
Add nodev Option to Non-Root Local Partitions
Rule ID | mount_option_nodev_nonroot_local_partitions |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: CM-7 |
Description | The |
Rationale | The |
Add nodev Option to Removable Media Partitions
Rule ID | mount_option_nodev_removable_partitions |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | The |
Rationale | The only legitimate location for device files is the |
Add noexec Option to Removable Media Partitions
Rule ID | mount_option_noexec_removable_partitions |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | The |
Rationale | Allowing users to execute binaries from removable media such as USB keys exposes the system to potential compromise. |
Add nosuid Option to Removable Media Partitions
Rule ID | mount_option_nosuid_removable_partitions |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | The |
Rationale | The presence of SUID and SGID executables should be tightly controlled. Allowing users to introduce SUID or SGID binaries from partitions mounted off of removable media would allow them to introduce their own highly-privileged programs. |
Add nodev Option to /tmp
Rule ID | mount_option_tmp_nodev |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description |
The |
Rationale | The only legitimate location for device files is the |
Add noexec Option to /tmp
Rule ID | mount_option_tmp_noexec |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | The |
Rationale | Allowing users to execute binaries from world-writable directories
such as |
Add nosuid Option to /tmp
Rule ID | mount_option_tmp_nosuid |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | The |
Rationale | The presence of SUID and SGID executables should be tightly controlled. Users should not be able to execute SUID or SGID binaries from temporary storage partitions. |
Add nodev Option to /dev/shm
Rule ID | mount_option_dev_shm_nodev |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | The |
Rationale | The only legitimate location for device files is the |
Add noexec Option to /dev/shm
Rule ID | mount_option_dev_shm_noexec |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | The |
Rationale | Allowing users to execute binaries from world-writable directories
such as |
Add nosuid Option to /dev/shm
Rule ID | mount_option_dev_shm_nosuid |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | The |
Rationale | The presence of SUID and SGID executables should be tightly controlled. Users should not be able to execute SUID or SGID binaries from temporary storage partitions. |
Bind Mount /var/tmp To /tmp
Rule ID | mount_option_var_tmp_bind |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: CM-7 |
Description | The /tmp /var/tmp none rw,nodev,noexec,nosuid,bind 0 0See the mount(8) man page for further explanation of bind mounting.
|
Rationale | Having multiple locations for temporary storage is not required. Unless absolutely
necessary to meet requirements, the storage location |
Disable Modprobe Loading of USB Storage Driver
Rule ID | kernel_module_usb-storage_disabled |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description |
To prevent USB storage devices from being used, configure the kernel module loading system
to prevent automatic loading of the USB storage driver.
To configure the system to prevent the install usb-storage /bin/trueThis will prevent the modprobe program from loading the usb-storage
module, but will not prevent an administrator (or another program) from using the
insmod program to load the module manually. |
Rationale | USB storage devices such as thumb drives can be used to introduce malicious software. |
Disable Kernel Support for USB via Bootloader Configuration
Rule ID | bootloader_nousb_argument |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description |
All USB support can be disabled by adding the kernel /vmlinuz-VERSION ro vga=ext root=/dev/VolGroup00/LogVol00 rhgb quiet nousbWARNING: Disabling all kernel support for USB will cause problems for systems with USB-based keyboards, mice, or printers. This configuration is infeasible for systems which require USB devices, which is common. |
Rationale | Disabling the USB subsystem within the Linux kernel at system boot will protect against potentially malicious USB devices, although it is only practical in specialized systems. |
Disable Booting from USB Devices in Boot Firmware
Rule ID | bios_disable_usb_boot |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | Configure the system boot firmware (historically called BIOS on PC systems) to disallow booting from USB drives. |
Rationale | Booting a system from a USB device would allow an attacker to circumvent any security measures provided by the operating system. Attackers could mount partitions and modify the configuration of the OS. |
Assign Password to Prevent Changes to Boot Firmware Configuration
Rule ID | bios_assign_password |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | Assign a password to the system boot firmware (historically called BIOS on PC systems) to require a password for any configuration changes. |
Rationale | Assigning a password to the system boot firmware prevents anyone with physical access from configuring the system to boot from local media and circumvent the operating system's access controls. For systems in physically secure locations, such as a data center or Sensitive Compartmented Information Facility (SCIF), this risk must be weighed against the risk of administrative personnel being unable to conduct recovery operations in a timely fashion. |
Disable the Automounter
Rule ID | service_autofs_disabled |
Result | pass |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | The $ sudo systemctl disable autofs |
Rationale | Disabling the automounter permits the administrator to
statically control filesystem mounting through |
Disable GNOME3 Automounting
Rule ID | dconf_gnome_disable_automount |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | The system's default desktop environment, GNOME3, will mount
devices and removable media (such as DVDs, CDs and USB flash drives) whenever
they are inserted into the system. To disable automount and autorun within GNOME3,
the |
Rationale | Disabling automatic mounting in GNOME3 can prevent the introduction of malware via removable media. It will, however, also prevent desktop users from legitimate use of removable media. |
Disable Mounting of cramfs
Rule ID | kernel_module_cramfs_disabled |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: CM-7 |
Description |
To configure the system to prevent the install cramfs /bin/trueThis effectively prevents usage of this uncommon filesystem. |
Rationale | Linux kernel modules which implement filesystems that are not needed by the local system should be disabled. |
Disable Mounting of freevxfs
Rule ID | kernel_module_freevxfs_disabled |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: CM-7 |
Description |
To configure the system to prevent the install freevxfs /bin/trueThis effectively prevents usage of this uncommon filesystem. |
Rationale | Linux kernel modules which implement filesystems that are not needed by the local system should be disabled. |
Disable Mounting of jffs2
Rule ID | kernel_module_jffs2_disabled |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: CM-7 |
Description |
To configure the system to prevent the install jffs2 /bin/trueThis effectively prevents usage of this uncommon filesystem. |
Rationale | Linux kernel modules which implement filesystems that are not needed by the local system should be disabled. |
Disable Mounting of hfs
Rule ID | kernel_module_hfs_disabled |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: CM-7 |
Description |
To configure the system to prevent the install hfs /bin/trueThis effectively prevents usage of this uncommon filesystem. |
Rationale | Linux kernel modules which implement filesystems that are not needed by the local system should be disabled. |
Disable Mounting of hfsplus
Rule ID | kernel_module_hfsplus_disabled |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: CM-7 |
Description |
To configure the system to prevent the install hfsplus /bin/trueThis effectively prevents usage of this uncommon filesystem. |
Rationale | Linux kernel modules which implement filesystems that are not needed by the local system should be disabled. |
Disable Mounting of squashfs
Rule ID | kernel_module_squashfs_disabled |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: CM-7 |
Description |
To configure the system to prevent the install squashfs /bin/trueThis effectively prevents usage of this uncommon filesystem. |
Rationale | Linux kernel modules which implement filesystems that are not needed by the local system should be disabled. |
Disable Mounting of udf
Rule ID | kernel_module_udf_disabled |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: CM-7 |
Description |
To configure the system to prevent the install udf /bin/trueThis effectively prevents usage of this uncommon filesystem. |
Rationale | Linux kernel modules which implement filesystems that are not needed by the local system should be disabled. |
Disable All GNOME3 Thumbnailers
Rule ID | dconf_gnome_disable_thumbnailers |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: CM-7 |
Description | The system's default desktop environment, GNOME3, uses
a number of different thumbnailer programs to generate thumbnails
for any new or modified content in an opened folder. To disable the
execution of these thumbnail applications, the |
Rationale | An attacker with knowledge of a flaw in a GNOME3 thumbnailer application could craft a malicious file to exploit this flaw. Assuming the attacker could place the malicious file on the local filesystem (via a web upload for example) and assuming a user browses the same location using Nautilus, the malicious file would exploit the thumbnailer with the potential for malicious code execution. It is best to disable these thumbnailer applications unless they are explicitly required. |
Verify User Who Owns shadow File
Rule ID | userowner_shadow_file |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-26795-5 references: AC-6, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20121026 by DS |
Description |
To properly set the owner of $ sudo chown root /etc/shadow |
Rationale | The |
Verify Group Who Owns shadow File
Rule ID | groupowner_shadow_file |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-27125-4 references: AC-6, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20121026 by DS |
Description |
To properly set the group owner of $ sudo chgrp root xsl:value-of select="@file"/> |
Rationale | The |
Verify User Who Owns group File
Rule ID | file_owner_etc_group |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-26933-2 references: AC-6, Test attestation on 20121026 by DS |
Description |
To properly set the owner of $ sudo chown root /etc/group |
Rationale | The |
Verify Group Who Owns group File
Rule ID | file_groupowner_etc_group |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-27037-1 references: AC-6, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20121026 by DS |
Description |
To properly set the group owner of $ sudo chgrp root xsl:value-of select="@file"/> |
Rationale | The |
Verify User Who Owns gshadow File
Rule ID | file_owner_etc_gshadow |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-27161-9 references: AC-6, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20121026 by DS |
Description |
To properly set the owner of $ sudo chown root /etc/gshadow |
Rationale | The |
Verify Group Who Owns gshadow File
Rule ID | file_groupowner_etc_gshadow |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-26840-9 references: AC-6, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20121026 by DS |
Description |
To properly set the group owner of $ sudo chgrp root xsl:value-of select="@file"/> |
Rationale | The |
Verify User Who Owns passwd File
Rule ID | file_owner_etc_passwd |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-27138-7 references: AC-6, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20121026 by DS |
Description |
To properly set the owner of $ sudo chown root /etc/passwd |
Rationale | The |
Verify Group Who Owns passwd File
Rule ID | file_groupowner_etc_passwd |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-26639-5 references: AC-6, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20121026 by DS |
Description |
To properly set the group owner of $ sudo chgrp root xsl:value-of select="@file"/> |
Rationale | The |
Verify that Shared Library Files Have Root Ownership
Rule ID | file_ownership_library_dirs |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-26648-6 references: AC-6, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20130914 by swells |
Description | 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: /lib /lib64 /usr/lib /usr/lib64Kernel modules, which can be added to the kernel during runtime, are also stored in /lib/modules . All files in these directories should be
owned by the root user. If the directory, or any file in these
directories, is found to be owned by a user other than root correct its
ownership with the following command:
$ sudo chown root FILE |
Rationale | Files from shared library directories are loaded into the address space of processes (including privileged ones) or of the kernel itself at runtime. Proper ownership is necessary to protect the integrity of the system. |
Verify that System Executables Have Root Ownership
Rule ID | file_ownership_binary_dirs |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-27119-7 references: AC-6, http://iase.disa.mil/stigs/cci/Pages/index.aspx |
Description | System executables are stored in the following directories by default: /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbinAll files in these directories should be owned by the root user.
If any file FILE in these directories is found
to be owned by a user other than root, correct its ownership with the
following command:
$ sudo chown root FILE |
Rationale | System binaries are executed by privileged users as well as system services, and restrictive permissions are necessary to ensure that their execution of these programs cannot be co-opted. |
Verify that All World-Writable Directories Have Sticky Bits Set
Rule ID | sticky_world_writable_dirs |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-6, Test attestation on 20120929 by swells |
Description | When the so-called 'sticky bit' is set on a directory,
only the owner of a given file may remove that file from the
directory. Without the sticky bit, any user with write access to a
directory may remove any file in the directory. Setting the sticky
bit prevents users from removing each other's files. In cases where
there is no reason for a directory to be world-writable, a better
solution is to remove that permission rather than to set the sticky
bit. However, if a directory is used by a particular application,
consult that application's documentation instead of blindly
changing modes.
$ sudo chmod +t DIR |
Rationale |
Failing to set the sticky bit on public directories allows unauthorized users to delete files in the directory structure.
|
Ensure No World-Writable Files Exist
Rule ID | world_writeable_files |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-6 |
Description | It is generally a good idea to remove global (other) write access to a file when it is discovered. However, check with documentation for specific applications before making changes. Also, monitor for recurring world-writable files, as these may be symptoms of a misconfigured application or user account. |
Rationale | Data in world-writable files can be modified by any user on the system. In almost all circumstances, files can be configured using a combination of user and group permissions to support whatever legitimate access is needed without the risk caused by world-writable files. |
Ensure All Files Are Owned by a User
Rule ID | no_files_unowned_by_user |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | If any files are not owned by a user, then the cause of their lack of ownership should be investigated. Following this, the files should be deleted or assigned to an appropriate user. |
Rationale | Unowned files do not directly imply a security problem, but they are generally a sign that something is amiss. They may be caused by an intruder, by incorrect software installation or draft software removal, or by failure to remove all files belonging to a deleted account. The files should be repaired so they will not cause problems when accounts are created in the future, and the cause should be discovered and addressed. |
Ensure All Files Are Owned by a Group
Rule ID | no_files_unowned_by_group |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | If any files are not owned by a group, then the cause of their lack of group-ownership should be investigated. Following this, the files should be deleted or assigned to an appropriate group. |
Rationale | Unowned files do not directly imply a security problem, but they are generally a sign that something is amiss. They may be caused by an intruder, by incorrect software installation or draft software removal, or by failure to remove all files belonging to a deleted account. The files should be repaired so they will not cause problems when accounts are created in the future, and the cause should be discovered and addressed. |
Ensure All World-Writable Directories Are Owned by a System Account
Rule ID | world_writable_files_system_ownership |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-6, Test attestation on 20120929 by swells |
Description | All directories in local partitions which are world-writable should be owned by root or another system account. If any world-writable directories are not owned by a system account, this should be investigated. Following this, the files should be deleted or assigned to an appropriate group. |
Rationale | Allowing a user account to own a world-writable directory is undesirable because it allows the owner of that directory to remove or replace any files that may be placed in the directory by other users. |
Set Daemon Umask
Rule ID | umask_for_daemons |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-6, Test attestation on 20140912 by JL |
Description | The file umask UMASKSetting the umask to too restrictive a setting can cause serious errors at runtime. Many daemons on the system already individually restrict themselves to a umask of 077 in their own init scripts. |
Rationale | The umask influences the permissions assigned to files created by a process at run time. An unnecessarily permissive umask could result in files being created with insecure permissions. |
Disable Core Dumps for All Users
Rule ID | disable_users_coredumps |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: SC-5 |
Description | To disable core dumps for all users, add the following line to
* hard core 0 |
Rationale | A core dump includes a memory image taken at the time the operating system terminates an application. The memory image could contain sensitive data and is generally useful only for developers trying to debug problems. |
Disable Core Dumps for SUID programs
Rule ID | sysctl_fs_suid_dumpable |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: SI-11 |
Description |
To set the runtime status of the $ sudo sysctl -w fs.suid_dumpable=0If this is not the system's default value, add the following line to /etc/sysctl.conf :
fs.suid_dumpable = 0 |
Rationale | The core dump of a setuid program is more likely to contain sensitive data, as the program itself runs with greater privileges than the user who initiated execution of the program. Disabling the ability for any setuid program to write a core file decreases the risk of unauthorized access of such data. |
Enable ExecShield
Rule ID | sysctl_kernel_exec_shield |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53r4.pdf, Test attestation on 20121024 by DS |
Description | By default on Red Hat Enterprise Linux 7 64-bit systems, ExecShield
is enabled and can only be disabled if the hardware does not support ExecShield
or is disabled in |
Rationale | ExecShield uses the segmentation feature on all x86 systems to prevent execution in memory higher than a certain address. It writes an address as a limit in the code segment descriptor, to control where code can be executed, on a per-process basis. When the kernel places a process's memory regions such as the stack and heap higher than this address, the hardware prevents execution in that address range. This is enabled by default on the latest Red Hat and Fedora systems if supported by the hardware. |
Enable Randomized Layout of Virtual Address Space
Rule ID | sysctl_kernel_randomize_va_space |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53r4.pdf, Test attestation on 20121024 by DS |
Description |
To set the runtime status of the $ sudo sysctl -w kernel.randomize_va_space=2If this is not the system's default value, add the following line to /etc/sysctl.conf :
kernel.randomize_va_space = 2 |
Rationale | Address space layout randomization (ASLR) makes it more difficult for an attacker to predict the location of attack code they have introduced into a process's address space during an attempt at exploitation. Additionally, ASLR makes it more difficult for an attacker to know the location of existing code in order to re-purpose it using return oriented programming (ROP) techniques. |
Install PAE Kernel on Supported 32-bit x86 Systems
Rule ID | install_PAE_kernel_on_x86-32 |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53r4.pdf |
Description | Systems that are using the 64-bit x86 kernel package do not need to install the kernel-PAE package because the 64-bit x86 kernel already includes this support. However, if the system is 32-bit and also supports the PAE and NX features as determined in the previous section, the kernel-PAE package should be installed to enable XD or NX support: $ sudo yum install kernel-PAEThe installation process should also have configured the bootloader to load the new kernel at boot. Verify this at reboot and modify /etc/default/grub if necessary. |
Rationale | On 32-bit systems that support the XD or NX bit, the vendor-supplied PAE kernel is required to enable either Execute Disable (XD) or No Execute (NX) support. |
Warnings | warning
The kernel-PAE package should not be
installed on older systems that do not support the XD or NX bit, as
this may prevent them from booting. |
Enable NX or XD Support in the BIOS
Rule ID | bios_enable_execution_restrictions |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53r4.pdf |
Description | Reboot the system and enter the BIOS or Setup configuration menu. Navigate the BIOS configuration menu and make sure that the option is enabled. The setting may be located under a Security section. Look for Execute Disable (XD) on Intel-based systems and No Execute (NX) on AMD-based systems. |
Rationale | Computers with the ability to prevent this type of code execution frequently put an option in the BIOS that will allow users to turn the feature on or off at will. |
Restrict Access to Kernel Message Buffer
Rule ID | enable_dmesg_restriction |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description |
To set the runtime status of the $ sudo sysctl -w kernel.dmesg_restrict=1If this is not the system's default value, add the following line to /etc/sysctl.conf :
kernel.dmesg_restrict = 1 |
Rationale | Unprivileged access to the kernel syslog can expose sensitive kernel address information. |
Ensure SELinux Not Disabled in /etc/grub.conf
Rule ID | enable_selinux_bootloader |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-3, AC-3(3), AC-6, AU-9, 22, 32, Test attestation on 20121024 by DS |
Description | SELinux can be disabled at boot time by an argument in
|
Rationale | Disabling a major host protection feature, such as SELinux, at boot time prevents it from confining system services at boot time. Further, it increases the chances that it will remain off during system operation. |
Ensure SELinux State is Enforcing
Rule ID | selinux_state |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-26800-3 references: AC-3, AC-3(3), AC-4, AC-6, AU-9, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20121024 by DS |
Description | The SELinux state should be set to SELINUX=enforcing |
Rationale | Setting the SELinux state to enforcing ensures SELinux is able to confine potentially compromised processes to the security policy, which is designed to prevent them from causing damage to the system or further elevating their privileges. |
Configure SELinux Policy
Rule ID | selinux_policytype |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-27135-3 references: AC-3, AC-3(3), AC-4, AC-6, AU-9, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20121024 by DS |
Description | The SELinux SELINUXTYPE=targetedOther policies, such as mls , provide additional security labeling
and greater confinement but are not compatible with many general-purpose
use cases.
|
Rationale |
Setting the SELinux policy to |
Uninstall setroubleshoot Package
Rule ID | package_setroubleshoot_removed |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE- |
Description | The SETroubleshoot service notifies desktop users of SELinux
denials. The service provides information around configuration errors,
unauthorized intrusions, and other potential errors.
The $ sudo yum erase setroubleshoot |
Rationale | The SETroubleshoot service is an unnecessary daemon to have running on a server |
Uninstall mcstrans Package
Rule ID | package_mcstrans_removed |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE- |
Description | The $ sudo yum erase mcstrans |
Rationale | Since this service is not used very often, disable it to reduce the amount of potentially vulnerable code running on the system. NOTE: This rule was added in support of the CIS RHEL6 v1.2.0 benchmark. Please note that Red Hat does not feel this rule is security relevant. |
Ensure No Daemons are Unconfined by SELinux
Rule ID | selinux_confinement_of_daemons |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description |
Daemons for which the SELinux policy does not contain rules will inherit the
context of the parent process. Because daemons are launched during
startup and descend from the $ sudo ps -eZ | egrep "initrc" | egrep -vw "tr|ps|egrep|bash|awk" | tr ':' ' ' | awk '{ print $NF }'It should produce no output in a well-configured system. |
Rationale |
Daemons which run with the |
Ensure No Device Files are Unlabeled by SELinux
Rule ID | selinux_all_devicefiles_labeled |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-6, AU-9, CM-7, 22, 32, Test attestation on 20121024 by DS |
Description | 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 |
Rationale |
If a device file carries the SELinux type |
Direct root Logins Not Allowed
Rule ID | no_direct_root_logins |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: IA-2(1), Test attestation on 20121024 by DS |
Description | To further limit access to the $ sudo echo > /etc/securetty |
Rationale | Disabling direct root logins ensures proper accountability and multifactor authentication to privileged accounts. Users will first login, then escalate to privileged (root) access via su / sudo. This is required for FISMA Low and FISMA Moderate systems. |
Restrict Virtual Console Root Logins
Rule ID | securetty_root_login_console_only |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-6(2), 770, Test attestation on 20121024 by DS |
Description |
To restrict root logins through the (deprecated) virtual console devices,
ensure lines of this form do not appear in vc/1 vc/2 vc/3 vc/4 |
Rationale | Preventing direct root login to virtual console devices helps ensure accountability for actions taken on the system using the root account. |
Restrict Serial Port Root Logins
Rule ID | restrict_serial_port_logins |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-6(2), 770, Test attestation on 20121024 by DS |
Description | To restrict root logins on serial ports,
ensure lines of this form do not appear in ttyS0 ttyS1 |
Rationale | Preventing direct root login to serial port interfaces helps ensure accountability for actions taken on the systems using the root account. |
Restrict Web Browser Use for Administrative Accounts
Rule ID | no_root_webbrowsing |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | Enforce policy requiring administrative accounts use web browsers only for local service administration. |
Rationale | If a browser vulnerability is exploited while running with administrative privileges, the entire system could be compromised. Specific exceptions for local service administration should be documented in site-defined policy. |
Ensure that System Accounts Do Not Run a Shell Upon Login
Rule ID | no_shelllogin_for_systemaccounts |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-26448-1 references: AC-2, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20121024 by DS |
Description |
Some accounts are not associated with a human
user of the system, and exist to perform some administrative
function. Should an attacker be able to log into these accounts,
they should not be granted access to a shell.
$ sudo usermod -s /sbin/nologin SYSACCT |
Rationale | Ensuring shells are not given to system accounts upon login makes it more difficult for attackers to make use of system accounts. |
Warnings | warning
Do not perform the steps in this
section on the root account. Doing so might cause the system to
become inaccessible.
|
Verify Only Root Has UID 0
Rule ID | accounts_no_uid_except_zero |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-27175-9 references: AC-6, IA-2(1), http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20121024 by DS |
Description | If any account other than root has a UID of 0, this misconfiguration should be investigated and the accounts other than root should be removed or have their UID changed. |
Rationale | An account has root authority if it has a UID of 0. Multiple accounts with a UID of 0 afford more opportunity for potential intruders to guess a password for a privileged account. Proper configuration of sudo is recommended to afford multiple system administrators access to root privileges in an accountable manner. |
Root Path Must Be Vendor Default
Rule ID | root_path_default |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: SA-8, Test attestation on 20121024 by DS |
Description | Assuming root shell is bash, edit the following files: ~/.profile ~/.bashrcChange any PATH variables to the vendor default for root and remove any
empty PATH entries or references to relative paths.
|
Rationale | The root account's executable search path must be the vendor default, and must contain only absolute paths. |
Prevent Log In to Accounts With Empty Password
Rule ID | no_empty_passwords |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | high |
Identifiers and References | identifiers: CCE-27010-8 references: IA-5(b), IA-5(c), IA-5(1)(a), Test attestation on 20121024 by DS |
Description | If an account is configured for password authentication
but does not have an assigned password, it may be possible to log
into the account without authentication. Remove any instances of the |
Rationale | If an account has an empty password, anyone could log in and run commands with the privileges of that account. Accounts with empty passwords should never be used in operational environments. |
Verify All Account Password Hashes are Shadowed
Rule ID | accounts_password_all_shadowed |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-27144-5 references: IA-5(h), http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20121024 by DS |
Description |
If any password hashes are stored in |
Rationale |
The hashes for all user account passwords should be stored in
the file |
All GIDs referenced in /etc/passwd must be defined in /etc/group
Rule ID | gid_passwd_group_same |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: 366, Test attestation on 20121024 by DS |
Description | Add a group to the system for each GID referenced without a corresponding group. |
Rationale |
Inconsistency in GIDs between |
Verify No netrc Files Exist
Rule ID | no_netrc_files |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | The |
Rationale |
Unencrypted passwords for remote FTP servers may be stored in |
Set Password Minimum Length in login.defs
Rule ID | accounts_password_minlen_login_defs |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-27123-9 references: IA-5(f), IA-5(1)(a), http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20121026 by DS |
Description | To specify password length requirements for new accounts,
edit the file PASS_MIN_LEN 14 The DoD requirement is 14 .
The FISMA requirement is 12 .
If a program consults /etc/login.defs and also another PAM module
(such as pam_pwquality ) during a password change operation,
then the most restrictive must be satisfied. See PAM section
for more information about enforcing password quality requirements.
|
Rationale | Requiring a minimum password length makes password cracking attacks more difficult by ensuring a larger search space. However, any security benefit from an onerous requirement must be carefully weighed against usability problems, support costs, or counterproductive behavior that may result. |
Set Password Minimum Age
Rule ID | accounts_minimum_age_login_defs |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-27002-5 references: IA-5(f), IA-5(1)(d), 198, 75, Test attestation on 20121026 by DS |
Description | To specify password minimum age for new accounts,
edit the file PASS_MIN_DAYS DAYSA value of 1 day is considered for sufficient for many environments. The DoD requirement is 1. |
Rationale | Setting the minimum password age protects against users cycling back to a favorite password after satisfying the password reuse requirement. |
Set Password Maximum Age
Rule ID | accounts_maximum_age_login_defs |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-27051-2 references: IA-5(f), IA-5(g), IA-5(1)(d), 180, 199, 76, Test attestation on 20121026 by DS |
Description | To specify password maximum age for new accounts,
edit the file PASS_MAX_DAYS DAYSA value of 180 days is sufficient for many environments. The DoD requirement is 60. |
Rationale | Setting the password maximum age ensures users are required to periodically change their passwords. This could possibly decrease the utility of a stolen password. Requiring shorter password lifetimes increases the risk of users writing down the password in a convenient location subject to physical compromise. |
Set Password Warning Age
Rule ID | accounts_password_warn_age_login_defs |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-26486-1 references: AC-2(2), IA-5(f), Test attestation on 20121026 by DS |
Description | To specify how many days prior to password
expiration that a warning will be issued to users,
edit the file PASS_WARN_AGE DAYSThe DoD requirement is 7. |
Rationale | Setting the password warning age enables users to make the change at a practical time. |
Set Account Expiration Following Inactivity
Rule ID | account_disable_post_pw_expiration |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-TBD |
Description | To specify the number of days after a password expires (which
signifies inactivity) until an account is permanently disabled, add or correct
the following lines in INACTIVE=NUM_DAYSA value of 35 is recommended. If a password is currently on the verge of expiration, then 35 days remain until the account is automatically disabled. However, if the password will not expire for another 60 days, then 95 days could elapse until the account would be automatically disabled. See the useradd man page for more information. Determining the inactivity
timeout must be done with careful consideration of the length of a "normal"
period of inactivity for users in the particular environment. Setting
the timeout too low incurs support costs and also has the potential to impact
availability of the system to legitimate users.
|
Rationale | Disabling inactive accounts ensures that accounts which may not have been responsibly removed are not available to attackers who may have compromised their credentials. |
Ensure All Accounts on the System Have Unique Names
Assign Expiration Date to Temporary Accounts
Rule ID | account_temp_expire_date |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-27498-5 |
Description |
Temporary accounts are established as part of normal account activation procedures
when there is a need for short-term accounts. In the event temporary
or emergency accounts are required, configure the system to terminate
them after a documented time period. For every temporary and
emergency account, run the following command to set an expiration date on it,
substituting $ sudo chage -E YYYY-MM-DD USER YYYY-MM-DD indicates the documented expiration date for the account.
For U.S. Government systems, the operating system must be configured to automatically terminate
these typoes of accounts after a period of 72 hours.
|
Rationale |
If temporary user accounts remain active when no longer needed or for
an excessive period, these accounts may be used to gain unauthorized access.
To mitigate this risk, automated termination of all temporary accounts
must be set upon account creation.
|
Set Password Retry Prompts Permitted Per-Session
Rule ID | accounts_password_pam_retry |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-27131-2 references: IA-5(c), http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20140925 by swells |
Description | To configure the number of retry prompts that are permitted per-session:
|
Rationale | Setting the password retry prompts that are permitted on a per-session basis to a low value requires some software, such as SSH, to re-connect. This can slow down and draw additional attention to some types of password-guessing attacks. Note that this is different from account lockout, which is provided by the pam_faillock module. |
Set Password to Maximum of Three Consecutive Repeating Characters
Rule ID | accounts_password_pam_maxrepeat |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | The pam_pwquality module's |
Rationale | Passwords with excessive repeating characters may be more vulnerable to password-guessing attacks. |
Set Password Strength Minimum Digit Characters
Rule ID | accounts_password_pam_dcredit |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-27163-5 references: IA-5(b), IA-5(c), 194, 194, 71, Test attestation on 20121024 by DS |
Description | The pam_pwquality module's |
Rationale | Requiring digits makes password guessing attacks more difficult by ensuring a larger search space. |
Set Password Minimum Length
Rule ID | accounts_password_pam_minlen |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-26615-5 references: IA-5(1)(a), 205, 78, Test attestation on 20140928 by swells |
Description | The pam_pwquality module's |
Rationale | Password length is one factor of several that helps to determine strength and how long it takes to crack a password. Use of more characters in a password helps to exponentially increase the time and/or resources required to compromise the password. |
Set Password Strength Minimum Uppercase Characters
Rule ID | accounts_password_pam_ucredit |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-26988-6 references: IA-5(b), IA-5(c), IA-5(1)(a), 192, 69, Test attestation on 20121024 by DS |
Description | The pam_pwquality module's |
Rationale | Requiring a minimum number of uppercase characters makes password guessing attacks more difficult by ensuring a larger search space. |
Set Password Strength Minimum Special Characters
Rule ID | accounts_password_pam_ocredit |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-27151-0 references: IA-5(b), IA-5(c), IA-5(1)(a), 1619, 266, Test attestation on 20121024 by DS |
Description | The pam_pwquality module's |
Rationale | Requiring a minimum number of special characters makes password guessing attacks more difficult by ensuring a larger search space. |
Set Password Strength Minimum Lowercase Characters
Rule ID | accounts_password_pam_lcredit |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-27111-4 references: IA-5(b), IA-5(c), IA-5(1)(a), 193, 70, Test attestation on 20121024 by DS |
Description | The pam_pwquality module's |
Rationale | Requiring a minimum number of lowercase characters makes password guessing attacks more difficult by ensuring a larger search space. |
Set Password Strength Minimum Different Characters
Rule ID | accounts_password_pam_difok |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-26631-2 references: IA-5(b), IA-5(c), IA-5(1)(b), 195, 72, Test attestation on 20121024 by DS |
Description | The pam_pwquality module's |
Rationale | Requiring a minimum number of different characters during password changes ensures that newly changed passwords should not resemble previously compromised ones. Note that passwords which are changed on compromised systems will still be compromised, however. |
Set Password Strength Minimum Different Categories
Rule ID | accounts_password_pam_minclass |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-27115-5 references: Test attestation on 20140626 by JL |
Description | The pam_pwquality module's * Upper-case characters * Lower-case characters * Digits * Special characters (for example, punctuation)Modify the minclass setting in /etc/security/pwquality.conf entry to require
differing categories of characters when changing passwords. The minimum requirement is 3 .
|
Rationale | Requiring a minimum number of character categories makes password guessing attacks more difficult by ensuring a larger search space. |
Set Deny For Failed Password Attempts
Rule ID | accounts_passwords_pam_faillock_deny |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-26891-2 |
Description |
To configure the system to lock out accounts after a number of incorrect login
attempts using
|
Rationale | Locking out user accounts after a number of incorrect attempts prevents direct password guessing attacks. |
Set Lockout Time For Failed Password Attempts
Rule ID | accounts_passwords_pam_faillock_unlock_time |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-26884-7 |
Description |
To configure the system to lock out accounts after a number of incorrect login
attempts and require an administrator to unlock the account using
|
Rationale | Locking out user accounts after a number of incorrect attempts prevents direct password guessing attacks. Ensuring that an administrator is involved in unlocking locked accounts draws appropriate attention to such situations. |
Set Interval For Counting Failed Password Attempts
Rule ID | accounts_passwords_pam_faillock_interval |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-26763-3 |
Description |
Utilizing
|
Rationale | Locking out user accounts after a number of incorrect attempts within a specific period of time prevents direct password guessing attacks. |
Limit Password Reuse
Rule ID | accounts_password_pam_unix_remember |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-26923-3 references: IA-5(f), IA-5(1)(e), 200, 77, Test attestation on 20121024 by DS |
Description | Do not allow users to reuse recent passwords. This can
be accomplished by using the password sufficient pam_unix.so existing_options remember=5The DoD STIG requirement is 5 passwords. |
Rationale | Preventing re-use of previous passwords helps ensure that a compromised password is not re-used by a user. |
Set Password Hashing Algorithm in /etc/pam.d/system-auth
Rule ID | set_password_hashing_algorithm_systemauth |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-27104-9 references: IA-5(b), IA-5(c), IA-5(1)(c), IA-7, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20121024 by DS |
Description |
In password sufficient pam_unix.so sha512 other arguments...This will help ensure when local users change their passwords, hashes for the new passwords will be generated using the SHA-512 algorithm. This is the default. |
Rationale | Using a stronger hashing algorithm makes password cracking attacks more difficult. |
Set Password Hashing Algorithm in /etc/login.defs
Rule ID | set_password_hashing_algorithm_logindefs |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-27124-7 references: IA-5(b), IA-5(c), IA-5(1)(c), IA-7, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20121024 by DS |
Description |
In ENCRYPT_METHOD SHA512 |
Rationale | Using a stronger hashing algorithm makes password cracking attacks more difficult. |
Set Password Hashing Algorithm in /etc/libuser.conf
Rule ID | set_password_hashing_algorithm_libuserconf |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-27053-8 references: IA-5(b), IA-5(c), IA-5(1)(c), IA-7, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20121026 by DS |
Description |
In crypt_style = sha512 |
Rationale | Using a stronger hashing algorithm makes password cracking attacks more difficult. |
Set Last Logon/Access Notification
Rule ID | display_login_attempts |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: 53 |
Description | To configure the system to notify users of last logon/access
using session [success=1 default=ignore] pam_succeed_if.so service !~ gdm* service !~ su* quiet session [default=1] pam_lastlog.so nowtmp showfailed session optional pam_lastlog.so silent noupdate showfailed |
Rationale | Users need to be aware of activity that occurs regarding their account. Providing users with information regarding the number of unsuccessful attempts that were made to login to their account allows the user to determine if any unauthorized activity has occurred and gives them an opportunity to notify administrators. |
Ensure that Root's Path Does Not Include Relative Paths or Null Directories
Rule ID | root_path_no_dot |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53r4.pdf |
Description |
Ensure that none of the directories in root's path is equal to a single
PATH=:/bin PATH=/bin: PATH=/bin::/sbinThese empty elements have the same effect as a single . character.
|
Rationale | Including these entries increases the risk that root could execute code from an untrusted location. |
Ensure that Root's Path Does Not Include World or Group-Writable Directories
Rule ID | root_path_no_groupother_writable |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53r4.pdf |
Description | For each element in root's path, run: # ls -ld DIRand ensure that write permissions are disabled for group and other. |
Rationale | Such entries increase the risk that root could execute code provided by unprivileged users, and potentially malicious code. |
Ensure the Default Bash Umask is Set Correctly
Rule ID | accounts_umask_bashrc |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: SA-8, 366, Test attestation on 20140912 by JL |
Description |
To ensure the default umask for users of the Bash shell is set properly,
add or correct the umask 077 |
Rationale | The umask value influences the permissions assigned to files when they are created. A misconfigured umask value could result in files with excessive permissions that can be read or written to by unauthorized users. |
Ensure the Default C Shell Umask is Set Correctly
Rule ID | accounts_umask_cshrc |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: SA-8, 366, Test attestation on 20140912 by JL |
Description |
To ensure the default umask for users of the C shell is set properly,
add or correct the umask 077 |
Rationale | The umask value influences the permissions assigned to files when they are created. A misconfigured umask value could result in files with excessive permissions that can be read or written to by unauthorized users. |
Ensure the Default Umask is Set Correctly in /etc/profile
Rule ID | accounts_umask_etc_profile |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: SA-8, 366, Test attestation on 20120929 by swells |
Description |
To ensure the default umask controlled by umask 077 |
Rationale | The umask value influences the permissions assigned to files when they are created. A misconfigured umask value could result in files with excessive permissions that can be read or written to by unauthorized users. |
Ensure the Default Umask is Set Correctly in login.defs
Rule ID | accounts_umask_login_defs |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: SA-8, 366, Test attestation on 20140912 by JL |
Description |
To ensure the default umask controlled by UMASK 077 |
Rationale | The umask value influences the permissions assigned to files when they are created. A misconfigured umask value could result in files with excessive permissions that can be read and written to by unauthorized users. |
Limit the Number of Concurrent Login Sessions Allowed Per User
Rule ID | accounts_max_concurrent_login_sessions |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-27081-9 |
Description |
Limiting the number of allowed users and sessions per user can limit risks related to Denial of
Service attacks. This addresses concurrent sessions for a single account and does not address
concurrent sessions by a single user via multiple accounts. The DoD requirement is 10. To set the number of concurrent
sessions per user add the following line in * hard maxlogins 1 |
Rationale | Limiting simultaneous user logins can insulate the system from denial of service problems caused by excessive logins. Automated login processes operating improperly or maliciously may result in an exceptional number of simultaneous login sessions. |
Ensure that User Home Directories are not Group-Writable or World-Readable
Rule ID | homedir_perms_no_groupwrite_worldread |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-6 |
Description | For each human user of the system, view the permissions of the user's home directory: # ls -ld /home/USEREnsure that the directory is not group-writable and that it is not world-readable. If necessary, repair the permissions: # chmod g-w /home/USER # chmod o-rwx /home/USER |
Rationale | User home directories contain many configuration files which affect the behavior of a user's account. No user should ever have write permission to another user's home directory. Group shared directories can be configured in sub-directories or elsewhere in the filesystem if they are needed. Typically, user home directories should not be world-readable, as it would disclose file names to other users. If a subset of users need read access to one another's home directories, this can be provided using groups or ACLs. |
Warnings | warning
This action may involve
modifying user home directories. Notify your user community, and
solicit input if appropriate, before making this type of
change. |
Verify /boot/grub2/grub.cfg User Ownership
Rule ID | file_user_owner_grub2_cfg |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-26860-7 references: http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53r4.pdf, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20121026 by DS |
Description | The file $ sudo chown root /boot/grub2/grub.cfg |
Rationale | Only root should be able to modify important boot parameters. |
Verify /boot/grub2/grub.cfg Group Ownership
Rule ID | file_group_owner_grub2_cfg |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-26812-8 references: http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53r4.pdf, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20121026 by DS |
Description | The file $ sudo chgrp root xsl:value-of select="@file"/> |
Rationale |
The |
Set Boot Loader Password
Rule ID | bootloader_password |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-26809-4 references: IA-2(1), IA-5(e), AC-3, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20121026 by DS |
Description | The grub2 boot loader should have a superuser account and password
protection enabled to protect boot-time settings.
$ grub2-mkpasswd-pbkdf2When prompted, enter the password that was selected and insert the returned password hash into the appropriate grub2 configuration file(s) under /etc/grub.d immediately after the superuser account.
(Use the output from grub2-mkpasswd-pbkdf2 as the value of
password-hash):
password_pbkdf2 superusers-account password-hashNOTE: It is recommended not to use common administrator account names like root, admin, or administrator for the grub2 superuser account. To meet FISMA Moderate, the bootloader superuser account and password MUST differ from the root account and password. Once the superuser account and password have been added, update the grub.cfg file by running:
grub2-mkconfig -o /boot/grub2/grub.cfgNOTE: Do NOT manually add the superuser account and password to the grub.cfg file as the grub2-mkconfig command overwrites this file.
|
Rationale | Password protection on the boot loader configuration ensures users with physical access cannot trivially alter important bootloader settings. These include which kernel to use, and whether to enter single-user mode. For more information on how to configure the grub2 superuser account and password, please refer to
|
Set GNOME3 Screensaver Inactivity Timeout
Rule ID | dconf_gnome_screensaver_idle_delay |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description |
To set the idle time-out value for inactivity in the GNOME3 desktop to 5 minutes (in seconds),
the |
Rationale | Setting the idle delay controls when the screensaver will start, and can be combined with screen locking to prevent access from passersby. |
Enable GNOME3 Screensaver Idle Activation
Rule ID | dconf_gnome_screensaver_idle_activation_enabled |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description |
To activate the screensaver in the GNOME3 desktop after a period of inactivity,
the |
Rationale | Enabling idle activation of the screensaver ensures the screensaver will be activated after the idle delay. Applications requiring continuous, real-time screen display (such as network management products) require the login session does not have administrator rights and the display station is located in a controlled-access area. |
Enable GNOME3 Screensaver Lock After Idle Period
Rule ID | dconf_gnome_screensaver_lock_enabled |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description |
To activate locking of the screensaver in the GNOME3 desktop when it is activated,
the |
Rationale | Enabling the activation of the screen lock after an idle period ensures password entry will be required in order to access the system, preventing access by passersby. |
Implement Blank Screensaver
Rule ID | dconf_gnome_screensaver_mode_blank |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description |
To set the screensaver mode in the GNOME3 desktop to a blank screen,
the |
Rationale | Setting the screensaver mode to blank-only conceals the contents of the display from passersby. |
Install the screen Package
Rule ID | package_screen_installed |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: 58, Test attestation on 20121026 by DS |
Description |
To enable console screen locking, install the $ sudo yum install screenInstruct users to begin new terminal sessions with the following command: $ screenThe console can now be locked with the following key combination: ctrl+a x |
Rationale |
Installing |
Enable Smart Card Login
Rule ID | smartcard_auth |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | To enable smart card authentication, consult the documentation at:
|
Rationale | Smart card login provides two-factor authentication stronger than that provided by a username and password combination. Smart cards leverage PKI (public key infrastructure) in order to provide and verify credentials. |
Require Authentication for Single User Mode
Rule ID | require_singleuser_auth |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-27170-0 references: IA-2(1), AC-3, 213, Test attestation on 20121024 by DS |
Description | Single-user mode is intended as a system recovery
method, providing a single user root access to the system by
providing a boot option at startup. By default, no authentication
is performed if single-user mode is selected.
|
Rationale | This prevents attackers with physical access from trivially bypassing security on the machine and gaining root access. Such accesses are further prevented by configuring the bootloader password. |
Disable Ctrl-Alt-Del Reboot Activation
Rule ID | disable_ctrlaltdel_reboot |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | high |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description |
By default, the system includes the following line in
exec /sbin/shutdown -r now "Control-Alt-Delete pressed" To configure the system to log a message instead of rebooting the system, alter that line to read as follows: exec /usr/bin/logger -p security.info "Control-Alt-Delete pressed" |
Rationale | A locally logged-in user who presses Ctrl-Alt-Del, when at the console, can reboot the system. If accidentally pressed, as could happen in the case of mixed OS environment, this can create the risk of short-term loss of availability of systems due to unintentional reboot. In the GNOME graphical environment, risk of unintentional reboot from the Ctrl-Alt-Del sequence is reduced because the user will be prompted before any action is taken. |
Disable Interactive Boot
Rule ID | disable_interactive_boot |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: SC-2, AC-3, 213, Test attestation on 20121024 by DS |
Description |
To disable the ability for users to perform interactive startups,
edit the file PROMPT=noThe PROMPT option allows the console user to perform an
interactive system startup, in which it is possible to select the
set of services which are started on boot.
|
Rationale | Using interactive boot, the console user could disable auditing, firewalls, or other services, weakening system security. |
Disable the GNOME3 Login User List
Rule ID | dconf_gnome_disable_user_list |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-23 |
Description | In the default graphical environment, users logging
directly into the system are greeted with a login screen that displays
all known users. This functionality should be disabled.
|
Rationale | Leaving the user list enabled is a security risk since it allows anyone with physical access to the system to quickly enumerate known user accounts without logging in. |
Disable Kernel Parameter for Sending ICMP Redirects by Default
Rule ID | sysctl_net_ipv4_conf_default_send_redirects |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-4, CM-7, SC-5, SC-7, 1551, Test attestation on 20121024 by DS |
Description |
To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.default.send_redirects=0If this is not the system's default value, add the following line to /etc/sysctl.conf :
net.ipv4.conf.default.send_redirects = 0 |
Rationale | Sending ICMP redirects permits the system to instruct other systems to update their routing information. The ability to send ICMP redirects is only appropriate for systems acting as routers. |
Disable Kernel Parameter for Sending ICMP Redirects for All Interfaces
Rule ID | sysctl_net_ipv4_conf_all_send_redirects |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: CM-7, SC-5(1), 1551, Test attestation on 20121024 by DS |
Description |
To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.all.send_redirects=0If this is not the system's default value, add the following line to /etc/sysctl.conf :
net.ipv4.conf.all.send_redirects = 0 |
Rationale | Sending ICMP redirects permits the system to instruct other systems to update their routing information. The ability to send ICMP redirects is only appropriate for systems acting as routers. |
Disable Kernel Parameter for IP Forwarding
Rule ID | sysctl_ipv4_ip_forward |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: CM-7, SC-5, 366, Test attestation on 20121024 by DS |
Description |
To set the runtime status of the $ sudo sysctl -w net.ipv4.ip_forward=0If this is not the system's default value, add the following line to /etc/sysctl.conf :
net.ipv4.ip_forward = 0 |
Rationale | IP forwarding permits the kernel to forward packets from one network interface to another. The ability to forward packets between two networks is only appropriate for systems acting as routers. |
Disable Kernel Parameter for Accepting Source-Routed Packets for All Interfaces
Rule ID | sysctl_net_ipv4_conf_all_accept_source_route |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: CM-7, SC-5, 1551, Test attestation on 20121024 by DS |
Description |
To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.all.accept_source_route=0If this is not the system's default value, add the following line to /etc/sysctl.conf :
net.ipv4.conf.all.accept_source_route = 0 |
Rationale | Accepting source-routed packets in the IPv4 protocol has few legitimate uses. It should be disabled unless it is absolutely required. |
Disable Kernel Parameter for Accepting ICMP Redirects for All Interfaces
Rule ID | sysctl_net_ipv4_conf_all_accept_redirects |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: CM-7, SC-5, 1503, 1551, Test attestation on 20121024 by DS |
Description |
To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.all.accept_redirects=0If this is not the system's default value, add the following line to /etc/sysctl.conf :
net.ipv4.conf.all.accept_redirects = 0 |
Rationale | Accepting ICMP redirects has few legitimate uses. It should be disabled unless it is absolutely required. |
Disable Kernel Parameter for Accepting Secure Redirects for All Interfaces
Rule ID | sysctl_net_ipv4_conf_all_secure_redirects |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-4, CM-7, SC-5, 1503, 1551, Test attestation on 20121024 by DS |
Description |
To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.all.secure_redirects=0If this is not the system's default value, add the following line to /etc/sysctl.conf :
net.ipv4.conf.all.secure_redirects = 0 |
Rationale | Accepting "secure" ICMP redirects (from those gateways listed as default gateways) has few legitimate uses. It should be disabled unless it is absolutely required. |
Enable Kernel Parameter to Log Martian Packets
Rule ID | sysctl_net_ipv4_conf_all_log_martians |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-17(7), CM-7, SC-5(3), 126, Test attestation on 20121024 by DS |
Description |
To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.all.log_martians=1If this is not the system's default value, add the following line to /etc/sysctl.conf :
net.ipv4.conf.all.log_martians = 1 |
Rationale | The presence of "martian" packets (which have impossible addresses) as well as spoofed packets, source-routed packets, and redirects could be a sign of nefarious network activity. Logging these packets enables this activity to be detected. |
Disable Kernel Parameter for Accepting Source-Routed Packets By Default
Rule ID | sysctl_net_ipv4_conf_default_accept_source_route |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-4, CM-7, SC-5, SC-7, 1551, Test attestation on 20121024 by DS |
Description |
To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.default.accept_source_route=0If this is not the system's default value, add the following line to /etc/sysctl.conf :
net.ipv4.conf.default.accept_source_route = 0 |
Rationale | Accepting source-routed packets in the IPv4 protocol has few legitimate uses. It should be disabled unless it is absolutely required. |
Disable Kernel Parameter for Accepting ICMP Redirects By Default
Rule ID | sysctl_net_ipv4_conf_default_accept_redirects |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-4, CM-7, SC-5, SC-7, 1551, Test attestation on 20121024 by DS |
Description |
To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.default.accept_redirects=0If this is not the system's default value, add the following line to /etc/sysctl.conf :
net.ipv4.conf.default.accept_redirects = 0 |
Rationale | This feature of the IPv4 protocol has few legitimate uses. It should be disabled unless it is absolutely required. |
Disable Kernel Parameter for Accepting Secure Redirects By Default
Rule ID | sysctl_net_ipv4_conf_default_secure_redirects |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-4, CM-7, SC-5, SC-7, 1551, Test attestation on 20121024 by DS |
Description |
To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.default.secure_redirects=0If this is not the system's default value, add the following line to /etc/sysctl.conf :
net.ipv4.conf.default.secure_redirects = 0 |
Rationale | Accepting "secure" ICMP redirects (from those gateways listed as default gateways) has few legitimate uses. It should be disabled unless it is absolutely required. |
Enable Kernel Parameter to Ignore ICMP Broadcast Echo Requests
Rule ID | sysctl_net_ipv4_icmp_echo_ignore_broadcasts |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: CM-7, SC-5, 1551, Test attestation on 20121024 by DS |
Description |
To set the runtime status of the $ sudo sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1If this is not the system's default value, add the following line to /etc/sysctl.conf :
net.ipv4.icmp_echo_ignore_broadcasts = 1 |
Rationale | Ignoring ICMP echo requests (pings) sent to broadcast or multicast addresses makes the system slightly more difficult to enumerate on the network. |
Enable Kernel Parameter to Ignore Bogus ICMP Error Responses
Rule ID | sysctl_net_ipv4_icmp_ignore_bogus_error_responses |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: CM-7, SC-5, Test attestation on 20121024 by DS |
Description |
To set the runtime status of the $ sudo sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1If this is not the system's default value, add the following line to /etc/sysctl.conf :
net.ipv4.icmp_ignore_bogus_error_responses = 1 |
Rationale | Ignoring bogus ICMP error responses reduces log size, although some activity would not be logged. |
Enable Kernel Parameter to Use Reverse Path Filtering for All Interfaces
Rule ID | sysctl_net_ipv4_conf_all_rp_filter |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-4, SC-5, SC-7, 1551, Test attestation on 20121024 by DS |
Description |
To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.all.rp_filter=1If this is not the system's default value, add the following line to /etc/sysctl.conf :
net.ipv4.conf.all.rp_filter = 1 |
Rationale | Enabling reverse path filtering drops packets with source addresses that should not have been able to be received on the interface they were received on. It should not be used on systems which are routers for complicated networks, but is helpful for end hosts and routers serving small networks. |
Enable Kernel Parameter to Use Reverse Path Filtering by Default
Rule ID | sysctl_net_ipv4_conf_default_rp_filter |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-4, SC-5, SC-7, Test attestation on 20121024 by DS |
Description |
To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.default.rp_filter=1If this is not the system's default value, add the following line to /etc/sysctl.conf :
net.ipv4.conf.default.rp_filter = 1 |
Rationale | Enabling reverse path filtering drops packets with source addresses that should not have been able to be received on the interface they were received on. It should not be used on systems which are routers for complicated networks, but is helpful for end hosts and routers serving small networks. |
Disable WiFi or Bluetooth in BIOS
Rule ID | wireless_disable_in_bios |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-17(8), AC-18(a), AC-18(d), AC-18(3), CM-7, 85 |
Description | Some systems that include built-in wireless support offer the ability to disable the device through the BIOS. This is system-specific; consult your hardware manual or explore the BIOS setup during boot. |
Rationale | Disabling wireless support in the BIOS prevents easy activation of the wireless interface, generally requiring administrators to reboot the system first. |
Deactivate Wireless Network Interfaces
Rule ID | deactivate_wireless_interfaces |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-17(8), AC-18(a), AC-18(d), AC-18(3), CM-7, 85, Test attestation on 20121025 by DS |
Description | Deactivating wireless network interfaces should prevent
normal usage of the wireless capability.
$ ifconfig -aAdditionally, the following command may be used to determine whether wireless support is included for a particular interface, though this may not always be a clear indicator: $ iwconfigAfter identifying any wireless interfaces (which may have names like wlan0 , ath0 , wifi0 , em1 or
eth0 ), deactivate the interface with the command:
$ sudo ifdown interfaceThese changes will only last until the next reboot. To disable the interface for future boots, remove the appropriate interface file from /etc/sysconfig/network-scripts :
$ sudo rm /etc/sysconfig/network-scripts/ifcfg-interface |
Rationale | Wireless networking allows attackers within physical proximity to launch network-based attacks against systems, including those against local LAN protocols which were not designed with security in mind. |
Disable Bluetooth Service
Rule ID | service_bluetooth_disabled |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-17(8), AC-18(a), AC-18(d), AC-18(3), CM-7, 85, 1551, Test attestation on 20121025 by DS |
Description |
The $ sudo systemctl disable bluetooth $ sudo service bluetooth stop |
Rationale | Disabling the |
Disable Bluetooth Kernel Modules
Rule ID | kernel_module_bluetooth_disabled |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-17(8), AC-18(a), AC-18(d), AC-18(3), CM-7, 85, 1551, Test attestation on 20141031 by JL |
Description | The kernel's module loading system can be configured to prevent
loading of the Bluetooth module. Add the following to
the appropriate install bluetooth /bin/true |
Rationale | If Bluetooth functionality must be disabled, preventing the kernel from loading the kernel module provides an additional safeguard against its activation. |
Disable IPv6 Networking Support Automatic Loading
Rule ID | sysctl_kernel_ipv6_disable |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: CM-7, 1551, Test attestation on 20121024 by DS |
Description | To disable support for ( net.ipv6.conf.all.disable_ipv6 = 1This disables IPv6 on all network interfaces as other services and system functionality require the IPv6 stack loaded to work. |
Rationale | Any unnecessary network stacks - including IPv6 - should be disabled, to reduce the vulnerability to exploitation. |
Disable Interface Usage of IPv6
Rule ID | network_ipv6_disable_interfaces |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | To disable interface usage of IPv6, add or correct the following lines in NETWORKING_IPV6=no IPV6INIT=no |
Disable Support for RPC IPv6
Rule ID | network_ipv6_disable_rpc |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: CM-7 |
Description | RPC services for NFSv4 try to load transport modules for
udp6 tpi_clts v inet6 udp - - tcp6 tpi_cots_ord v inet6 tcp - - |
Disable Accepting IPv6 Router Advertisements
Rule ID | sysctl_net_ipv6_conf_default_accept_ra |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: CM-7 |
Description |
To set the runtime status of the $ sudo sysctl -w net.ipv6.conf.default.accept_ra=0If this is not the system's default value, add the following line to /etc/sysctl.conf :
net.ipv6.conf.default.accept_ra = 0 |
Rationale | An illicit router advertisement message could result in a man-in-the-middle attack. |
Disable Accepting IPv6 Redirects
Rule ID | sysctl_net_ipv6_conf_default_accept_redirects |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description |
To set the runtime status of the $ sudo sysctl -w net.ipv6.conf.default.accept_redirects=0If this is not the system's default value, add the following line to /etc/sysctl.conf :
net.ipv6.conf.default.accept_redirects = 0 |
Rationale | An illicit ICMP redirect message could result in a man-in-the-middle attack. |
Manually Assign Global IPv6 Address
Rule ID | network_ipv6_static_address |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53r4.pdf |
Description | To manually assign an IP address for an interface, edit the
file IPV6ADDR=2001:0DB8::ABCD/64Manually assigning an IP address is preferable to accepting one from routers or from the network otherwise. The example address here is an IPv6 address reserved for documentation purposes, as defined by RFC3849. |
Use Privacy Extensions for Address
Rule ID | network_ipv6_privacy_extensions |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53r4.pdf |
Description | To introduce randomness into the automatic generation of IPv6
addresses, add or correct the following line in
IPV6_PRIVACY=rfc3041Automatically-generated IPv6 addresses are based on the underlying hardware (e.g. Ethernet) address, and so it becomes possible to track a piece of hardware over its lifetime using its traffic. If it is important for a system's IP address to not trivially reveal its hardware address, this setting should be applied. |
Manually Assign IPv6 Router Address
Rule ID | network_ipv6_default_gateway |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | low |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53r4.pdf |
Description | Edit the file
IPV6_DEFAULTGW=2001:0DB8::0001Router addresses should be manually set and not accepted via any auto-configuration or router advertisement. |
Verify firewalld Enabled
Rule ID | service_firewalld_enabled |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description |
The $ sudo systemctl enable firewalld |
Rationale |
The dynamic firewall daemon |
Verify ip6tables Enabled if Using IPv6
Rule ID | service_ip6tables_enabled |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-4, CA-3(c), CM-7, 32, 66, 1115, 1118, 1092, 1117, 1098, 1100, 1097, 1414, Test attestation on 20121024 by DS |
Description |
The $ sudo systemctl enable ip6tables |
Rationale | The |
Set Default ip6tables Policy for Incoming Packets
Rule ID | set_ip6tables_default_rule |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | To set the default policy to DROP (instead of ACCEPT) for
the built-in INPUT chain which processes incoming packets,
add or correct the following line in
:INPUT DROP [0:0]If changes were required, reload the ip6tables rules: $ sudo service ip6tables reload |
Rationale | In |
Verify iptables Enabled
Rule ID | service_iptables_enabled |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD references: AC-4, CA-3(c), CM-7, 32, 66, 1115, 1118, 1092, 1117, 1098, 1100, 1097, 1414, Test attestation on 20140921 by JL |
Description |
The $ sudo systemctl enable iptables |
Rationale |
The |
Set Default iptables Policy for Incoming Packets
Rule ID | set_iptables_default_rule |
Result | notselected |
Time | 2015-07-17T10:50:20 |
Severity | medium |
Identifiers and References | identifiers: CCE-RHEL7-CCE-TBD |
Description | To set the default policy to DROP (instead of ACCEPT) for
the built-in INPUT chain which processes incoming packets,
add or correct the following line in
:INPUT DROP [0:0] |
Rationale | In |