Guide to the Secure Configuration of Red Hat Enterprise Linux 7
with profile WebCS changes to the pre-release Draft STIG for CentOS Linux 7 ServerThis profile developed by Astronics Ballard Technology for the WebCS
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 Red Hat Enterprise Linux 7 is one example of a baseline created from this guidance.
This benchmark is a direct port of a SCAP Security Guide benchmark developed for Red Hat Enterprise Linux. It has been modified through an automated process to remove specific dependencies on Red Hat Enterprise Linux and to function with CentOS. The result is a generally useful SCAP Security Guide benchmark with the following caveats:
- CentOS is not an exact copy of Red Hat Enterprise Linux. There may be configuration differences that produce false positives and/or false negatives. If this occurs please file a bug report.
- CentOS has its own build system, compiler options, patchsets, and is a community supported, non-commercial operating system. CentOS does not inherit certifications or evaluations from Red Hat Enterprise Linux. As such, some configuration rules (such as those requiring FIPS 140-2 encryption) will continue to fail on CentOS.
Members of the CentOS community are invited to participate in OpenSCAP and SCAP Security Guide development. Bug reports and patches can be sent to GitHub: https://github.com/OpenSCAP/scap-security-guide. The mailing list is at https://fedorahosted.org/mailman/listinfo/scap-security-guide.
Evaluation Characteristics
Target machine | devgobah |
---|---|
Benchmark URL | /usr/share/xml/scap/ssg/content/ssg-webcs-ds.xml |
Benchmark ID | xccdf_org.ssgproject.content_benchmark_RHEL-7 |
Profile ID | xccdf_org.ssgproject.content_profile_stig-webcs |
Started at | 2016-07-11T14:18:32 |
Finished at | 2016-07-11T14:24:58 |
Performed by | admin |
CPE Platforms
- cpe:/o:centos:centos:7
- cpe:/o:redhat:enterprise_linux:7
- cpe:/o:redhat:enterprise_linux:7::client
- cpe:/o:redhat:enterprise_linux:7::computenode
Addresses
- IPv4 127.0.0.1
- IPv4 172.30.25.53
- IPv4 10.0.0.1
- IPv6 0:0:0:0:0:0:0:1
- IPv6 fe80:0:0:0:213:95ff:fe1e:ba56
- IPv6 fe80:0:0:0:8625:3fff:fe19:b72f
- MAC 00:00:00:00:00:00
- MAC 00:13:95:1E:BA:56
- MAC 84:25:3F:19:B7:2F
Compliance and Scoring
Rule results
Severity of failed rules
Score
Scoring system | Score | Maximum | Percent |
---|---|---|---|
urn:xccdf:scoring:default | 86.217949 | 100.000000 |
Rule Overview
Result Details
Ensure /tmp Located On Separate Partition
Rule ID | xccdf_org.ssgproject.content_rule_partition_for_tmp |
Result | pass |
Time | 2016-07-11T14:18:34 |
Severity | low |
Identifiers and References | identifiers: references: SC-32(1), 366, SRG-OS-000480-GPOS-00227, 1.1.1, RHEL-07-021270, Test attestation on 20120928 by MM |
Description |
The |
Rationale |
The |
Ensure /var Located On Separate Partition
Rule ID | xccdf_org.ssgproject.content_rule_partition_for_var |
Result | pass |
Time | 2016-07-11T14:18:34 |
Severity | low |
Identifiers and References | identifiers: references: SC-32(1), 1.1.5, 366, SRG-OS-000480-GPOS-00227, RHEL-07-021250, Test attestation on 20120928 by MM |
Description | The |
Rationale |
Ensuring that |
Ensure /var/log Located On Separate Partition
Rule ID | xccdf_org.ssgproject.content_rule_partition_for_var_log |
Result | pass |
Time | 2016-07-11T14:18:34 |
Severity | low |
Identifiers and References | identifiers: references: AU-9, SC-32, http://iase.disa.mil/stigs/cci/Pages/index.aspx, 1.1.7, 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 | xccdf_org.ssgproject.content_rule_partition_for_var_log_audit |
Result | pass |
Time | 2016-07-11T14:18:34 |
Severity | low |
Identifiers and References | identifiers: references: AU-4, AU-9, SC-32(1), 366, 1.1.8, SRG-OS-000480-GPOS-00227, RHEL-07-021260, Test attestation on 20120928 by MM |
Description |
Audit logs are stored in the |
Rationale |
Placing |
Ensure /home Located On Separate Partition
Rule ID | xccdf_org.ssgproject.content_rule_partition_for_home |
Result | pass |
Time | 2016-07-11T14:18:34 |
Severity | low |
Identifiers and References | identifiers: references: SC-32(1), 366, 1208, 1.1.9, SRG-OS-000480-GPOS-00227, RHEL-07-021240, 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 | xccdf_org.ssgproject.content_rule_encrypt_partitions |
Result | notchecked |
Time | 2016-07-11T14:18:34 |
Severity | medium |
Identifiers and References | identifiers: references: SC-13, SC-28(1), 1199, 2476, SRG-OS-000405-GPOS-00184, SRG-OS-000185-GPOS-00079, RHEL-07-020170 |
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 | xccdf_org.ssgproject.content_rule_ensure_redhat_gpgkey_installed |
Result | pass |
Time | 2016-07-11T14:18:35 |
Severity | high |
Identifiers and References | identifiers: references: CM-5(3), SI-7, MA-1(b), 1749, 366, Req-6.2, 1.2.2, 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 | xccdf_org.ssgproject.content_rule_ensure_gpgcheck_globally_activated |
Result | pass |
Time | 2016-07-11T14:18:35 |
Severity | high |
Identifiers and References | identifiers: references: CM-5(3), SI-7, MA-1(b), 1749, SRG-OS-000366-GPOS-00153, RHEL-07-020150, Req-6.2, 1.2.3, Test attestation on 20150407 by sdw |
Description | The gpgcheck=1 |
Rationale |
Changes to any 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.
|
Ensure gpgcheck Enabled For All Yum Package Repositories
Rule ID | xccdf_org.ssgproject.content_rule_ensure_gpgcheck_never_disabled |
Result | pass |
Time | 2016-07-11T14:18:35 |
Severity | high |
Identifiers and References | identifiers: references: CM-5(3), SI-7, MA-1(b), 1749, 366, Req-6.2, 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 | xccdf_org.ssgproject.content_rule_security_patches_up_to_date |
Result | notchecked |
Time | 2016-07-11T14:18:35 |
Severity | high |
Identifiers and References | identifiers: references: SI-2, MA-1(b), http://iase.disa.mil/stigs/cci/Pages/index.aspx, Req-6.2, 1.7, 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. |
Ensure YUM Removes Previous Package Versions
Rule ID | xccdf_org.ssgproject.content_rule_clean_components_post_updating |
Result | pass |
Time | 2016-07-11T14:18:35 |
Severity | low |
Identifiers and References | identifiers: references: SI-2(6), 2617, SRG-OS-000437-GPOS-00194, RHEL-07-020200 |
Description |
|
Rationale | Previous versions of software components that are not removed from the information system after updates have been installed may be exploited by some adversaries. |
Ensure gpgcheck Enabled for Local Packages
Rule ID | xccdf_org.ssgproject.content_rule_ensure_gpgcheck_local_packages |
Result | pass |
Time | 2016-07-11T14:18:35 |
Severity | high |
Identifiers and References | identifiers: references: CM-5(3), 1749, SRG-OS-000366-GPOS-00153, RHEL-07-020151 |
Description |
|
Rationale |
Changes to any software components can have significant effects to the overall security
of the operating system. This requirement ensures the software has not been tampered and
has been provided by a trusted vendor.
|
Install AIDE
Rule ID | xccdf_org.ssgproject.content_rule_package_aide_installed |
Result | pass |
Time | 2016-07-11T14:18:35 |
Severity | medium |
Identifiers and References | identifiers: 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, Req-11.5, 1.3.1, 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. |
Build and Test AIDE Database
Rule ID | xccdf_org.ssgproject.content_rule_aide_build_database |
Result | pass |
Time | 2016-07-11T14:18:35 |
Severity | medium |
Identifiers and References | identifiers: references: CM-3(d), CM-3(e), CM-6(d), CM-6(3), SC-28, SI-7, Req-11.5 |
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 | xccdf_org.ssgproject.content_rule_aide_periodic_cron_checking |
Result | pass |
Time | 2016-07-11T14:18:35 |
Severity | medium |
Identifiers and References | identifiers: references: CM-3(d), CM-3(e), CM-6(d), CM-6(3), SC-28, SI-7, 374, 416, 1069, 1263, 1297, 1589, Req-11.5, 1.3.1 |
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 | xccdf_org.ssgproject.content_rule_rpm_verify_hashes |
Result | pass |
Time | 2016-07-11T14:19:20 |
Severity | high |
Identifiers and References | identifiers: references: CM-6(d), CM-6(3), SI-7, 1496, Req-11.5, 1.2.6, RHEL-07-010020 |
Description | Without cryptographic integrity protections, system executables and files can be altered by unauthorized users without detection. The RPM package management system can check the hashes of installed software packages, including many that are important to system security. To verify that the cryptographic hash of system files and commands match vendor values, 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 | xccdf_org.ssgproject.content_rule_install_hids |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | high |
Identifiers and References | identifiers: |
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. |
Warnings | warning
Note in DoD environments, supplemental intrusion
detection tools, such as the McAfee Host-based Security System, are available
to integrate with existing infrastructure. When these supplemental tools
interfere with proper functioning of SELinux, SELinux takes precedence. |
Install Virus Scanning Software
Rule ID | xccdf_org.ssgproject.content_rule_install_antivirus |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | low |
Identifiers and References | identifiers: |
Description | Install virus scanning software, which uses signatures to search for the presence of viruses on the filesystem. 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. |
Install McAfee Host-Based Intrusion Detection Software (HBSS)
Rule ID | xccdf_org.ssgproject.content_rule_install_mcafee_hbss |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | medium |
Identifiers and References | identifiers: references: SC-7, SI-4(1).1, 366, 1263, Req-11.4, STG-OS-000480-GPOS-00227, 030790 |
Description | Install the McAfee Host-based Security System (HBSS) application. |
Rationale | Without a host-based intrusion detection tool, there is no system-level defense when an intruder gains access to a system or network. Additionally, a host-based intrusion prevention tool can provide methods to immediately lock out detected intrusion attempts. |
Install McAfee Virus Scanning Software
Rule ID | xccdf_org.ssgproject.content_rule_install_mcafee_antivirus |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | high |
Identifiers and References | identifiers: references: SC-28, SI-3, SI-3(1)(ii), 366, 1239, 1668, SRG-OS-000480-GPOS-00227, RHEL-07-030810 |
Description | Install McAfee VirusScan Enterprise for Linux antivirus software which is provided for DoD systems and uses signatures to search for the presence of viruses on the filesystem. |
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. |
Enable nails Service
Rule ID | xccdf_org.ssgproject.content_rule_service_nails_enabled |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | medium |
Identifiers and References | identifiers: references: SC-28, SI-3, SI-3(1)(ii), 366, 1239, 1668, SRG-OS-000480-GPOS-00227, RHEL-07-TBD |
Description | The $ sudo systemctl enable nails.service |
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. |
Virus Scanning Software Definitions Are Updated
Rule ID | xccdf_org.ssgproject.content_rule_mcafee_antivirus_definitions_updated |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | medium |
Identifiers and References | identifiers: references: SC-28, SI-3, SI-3(1)(ii), 366, 1239, 1668, SRG-OS-000480-GPOS-00227, RHEL-07-030820 |
Description | Ensure virus definition files are no older than 7 days or their last release. |
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. |
Install the dracut-fips Package
Rule ID | xccdf_org.ssgproject.content_rule_package_dracut-fips_installed |
Result | fail |
Time | 2016-07-11T14:19:20 |
Severity | medium |
Identifiers and References | identifiers: references: AC-17(2), 68, 2450, RHEL-07-TBD, SRG-OS-000033-GPOS-00014, SRG-OS-000396-GPOS-00176, SRG-OS-000478-GPOS-00223 |
Description |
To enable FIPS, the system requires that the $ sudo yum install dracut-fips |
Rationale | Use of weak or untested encryption algorithms undermines the purposes of utilizing encryption to protect data. The operating system must implement cryptographic modules adhering to the higher standards approved by the federal government since this provides assurance they have been tested and validated. |
Enable FIPS Mode in GRUB2
Rule ID | xccdf_org.ssgproject.content_rule_grub2_enable_fips_mode |
Result | error |
Time | 2016-07-11T14:24:55 |
Severity | medium |
Identifiers and References | identifiers: references: AC-17(2), 68, 2450, RHEL-07-021280, SRG-OS-000033-GPOS-00014, SRG-OS-000396-GPOS-00176, SRG-OS-000478-GPOS-00223 |
Description |
To ensure FIPS mode is enabled, rebuild dracut -fAfter the dracut command has been run, add the argument fips=1 to the default
GRUB 2 command line for the Linux operating system in
/etc/default/grub , in the manner below:
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=VolGroup/LogVol06 rd.lvm.lv=VolGroup/lv_swap rhgb quiet rd.shell=0 fips=1"Finally, rebuild the grub.cfg file by using the
grub2-mkconfig -ocommand as follows:
|
Rationale | Use of weak or untested encryption algorithms undermines the purposes of utilizing encryption to protect data. The operating system must implement cryptographic modules adhering to the higher standards approved by the federal government since this provides assurance they have been tested and validated. |
Warnings | warning
Running dracut -fwill overwrite the existing initramfs file. warning
The system needs to be rebooted for these changes to take effect. warning
The ability to enable FIPS does not denote FIPS compliancy or certification.
Red Hat, Inc. and Red Hat Enterprise Linux are respectively FIPS certified and compliant. Community
projects such as CentOS, Scientific Linux, etc. do not necessarily meet FIPS certification and compliancy.
Therefore, non-certified vendors and/or projects do not meet this requirement even if technically feasible.
See http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/1401vend.htm for a list of FIPS certified vendors. |
Remediation script:
|
The Installed Operating System Is Vendor Supported and Certified
Rule ID | xccdf_org.ssgproject.content_rule_installed_OS_is_certified |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | high |
Identifiers and References | identifiers: references: SI-2(c), 366, RHEL-07-020240, SRG-OS-000480-GPOS-00227 |
Description | The installed operating system must be maintained and certified by a vendor. Red Hat Enterprise Linux is supported by Red Hat, Inc. As the Red Hat Enterprise Linux vendor, Red Hat, Inc. is responsible for providing security patches as well as meeting and maintaining goverment certifications and standards. |
Rationale | An operating system is considered "supported" if the vendor continues to provide security patches for the product as well as maintain government certification requirements. With an unsupported release, it will not be possible to resolve security issue discovered in the system software as well as meet government certifications. |
Disable Prelinking
Rule ID | xccdf_org.ssgproject.content_rule_disable_prelink |
Result | error |
Time | 2016-07-11T14:22:47 |
Severity | low |
Identifiers and References | identifiers: |
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 | Because the prelinking feature changes binaries, it can interfere with the operation of certain software and/or modes such as AIDE, FIPS, etc. |
Remediation script:
|
Disable GDM Automatic Login
Rule ID | xccdf_org.ssgproject.content_rule_gnome_gdm_disable_automatic_login |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | high |
Identifiers and References | identifiers: references: CM-6(b), 366, SRG-OS-000480-GPOS-00229, RHEL-07-010430 |
Description | The GNOME Display Manager (GDM) can allow users to automatically login without
user interaction or credentials. User should always be required to authenticate themselves
to the system that they are authorized to use. To disable user ability to automatically
login to the system, set the [daemon] AutomaticLoginEnable=false |
Rationale | Failure to restrict system access to authenticated users negatively impacts operating system security. |
Disable GDM Guest Login
Rule ID | xccdf_org.ssgproject.content_rule_gnome_gdm_disable_guest_login |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | high |
Identifiers and References | identifiers: references: CM-6(b), 366, SRG-OS-000480-GPOS-00229, RHEL-07-010431 |
Description | The GNOME Display Manager (GDM) can allow users to login without credentials
which can be useful for public kiosk scenarios. Allowing users to login without credentials
or "guest" account access has inherent security risks and should be disabled. To do disable
timed logins or guest account access, set the [daemon] TimedLoginEnable=false |
Rationale | Failure to restrict system access to authenticated users negatively impacts operating system security. |
Disable the GNOME3 Login User List
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_disable_user_list |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | medium |
Identifiers and References | identifiers: 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 by setting
[org/gnome/login-screen] disable-user-list=trueOnce the setting has been added, add a lock to /etc/dconf/db/gdm.d/locks/00-security-settings-lock to prevent user modification.
For example:
/org/gnome/login-screen/disable-user-listAfter the settings have been set, run dconf update .
|
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 the GNOME3 Login Restart and Shutdown Buttons
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_disable_restart_shutdown |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | high |
Identifiers and References | identifiers: references: AC-6, 366, SRG-OS-000480-GPOS-00227, RHEL-07-TBD |
Description | In the default graphical environment, users logging
directly into the system are greeted with a login screen that allows
any user, known or unknown, the ability the ability to shutdown or restart
the system. This functionality should be disabled by setting
[org/gnome/login-screen] disable-restart-buttons=trueOnce the setting has been added, add a lock to /etc/dconf/db/gdm.d/locks/00-security-settings-lock to prevent user modification.
For example:
/org/gnome/login-screen/disable-restart-buttonsAfter the settings have been set, run dconf update .
|
Rationale | A user who is at the console can reboot the system at the login screen. If restart or shutdown buttons are pressed at the login screen, this can create the risk of short-term loss of availability of systems due to reboot. |
Enable the GNOME3 Login Smartcard Authentication
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_enable_smartcard_auth |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | medium |
Identifiers and References | identifiers: |
Description | In the default graphical environment, smart card authentication
can be enabled on the login screen by setting [org/gnome/login-screen] enable-smartcard-authentication=trueOnce the setting has been added, add a lock to /etc/dconf/db/gdm.d/locks/00-security-settings-lock to prevent user modification.
For example:
/org/gnome/login-screen/enable-smartcard-authenticationAfter the settings have been set, run dconf update .
|
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. |
Set the GNOME3 Login Number of Failures
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_login_retries |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | medium |
Identifiers and References | identifiers: |
Description | In the default graphical environment, the GNOME3 login
screen and be configured to restart the authentication process after
a configured number of attempts. This can be configured by setting
[org/gnome/login-screen] allowed-failures=3Once the setting has been added, add a lock to /etc/dconf/db/gdm.d/locks/00-security-settings-lock to prevent user modification.
For example:
/org/gnome/login-screen/allowed-failuresAfter the settings have been set, run dconf update .
|
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. |
Set GNOME3 Screensaver Inactivity Timeout
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_screensaver_idle_delay |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | medium |
Identifiers and References | identifiers: references: AC-11(a), 57, Req-8.1.8, SRG-OS-000029-GPOS-00010, RHEL-07-010070 |
Description |
The idle time-out value for inactivity in the GNOME3 desktop is configured via the [org/gnome/desktop/session] idle-delay=900Once the setting has been added, add a lock to /etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification.
For example:
/org/gnome/desktop/session/idle-delayAfter the settings have been set, run dconf update .
|
Rationale | A session time-out lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not logout because of the temporary nature of the absence. Rather than relying on the user to manually lock their operating system session prior to vacating the vicinity, GNOME3 can be configured to identify when a user's session has idled and take action to initiate a session lock. |
Enable GNOME3 Screensaver Idle Activation
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_screensaver_idle_activation_enabled |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | medium |
Identifiers and References | identifiers: references: AC-11(a), 57, SRG-OS-000029-GPOS-00010, RHEL-07-010073, Req-8.1.8 |
Description |
To activate the screensaver in the GNOME3 desktop after a period of inactivity,
add or set [org/gnome/desktop/screensaver] idle_activation_enabled=trueOnce the setting has been added, add a lock to /etc/dconf/db/gdm.d/locks/00-security-settings-lock to prevent user modification.
For example:
/org/gnome/desktop/screensaver/idle-activation-enabledAfter the settings have been set, run dconf update .
|
Rationale | A session time-out lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not logout because of the temporary nature of the absence. Rather than relying on the user to manually lock their operating system session prior to vacating the vicinity, GNOME desktops can be configured to identify when a user's session has idled and take action to initiate the session lock. 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 | xccdf_org.ssgproject.content_rule_dconf_gnome_screensaver_lock_enabled |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | medium |
Identifiers and References | identifiers: references: AC-11(b), 56, Req-8.1.8, SRG-OS-000028-GPOS-00009, OS-SRG-000030-GPOS-00011, RHEL-07-010060 |
Description |
To activate locking of the screensaver in the GNOME3 desktop when it is activated,
add or set [org/gnome/desktop/screensaver] lock-enabled=true lock-delay=0Once the settings have been added, add a lock to /etc/dconf/db/gdm.d/locks/00-security-settings-lock to prevent user modification.
For example:
/org/gnome/desktop/screensaver/lock-enabled /org/gnome/desktop/screensaver/lock-delayAfter the settings have been set, run dconf update .
|
Rationale | A session lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not want to logout because of the temporary nature of the absense. |
Implement Blank Screensaver
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_screensaver_mode_blank |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | low |
Identifiers and References | identifiers: |
Description |
To set the screensaver mode in the GNOME3 desktop to a blank screen,
add or set [org/gnome/desktop/screensaver] picture-uri=''Once the settings have been added, add a lock to /etc/dconf/db/gdm.d/locks/00-security-settings-lock to prevent user modification.
For example:
/org/gnome/desktop/screensaver/picture-uriAfter the settings have been set, run dconf update .
|
Rationale | Setting the screensaver mode to blank-only conceals the contents of the display from passersby. |
Disable Full User Name on Splash Shield
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_screensaver_user_info |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | low |
Identifiers and References | identifiers: |
Description |
By default when the screen is locked, the splash shield will show the user's
full name. This should be disabled to prevent casual observers from seeing
who has access to the system. This can be disabled by adding or setting
[org/gnome/desktop/screensaver] show-full-name-in-top-bar=falseOnce the settings have been added, add a lock to /etc/dconf/db/gdm.d/locks/00-security-settings-lock to prevent user modification.
For example:
/org/gnome/desktop/screensaver/show-full-name-in-top-barAfter the settings have been set, run dconf update .
|
Rationale | Setting the splash screen to not reveal the logged in user's name conceals who has access to the system from passersby. |
Disable Ctrl-Alt-Del Reboot Key Sequence in GNOME3
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_disable_ctrlaltdel_reboot |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | high |
Identifiers and References | identifiers: references: AC-6, 366, SRG-OS-000480-GPOS-00227, RHEL-07-TBD |
Description |
By default, [org/gnome/settings-daemon/plugins/media-keys] logout=''Once the settings have been added, add a lock to /etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification.
For example:
/org/gnome/settings-daemon/plugins/media-keys/logoutAfter the settings have been set, run dconf update .
|
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. |
Disable User Administration in GNOME3
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_disable_user_admin |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | high |
Identifiers and References | identifiers: |
Description |
By default, [org/gnome/desktop/lockdown] user-administration-disabled=trueOnce the settings have been added, add a lock to /etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification.
For example:
/org/gnome/desktop/lockdown/user-administration-disabledAfter the settings have been set, run dconf update .
|
Rationale | Allowing all users to have some administratrive capabilities to the system through the Graphical User Interface (GUI) when they would not have them otherwise could allow unintended configuration changes as well as a nefarious user the capability to make system changes such as adding new accounts, etc. |
Disable Power Settings in GNOME3
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_disable_power_settings |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | medium |
Identifiers and References | identifiers: |
Description |
By default, [org/gnome/settings-daemon/plugins/power] active=falseOnce the settings have been added, add a lock to /etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification.
For example:
/org/gnome/settings-daemon/plugins/powerAfter the settings have been set, run dconf update .
|
Rationale | Power settings should not be enabled on systems that are not mobile devices. Enabling power settings on non-mobile devices could have unintended processing consequences on standard systems. |
Disable Geolocation in GNOME3
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_disable_geolocation |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | medium |
Identifiers and References | identifiers: |
Description |
[org/gnome/system/location] enabled=falseTo configure the clock to disable location tracking, add or set geolocation to false in
/etc/dconf/db/local.d/00-security-settings . For example:
[org/gnome/clocks] geolocation=falseOnce the settings have been added, add a lock to /etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification.
For example:
/org/gnome/system/location/enabled /org/gnome/clocks/geolocationAfter the settings have been set, run dconf update .
|
Rationale | Power settings should not be enabled on systems that are not mobile devices. Enabling power settings on non-mobile devices could have unintended processing consequences on standard systems. |
Disable WIFI Network Connection Creation in GNOME3
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_disable_wifi_create |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | medium |
Identifiers and References | identifiers: |
Description |
[org/gnome/nm-applet] disable-wifi-create=trueOnce the settings have been added, add a lock to /etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification.
For example:
/org/gnome/nm-applet/disable-wifi-createAfter the settings have been set, run dconf update .
|
Rationale | Wireless network connections should not be allowed to be configured by general users on a given system as it could open the system to backdoor attacks. |
Disable WIFI Network Notification in GNOME3
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_disable_wifi_notification |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | medium |
Identifiers and References | identifiers: |
Description |
By default, [org/gnome/nm-applet] suppress-wireless-networks-available=trueOnce the settings have been added, add a lock to /etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification.
For example:
/org/gnome/nm-applet/suppress-wireless-networks-availableAfter the settings have been set, run dconf update .
|
Rationale | Wireless network connections should not be allowed to be configured by general users on a given system as it could open the system to backdoor attacks. |
Require Credential Prompting for Remote Access in GNOME3
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_remote_access_credential_prompt |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | medium |
Identifiers and References | identifiers: |
Description |
By default, [org/gnome/Vino] authentication-methods=['vnc']Once the settings have been added, add a lock to /etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification.
For example:
/org/gnome/Vino/authentication-methodsAfter the settings have been set, run dconf update .
|
Rationale | Username and password prompting is required for remote access. Otherwise, non-authorized and nefarious users can access the system freely. |
Require Encryption for Remote Access in GNOME3
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_remote_access_encryption |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | medium |
Identifiers and References | identifiers: references: CM-2(1)(b), 366, SRG-OS-000480-GPOS-00227, RHEL-07-TBD |
Description |
By default, [org/gnome/Vino] require-encryption=trueOnce the settings have been added, add a lock to /etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification.
For example:
/org/gnome/Vino/require-encryptionAfter the settings have been set, run dconf update .
|
Rationale | Open X displays allow an attacker to capture keystrokes and to execute commands remotely. |
Disable GNOME3 Automounting
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_disable_automount |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | low |
Identifiers and References | identifiers: |
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, add or set
[org/gnome/desktop/media-handling] automount=false automount-open=false autorun-never=trueOnce the settings have been added, add a lock to /etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification.
For example:
/org/gnome/desktop/media-handling/automount /org/gnome/desktop/media-handling/auto-open /org/gnome/desktop/media-handling/autorun-neverAfter the settings have been set, run dconf update .
|
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 All GNOME3 Thumbnailers
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_disable_thumbnailers |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | low |
Identifiers and References | identifiers: 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, add or set [org/gnome/desktop/thumbnailers] disable-all=trueOnce the settings have been added, add a lock to /etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification.
For example:
/org/gnome/desktop/thumbnailers/disable-allAfter the settings have been set, run dconf update .
This effectively prevents an attacker from gaining access to a
system through a flaw in GNOME3's Nautilus thumbnail creators.
|
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. |
Configure GNOME3 DConf User Profile
Rule ID | xccdf_org.ssgproject.content_rule_enable_dconf_user_profile |
Result | notselected |
Time | 2016-07-11T14:19:20 |
Severity | high |
Identifiers and References | identifiers: |
Description |
By default, DConf provides a standard user profile. This profile contains a list
of DConf configuration databases. The user profile and database always take the
highest priority. As such the DConf User profile should always exist and be
configured correctly.
user-db:user system-db:local system-db:site system-db:distro |
Rationale | Failure to have a functional DConf profile prevents GNOME3 configuration settings from being enforced for all users and allows various security risks. |
Ensure NOPASSWD Is Not Used in Sudo
Rule ID | xccdf_org.ssgproject.content_rule_sudo_remove_nopasswd |
Result | pass |
Time | 2016-07-11T14:19:20 |
Severity | medium |
Identifiers and References | identifiers: references: IA-11, 2038, RHEL-07-01038, SRG-OS-000373-GPOS-00156, SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPOS-00158 |
Description |
The sudo |
Rationale |
Without re-authentication, users may access resources or perform tasks for which they
do not have authorization.
|
Ensure !authenticate Is Not Used in Sudo
Rule ID | xccdf_org.ssgproject.content_rule_sudo_remove_no_authenticate |
Result | pass |
Time | 2016-07-11T14:19:20 |
Severity | medium |
Identifiers and References | identifiers: references: IA-11, 2038, RHEL-07-, SRG-OS-000373-GPOS-00156, SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPOS-00158 |
Description |
The sudo |
Rationale |
Without re-authentication, users may access resources or perform tasks for which they
do not have authorization.
|
Add nodev Option to Non-Root Local Partitions
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_nodev_nonroot_local_partitions |
Result | fail |
Time | 2016-07-11T14:19:21 |
Severity | low |
Identifiers and References | identifiers: |
Description | The |
Rationale | The |
Add nodev Option to Removable Media Partitions
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_nodev_removable_partitions |
Result | pass |
Time | 2016-07-11T14:19:21 |
Severity | low |
Identifiers and References | identifiers: |
Description | The |
Rationale | The only legitimate location for device files is the |
Add noexec Option to Removable Media Partitions
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_noexec_removable_partitions |
Result | pass |
Time | 2016-07-11T14:19:21 |
Severity | low |
Identifiers and References | identifiers: references: AC-19(a), AC-19(d), AC-19(e), CM-7, MP-2, 87, 1.1.12 |
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 | xccdf_org.ssgproject.content_rule_mount_option_nosuid_removable_partitions |
Result | pass |
Time | 2016-07-11T14:19:21 |
Severity | low |
Identifiers and References | identifiers: references: AC-19(a), AC-19(d), AC-19(e), CM-7, MP-2, 1.1.13 |
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 | xccdf_org.ssgproject.content_rule_mount_option_tmp_nodev |
Result | pass |
Time | 2016-07-11T14:19:21 |
Severity | low |
Identifiers and References | identifiers: |
Description |
The |
Rationale | The only legitimate location for device files is the |
Add noexec Option to /tmp
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_tmp_noexec |
Result | pass |
Time | 2016-07-11T14:19:21 |
Severity | low |
Identifiers and References | identifiers: |
Description | The |
Rationale | Allowing users to execute binaries from world-writable directories
such as |
Add nosuid Option to /tmp
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_tmp_nosuid |
Result | pass |
Time | 2016-07-11T14:19:21 |
Severity | low |
Identifiers and References | identifiers: |
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 | xccdf_org.ssgproject.content_rule_mount_option_dev_shm_nodev |
Result | notselected |
Time | 2016-07-11T14:19:21 |
Severity | low |
Identifiers and References | identifiers: |
Description | The |
Rationale | The only legitimate location for device files is the |
Add noexec Option to /dev/shm
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_dev_shm_noexec |
Result | notselected |
Time | 2016-07-11T14:19:21 |
Severity | low |
Identifiers and References | identifiers: |
Description | The |
Rationale | Allowing users to execute binaries from world-writable directories
such as |
Add nosuid Option to /dev/shm
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_dev_shm_nosuid |
Result | notselected |
Time | 2016-07-11T14:19:21 |
Severity | low |
Identifiers and References | identifiers: |
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 | xccdf_org.ssgproject.content_rule_mount_option_var_tmp_bind |
Result | error |
Time | 2016-07-11T14:24:56 |
Severity | low |
Identifiers and References | identifiers: |
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 |
Remediation script:
|
Disable Modprobe Loading of USB Storage Driver
Rule ID | xccdf_org.ssgproject.content_rule_kernel_module_usb-storage_disabled |
Result | notselected |
Time | 2016-07-11T14:19:21 |
Severity | medium |
Identifiers and References | identifiers: references: AC-19(a), AC-19(d), AC-19(e), IA-3, 366, 778, 1958, SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-0016, SRG-OS-000480-GPOS-00227, RHEL-07-020160 |
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 | xccdf_org.ssgproject.content_rule_bootloader_nousb_argument |
Result | notselected |
Time | 2016-07-11T14:19:21 |
Severity | low |
Identifiers and References | identifiers: |
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 | xccdf_org.ssgproject.content_rule_bios_disable_usb_boot |
Result | notselected |
Time | 2016-07-11T14:19:21 |
Severity | low |
Identifiers and References | identifiers: |
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 | xccdf_org.ssgproject.content_rule_bios_assign_password |
Result | notselected |
Time | 2016-07-11T14:19:21 |
Severity | low |
Identifiers and References | identifiers: |
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 | xccdf_org.ssgproject.content_rule_service_autofs_disabled |
Result | notselected |
Time | 2016-07-11T14:19:21 |
Severity | medium |
Identifiers and References | identifiers: references: AC-19(a), AC-19(d), AC-19(e), IA-3, 366, 778, 1958, SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163, SRG-OS-000480-GPOS-00227, RHEL-07-020160 |
Description | The $ sudo systemctl disable autofs.service |
Rationale | Disabling the automounter permits the administrator to
statically control filesystem mounting through |
Disable Mounting of cramfs
Rule ID | xccdf_org.ssgproject.content_rule_kernel_module_cramfs_disabled |
Result | pass |
Time | 2016-07-11T14:19:21 |
Severity | low |
Identifiers and References | identifiers: |
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 | xccdf_org.ssgproject.content_rule_kernel_module_freevxfs_disabled |
Result | pass |
Time | 2016-07-11T14:19:21 |
Severity | low |
Identifiers and References | identifiers: |
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 | xccdf_org.ssgproject.content_rule_kernel_module_jffs2_disabled |
Result | pass |
Time | 2016-07-11T14:19:21 |
Severity | low |
Identifiers and References | identifiers: |
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 | xccdf_org.ssgproject.content_rule_kernel_module_hfs_disabled |
Result | pass |
Time | 2016-07-11T14:19:21 |
Severity | low |
Identifiers and References | identifiers: |
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 | xccdf_org.ssgproject.content_rule_kernel_module_hfsplus_disabled |
Result | pass |
Time | 2016-07-11T14:19:21 |
Severity | low |
Identifiers and References | identifiers: |
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 | xccdf_org.ssgproject.content_rule_kernel_module_squashfs_disabled |
Result | pass |
Time | 2016-07-11T14:19:21 |
Severity | low |
Identifiers and References | identifiers: |
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 | xccdf_org.ssgproject.content_rule_kernel_module_udf_disabled |
Result | pass |
Time | 2016-07-11T14:19:21 |
Severity | low |
Identifiers and References | identifiers: |
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. |
Verify User Who Owns shadow File
Rule ID | xccdf_org.ssgproject.content_rule_userowner_shadow_file |
Result | pass |
Time | 2016-07-11T14:19:21 |
Severity | medium |
Identifiers and References | identifiers: references: AC-6, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Req-8.7.c, 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 | xccdf_org.ssgproject.content_rule_groupowner_shadow_file |
Result | pass |
Time | 2016-07-11T14:19:21 |
Severity | medium |
Identifiers and References | identifiers: references: AC-6, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Req-8.7.c, Test attestation on 20121026 by DS |
Description |
To properly set the group owner of $ sudo chgrp root /etc/shadow |
Rationale | The |
Verify User Who Owns group File
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_etc_group |
Result | pass |
Time | 2016-07-11T14:19:21 |
Severity | medium |
Identifiers and References | identifiers: references: AC-6, Req-8.7.c, 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 | xccdf_org.ssgproject.content_rule_file_groupowner_etc_group |
Result | pass |
Time | 2016-07-11T14:19:21 |
Severity | medium |
Identifiers and References | identifiers: references: AC-6, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Req-8.7.c, Test attestation on 20121026 by DS |
Description |
To properly set the group owner of $ sudo chgrp root /etc/group |
Rationale | The |
Verify User Who Owns gshadow File
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_etc_gshadow |
Result | pass |
Time | 2016-07-11T14:19:21 |
Severity | medium |
Identifiers and References | identifiers: 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 | xccdf_org.ssgproject.content_rule_file_groupowner_etc_gshadow |
Result | pass |
Time | 2016-07-11T14:19:21 |
Severity | medium |
Identifiers and References | identifiers: 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 /etc/gshadow |
Rationale | The |
Verify User Who Owns passwd File
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_etc_passwd |
Result | pass |
Time | 2016-07-11T14:19:21 |
Severity | medium |
Identifiers and References | identifiers: references: AC-6, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Req-8.7.c, 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 | xccdf_org.ssgproject.content_rule_file_groupowner_etc_passwd |
Result | pass |
Time | 2016-07-11T14:19:21 |
Severity | medium |
Identifiers and References | identifiers: references: AC-6, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Req-8.7.c, Test attestation on 20121026 by DS |
Description |
To properly set the group owner of $ sudo chgrp root /etc/passwd |
Rationale | The |
Verify that Shared Library Files Have Root Ownership
Rule ID | xccdf_org.ssgproject.content_rule_file_ownership_library_dirs |
Result | pass |
Time | 2016-07-11T14:19:28 |
Severity | medium |
Identifiers and References | identifiers: 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 | xccdf_org.ssgproject.content_rule_file_ownership_binary_dirs |
Result | pass |
Time | 2016-07-11T14:19:29 |
Severity | medium |
Identifiers and References | identifiers: references: AC-6, http://iase.disa.mil/stigs/cci/Pages/index.aspx |
Description | System executables are stored in the following directories by default: /bin /sbin /usr/bin /usr/libexec /usr/local/bin /usr/local/sbin /usr/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 | xccdf_org.ssgproject.content_rule_dir_perms_world_writable_sticky_bits |
Result | pass |
Time | 2016-07-11T14:19:34 |
Severity | low |
Identifiers and References | identifiers: references: AC-6, 1.1.17, 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 All Files Are Owned by a User
Rule ID | xccdf_org.ssgproject.content_rule_no_files_unowned_by_user |
Result | pass |
Time | 2016-07-11T14:21:28 |
Severity | medium |
Identifiers and References | identifiers: references: AC-6, CM-6(b), 366, SRG-OS-000480-GPOS-00227, RHEL-07-020360 |
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 World-Writable Directories Are Owned by a System Account
Rule ID | xccdf_org.ssgproject.content_rule_dir_perms_world_writable_system_owned |
Result | pass |
Time | 2016-07-11T14:22:04 |
Severity | low |
Identifiers and References | identifiers: 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 | xccdf_org.ssgproject.content_rule_umask_for_daemons |
Result | pass |
Time | 2016-07-11T14:22:04 |
Severity | low |
Identifiers and References | identifiers: references: AC-6, 3.1, Test attestation on 20140912 by JL |
Description | The file umask 022Setting 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 | xccdf_org.ssgproject.content_rule_disable_users_coredumps |
Result | pass |
Time | 2016-07-11T14:22:04 |
Severity | low |
Identifiers and References | identifiers: |
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 | xccdf_org.ssgproject.content_rule_sysctl_fs_suid_dumpable |
Result | pass |
Time | 2016-07-11T14:22:04 |
Severity | low |
Identifiers and References | identifiers: |
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 | xccdf_org.ssgproject.content_rule_sysctl_kernel_exec_shield |
Result | pass |
Time | 2016-07-11T14:22:05 |
Severity | medium |
Identifiers and References | identifiers: references: SC-39, 2530, 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 | xccdf_org.ssgproject.content_rule_sysctl_kernel_randomize_va_space |
Result | error |
Time | 2016-07-11T14:24:56 |
Severity | medium |
Identifiers and References | identifiers: references: SC-30(2), 1.6.1, 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. |
Remediation script:
|
Install PAE Kernel on Supported 32-bit x86 Systems
Rule ID | xccdf_org.ssgproject.content_rule_install_PAE_kernel_on_x86-32 |
Result | pass |
Time | 2016-07-11T14:22:05 |
Severity | low |
Identifiers and References | identifiers: references: CM-6(b) |
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 | xccdf_org.ssgproject.content_rule_bios_enable_execution_restrictions |
Result | notchecked |
Time | 2016-07-11T14:22:05 |
Severity | low |
Identifiers and References | identifiers: references: CM-6(b) |
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 | xccdf_org.ssgproject.content_rule_sysctl_kernel_dmesg_restrict |
Result | pass |
Time | 2016-07-11T14:22:05 |
Severity | low |
Identifiers and References | identifiers: |
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/default/grub
Rule ID | xccdf_org.ssgproject.content_rule_enable_selinux_bootloader |
Result | pass |
Time | 2016-07-11T14:22:05 |
Severity | medium |
Identifiers and References | identifiers: references: AC-3, AC-3(3), AC-6, AU-9, 22, 32, 1.4.1, 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 | xccdf_org.ssgproject.content_rule_selinux_state |
Result | pass |
Time | 2016-07-11T14:22:05 |
Severity | medium |
Identifiers and References | identifiers: references: AC-3, AC-3(3), AC-4, AC-6, AU-9, http://iase.disa.mil/stigs/cci/Pages/index.aspx, 1.4.2, 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 | xccdf_org.ssgproject.content_rule_selinux_policytype |
Result | pass |
Time | 2016-07-11T14:22:05 |
Severity | low |
Identifiers and References | identifiers: references: AC-3, AC-3(3), AC-4, AC-6, AU-9, http://iase.disa.mil/stigs/cci/Pages/index.aspx, 1.4.3, 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 | xccdf_org.ssgproject.content_rule_package_setroubleshoot_removed |
Result | pass |
Time | 2016-07-11T14:22:05 |
Severity | low |
Identifiers and References | identifiers: references: 1.4.4 |
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 | xccdf_org.ssgproject.content_rule_package_mcstrans_removed |
Result | pass |
Time | 2016-07-11T14:22:05 |
Severity | low |
Identifiers and References | identifiers: |
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 | xccdf_org.ssgproject.content_rule_selinux_confinement_of_daemons |
Result | notselected |
Time | 2016-07-11T14:22:05 |
Severity | medium |
Identifiers and References | identifiers: |
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 | xccdf_org.ssgproject.content_rule_selinux_all_devicefiles_labeled |
Result | fail |
Time | 2016-07-11T14:22:05 |
Severity | low |
Identifiers and References | identifiers: 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 | xccdf_org.ssgproject.content_rule_no_direct_root_logins |
Result | pass |
Time | 2016-07-11T14:22:05 |
Severity | medium |
Identifiers and References | identifiers: references: IA-2(1), 6.4, 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 | xccdf_org.ssgproject.content_rule_securetty_root_login_console_only |
Result | pass |
Time | 2016-07-11T14:22:05 |
Severity | medium |
Identifiers and References | identifiers: 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 | xccdf_org.ssgproject.content_rule_restrict_serial_port_logins |
Result | pass |
Time | 2016-07-11T14:22:05 |
Severity | low |
Identifiers and References | identifiers: 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 | xccdf_org.ssgproject.content_rule_no_root_webbrowsing |
Result | notchecked |
Time | 2016-07-11T14:22:05 |
Severity | low |
Identifiers and References | identifiers: |
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 | xccdf_org.ssgproject.content_rule_no_shelllogin_for_systemaccounts |
Result | pass |
Time | 2016-07-11T14:22:05 |
Severity | medium |
Identifiers and References | identifiers: 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 | xccdf_org.ssgproject.content_rule_accounts_no_uid_except_zero |
Result | pass |
Time | 2016-07-11T14:22:05 |
Severity | high |
Identifiers and References | identifiers: references: AC-6, IA-2(1), IA-4, 366, SRG-OS-000480-GPOS-00227, RHEL-07-020310, 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 | xccdf_org.ssgproject.content_rule_root_path_default |
Result | notchecked |
Time | 2016-07-11T14:22:05 |
Severity | low |
Identifiers and References | identifiers: 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 | xccdf_org.ssgproject.content_rule_no_empty_passwords |
Result | pass |
Time | 2016-07-11T14:22:05 |
Severity | high |
Identifiers and References | identifiers: references: AC-6, IA-5(b), IA-5(c), IA-5(1)(a), 366, SRG-OS-000480-GPOS-00227, RHEL-07-010260, Req-8.2.3, 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 | xccdf_org.ssgproject.content_rule_accounts_password_all_shadowed |
Result | pass |
Time | 2016-07-11T14:22:05 |
Severity | medium |
Identifiers and References | identifiers: references: IA-5(h), http://iase.disa.mil/stigs/cci/Pages/index.aspx, Req-8.2.1, 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 | xccdf_org.ssgproject.content_rule_gid_passwd_group_same |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | low |
Identifiers and References | identifiers: references: IA-2, 764, SRG-OS-000104-GPOS-00051, RHEL-07-020300, Req-8.5.a, Test attestation on 20121024 by DS |
Description | Add a group to the system for each GID referenced without a corresponding group. |
Rationale | If a user is assigned the Group Identifier (GID) of a group not existing on the system, and a group with the Gruop Identifier (GID) is subsequently created, the user may have unintended rights to any files associated with the group. |
Verify No netrc Files Exist
Rule ID | xccdf_org.ssgproject.content_rule_no_netrc_files |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: |
Description | The |
Rationale |
Unencrypted passwords for remote FTP servers may be stored in |
Set Password Minimum Length in login.defs
Rule ID | xccdf_org.ssgproject.content_rule_accounts_password_minlen_login_defs |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: 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 | xccdf_org.ssgproject.content_rule_accounts_minimum_age_login_defs |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: references: IA-5(f), IA-5(1)(d), 198, SRG-OS-000075-GPOS-00043, RHEL-07-010200, 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 | Enforcing a minimum password lifetime helps to prevent repeated password changes to defeat the password reuse or history enforcement requirement. If users are allowed to immediately and continually change their password, then the password could be repeatedly changed in a short period of time to defeat the organization's policy regarding password reuse. 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 | xccdf_org.ssgproject.content_rule_accounts_maximum_age_login_defs |
Result | notselected |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: references: IA-5(f), IA-5(g), IA-5(1)(d), 199, SRG-OS-000076-GPOS-00044, Req-8.2.4, 7.1.1, RHEL-07-010220, 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 | Any password, no matter how complex, can eventually be cracked. Therefore, passwords need to be changed periodically. If the operating system does not limit the lifetime of passwords and force users to change their passwords, there is the risk that the operating system passwords could be compromised. Setting the password maximum age ensures users are required to periodically change their passwords. 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 | xccdf_org.ssgproject.content_rule_accounts_password_warn_age_login_defs |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | low |
Identifiers and References | identifiers: 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 | xccdf_org.ssgproject.content_rule_account_disable_post_pw_expiration |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: references: AC-2(2), AC-2(3), IA-4(e), 795, SRG-OS-000118-GPOS-00060, RHEL-07-010280, Req-8.1.4 |
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=UNDEFINED_SUBA 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
Rule ID | xccdf_org.ssgproject.content_rule_account_unique_name |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | low |
Identifiers and References | identifiers: |
Description | Change usernames, or delete accounts, so each has a unique name. |
Rationale | Unique usernames allow for accountability on the system. |
Assign Expiration Date to Temporary Accounts
Rule ID | xccdf_org.ssgproject.content_rule_account_temp_expire_date |
Result | notchecked |
Time | 2016-07-11T14:22:06 |
Severity | low |
Identifiers and References | identifiers: |
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 | xccdf_org.ssgproject.content_rule_accounts_password_pam_retry |
Result | notselected |
Time | 2016-07-11T14:22:06 |
Severity | low |
Identifiers and References | identifiers: references: CM-6(b), IA-5(c), 366, 6.3.2, SRG-OS-000480-GPOS-00225, RHEL-07-010410, 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 | xccdf_org.ssgproject.content_rule_accounts_password_pam_maxrepeat |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: references: IA-5, IA-5(c), 195, SRG-OS-000072-GPOS-00040, RHEL-07-010150 |
Description | The pam_pwquality module's |
Rationale | Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. Passwords with excessive repeating characters may be more vulnerable to password-guessing attacks. |
Set Password to Maximum of Consecutive Repeating Characters from Same Character Class
Rule ID | xccdf_org.ssgproject.content_rule_accounts_password_pam_maxclassrepeat |
Result | error |
Time | 2016-07-11T14:24:56 |
Severity | low |
Identifiers and References | identifiers: references: IA-5, IA-5(c), 195, SRG-OS-000072-GPOS-00040, RHEL-07-010160 |
Description | The pam_pwquality module's |
Rationale |
Use of a complex password helps to increase the time and resources required to comrpomise the password.
Password complexity, or strength, is a measure of the effectiveness of a password in resisting
attempts at guessing and brute-force attacks.
|
Remediation script:
|
Set Password Strength Minimum Digit Characters
Rule ID | xccdf_org.ssgproject.content_rule_accounts_password_pam_dcredit |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: references: IA-5(1)(a), IA-5(b), IA-5(c), 194, 194, SRG-OS-000071-GPOS-00039, Req-8.2.3, 6.3.2, RHEL-07-010110, Test attestation on 20121024 by DS |
Description | The pam_pwquality module's |
Rationale | Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possble combinations that need to be tested before the password is compromised. Requiring digits makes password guessing attacks more difficult by ensuring a larger search space. |
Set Password Minimum Length
Rule ID | xccdf_org.ssgproject.content_rule_accounts_password_pam_minlen |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: references: IA-5(1)(a), 205, SRG-OS-000078-GPOS-00046, Req-8.2.3, 6.3.2, RHEL-07-010250, Test attestation on 20140928 by swells |
Description | The pam_pwquality module's |
Rationale |
The shorter the password, the lower the number of possible combinations
that need to be tested before the password is compromised.
|
Set Password Strength Minimum Uppercase Characters
Rule ID | xccdf_org.ssgproject.content_rule_accounts_password_pam_ucredit |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | low |
Identifiers and References | identifiers: references: IA-5(b), IA-5(c), IA-5(1)(a), 192, SRG-OS-000069-GPOS-00037, RHEL-07-010090, Req-8.2.3, 6.3.2, Test attestation on 20121024 by DS |
Description | The pam_pwquality module's |
Rationale |
Use of a complex password helps to increase the time and resources reuiqred to compromise the password.
Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts
at guessing and brute-force attacks.
|
Set Password Strength Minimum Special Characters
Rule ID | xccdf_org.ssgproject.content_rule_accounts_password_pam_ocredit |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: references: IA-5(b), IA-5(c), IA-5(1)(a), 1619, SRG-OS-000266-GPOS-00101, RHEL-07-010120, Test attestation on 20121024 by DS |
Description | The pam_pwquality module's |
Rationale | Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possble combinations that need to be tested before the password is compromised. 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 | xccdf_org.ssgproject.content_rule_accounts_password_pam_lcredit |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: references: IA-5(b), IA-5(c), IA-5(1)(a), 193, SRG-OS-000070-GPOS-00038, Req-8.2.3, RHEL-07-010100, Test attestation on 20121024 by DS |
Description | The pam_pwquality module's |
Rationale | Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possble combinations that need to be tested before the password is compromised. 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 | xccdf_org.ssgproject.content_rule_accounts_password_pam_difok |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: references: IA-5(b), IA-5(c), IA-5(1)(b), 195, SRG-OS-000072-GPOS-00040, RHEL-07-010130, Test attestation on 20121024 by DS |
Description | The pam_pwquality module's |
Rationale | Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute–force attacks. Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. 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 | xccdf_org.ssgproject.content_rule_accounts_password_pam_minclass |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: references: IA-5, 195, SRG-OS-000072-GPOS-00040, RHEL-07-010140, 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 4
differing categories of characters when changing passwords.
|
Rationale | Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. 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 | xccdf_org.ssgproject.content_rule_accounts_passwords_pam_faillock_deny |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: references: AC-7(b), 2238, SRG-OS-000329-GPOS-00128, SRG-OS-000021-GPOS-00005, RHEL-07-010370, Req-8.1.6, 6.3.3 |
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 | xccdf_org.ssgproject.content_rule_accounts_passwords_pam_faillock_unlock_time |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: references: AC-7(b), 002238, SRG-OS-000329-GPOS-00128, SRG-OS-000021-GPOS-00005, RHEL-07-010371, Req-8.1.7, 6.3.3 |
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. |
Configure the root Account for Failed Password Attempts
Rule ID | xccdf_org.ssgproject.content_rule_accounts_passwords_pam_faillock_deny_root |
Result | notselected |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: references: AC-7(b), 2238, SRG-OS-000329-GPOS-00128, SRG-OS-000021-GPOS-00005, RHEL-07-010372 |
Description |
To configure the system to lock out the
|
Rationale | By limiting the number of failed logon attempts, the risk of unauthorized system access via user password guessing, otherwise known as brute-forcing, is reduced. Limits are imposed by locking the account. |
Set Interval For Counting Failed Password Attempts
Rule ID | xccdf_org.ssgproject.content_rule_accounts_passwords_pam_faillock_interval |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: |
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 | xccdf_org.ssgproject.content_rule_accounts_password_pam_unix_remember |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: references: IA-5(f), IA-5(1)(e), 200, SRG-OS-000077-GPOS-00045, RHEL-07-010240, Req-8.2.5, 6.3.4, Test attestation on 20121024 by DS |
Description | Do not allow users to reuse recent passwords. This can be
accomplished by using the
|
Rationale | Preventing re-use of previous passwords helps ensure that a compromised password is not re-used by a user. |
Set PAM's Password Hashing Algorithm
Rule ID | xccdf_org.ssgproject.content_rule_set_password_hashing_algorithm_systemauth |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: references: IA-5(b), IA-5(c), IA-5(1)(c), IA-7, 196, SRG-OS-000073-GPOS-00041, RHEL-07-010170, Req-8.2.1, 6.3.1, Test attestation on 20121024 by DS |
Description |
The PAM system service can be configured to only store encrypted representations of passwords.
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 |
Passwords need to be protected at all times, and encryption is the standard method for protecting
passwords. If passwords are not encrypted, they can be plainly read (i.e., clear text) and easily
compromised. Passwords that are encrypted with a weak algorithm are no more protected than if they
are kepy in plain text.
This setting ensures user and group account administration utilities are configured to store only
encrypted representations of passwords. Additionally, the |
Set Password Hashing Algorithm in /etc/login.defs
Rule ID | xccdf_org.ssgproject.content_rule_set_password_hashing_algorithm_logindefs |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: references: IA-5(b), IA-5(c), IA-5(1)(c), IA-7, 196, SRG-OS-000073-GPOS-00041, RHEL-07-010180, Req-8.2.1, 6.3.1, Test attestation on 20121024 by DS |
Description |
In ENCRYPT_METHOD SHA512 |
Rationale | Passwords need to be protected at all times, and encryption is the standard method for protecting passwords. If passwords are not encrypted, they can be plainly read (i.e., clear text) and easily compromised. Passwords that are encrypted with a weak algorithm are no more protected than if they are kept in plain text. Using a stronger hashing algorithm makes password cracking attacks more difficult. |
Set Password Hashing Algorithm in /etc/libuser.conf
Rule ID | xccdf_org.ssgproject.content_rule_set_password_hashing_algorithm_libuserconf |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: references: IA-5(b), IA-5(c), IA-5(1)(c), IA-7, 196, SRG-OS-000073-GPOS-00041, RHEL-07-010190, Req-8.2.1, Test attestation on 20121026 by DS |
Description |
In crypt_style = sha512 |
Rationale |
Passwords need to be protected at all times, and encryption is the standard method for protecting
passwords. If passwords are not encrypted, they can be plainly read (i.e., clear text) and easily
compromised. Passwords that are encrypted with a weak algorithm are no more protected than if they
are kepy in plain text.
This setting ensures user and group account administration utilities are configured to store only
encrypted representations of passwords. Additionally, the |
Set Last Logon/Access Notification
Rule ID | xccdf_org.ssgproject.content_rule_display_login_attempts |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | low |
Identifiers and References | identifiers: references: 53, Req-10.2.4 |
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 | xccdf_org.ssgproject.content_rule_root_path_no_dot |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | low |
Identifiers and References | identifiers: |
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 | xccdf_org.ssgproject.content_rule_accounts_root_path_dirs_no_write |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | low |
Identifiers and References | identifiers: |
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 | xccdf_org.ssgproject.content_rule_accounts_umask_etc_bashrc |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | low |
Identifiers and References | identifiers: 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 027 |
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 | xccdf_org.ssgproject.content_rule_accounts_umask_etc_csh_cshrc |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | low |
Identifiers and References | identifiers: 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 027 |
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 | xccdf_org.ssgproject.content_rule_accounts_umask_etc_profile |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | low |
Identifiers and References | identifiers: references: SA-8, 366, Test attestation on 20120929 by swells |
Description |
To ensure the default umask controlled by umask 027 |
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 | xccdf_org.ssgproject.content_rule_accounts_umask_etc_login_defs |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | low |
Identifiers and References | identifiers: references: SA-8, 366, Test attestation on 20140912 by JL |
Description |
To ensure the default umask controlled by UMASK 027 |
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. |
Set Interactive Session Timeout
Rule ID | xccdf_org.ssgproject.content_rule_accounts_tmout |
Result | notselected |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: references: AC-12, SC-10, 1133, 0361, SRG-OS-000163-GPOS-00072, RHEL-07-040160 |
Description | Terminating an idle session within a short time period reduces the window of opportunity for unauthorized personnel to take control of a management session enabled on the console or console port that has been left unattended. |
Rationale |
|
Limit the Number of Concurrent Login Sessions Allowed Per User
Rule ID | xccdf_org.ssgproject.content_rule_accounts_max_concurrent_login_sessions |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | low |
Identifiers and References | identifiers: references: AC-10, 54, SRG-OS-000027-GPOS-00008, RHEL-07-040010 |
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. To set the number of concurrent
sessions per user add the following line in * hard maxlogins 10 |
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 the Logon Failure Delay is Set Correctly in login.defs
Rule ID | xccdf_org.ssgproject.content_rule_accounts_logon_fail_delay |
Result | fail |
Time | 2016-07-11T14:22:06 |
Severity | low |
Identifiers and References | identifiers: references: CM-6(b), 366, SRG-OS-000480-GPOS-00226, RHEL-07-010420 |
Description |
To ensure the logon failure delay controlled by FAIL_DELAY 4 |
Rationale | Increasing the time between a failed authentication attempt and re-prompting to enter credentials helps to slow a single-threaded brute force attack. |
Verify /boot/grub2/grub.cfg User Ownership
Rule ID | xccdf_org.ssgproject.content_rule_file_user_owner_grub2_cfg |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: references: AC-6(7), 225, Req-7.1, 1.5.1, 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 | xccdf_org.ssgproject.content_rule_file_group_owner_grub2_cfg |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: references: AC-6(7), 225, Req-7.1, 1.5.1, Test attestation on 20121026 by DS |
Description | The file $ sudo chgrp root /boot/grub2/grub.cfg |
Rationale |
The |
Set Boot Loader Password
Rule ID | xccdf_org.ssgproject.content_rule_bootloader_password |
Result | notselected |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: references: IA-2(1), IA-5(e), AC-3, 213, SRG-OS-000080-GPOS-00048, RHEL-07-010460, 1.5.3, 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 /etc/grub.d/01_users configuration file
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 the UEFI Boot Loader Password
Rule ID | xccdf_org.ssgproject.content_rule_bootloader_uefi_password |
Result | notselected |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: references: AC-3, 213, SRG-OS-000080-GPOS-00048, RHEL-07-010470 |
Description | The UEFI 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 /etc/grub.d/01_users configuration file 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/efi/EFI/redhat/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
|
Install the screen Package
Rule ID | xccdf_org.ssgproject.content_rule_package_screen_installed |
Result | pass |
Time | 2016-07-11T14:22:07 |
Severity | medium |
Identifiers and References | identifiers: references: AC-11(a), 57, SRG-OS-000029-GPOS-00010, RHEL-07-010072, 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 |
A session time-out lock is a temporary action taken when a user stops work and moves away from the immediate
physical vicinity of the information system but des not logout because of the temporary nature of the absence.
Rather than relying on the user to manually lock their operation system session prior to vacating the vicinity,
operating systems need to be able to identify when a user's session has idled and take action to initiate the
session lock.
The |
Enable Smart Card Login
Rule ID | xccdf_org.ssgproject.content_rule_smartcard_auth |
Result | notselected |
Time | 2016-07-11T14:22:07 |
Severity | medium |
Identifiers and References | identifiers: |
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 | xccdf_org.ssgproject.content_rule_require_singleuser_auth |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: 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 debug-shell SystemD Service
Rule ID | xccdf_org.ssgproject.content_rule_service_debug-shell_disabled |
Result | pass |
Time | 2016-07-11T14:22:06 |
Severity | medium |
Identifiers and References | identifiers: |
Description | SystemD's $ sudo systemctl disable debug-shell.service |
Rationale | This prevents attackers with physical access from trivially bypassing security on the machine through valid troubleshooting configurations and gaining root access when the system is rebooted. |
Disable Ctrl-Alt-Del Reboot Activation
Rule ID | xccdf_org.ssgproject.content_rule_disable_ctrlaltdel_reboot |
Result | pass |
Time | 2016-07-11T14:22:07 |
Severity | high |
Identifiers and References | identifiers: references: AC-6, 366, SRG-OS-000480-GPOS-00227, RHEL-07-020220 |
Description |
By default, ln -sf /dev/null /etc/systemd/system/ctrl-alt-del.targetor systemctl mask ctrl-alt-del.target Do not simply delete the /usr/lib/systemd/system/ctrl-alt-del.service file,
as this file may be restored during future system updates.
|
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. |
Warnings | warning
Disabling the Ctrl-Alt-Del key sequence
with SystemD DOES NOT disable the Ctrl-Alt-Del key sequence
if running in graphical.target mode (e.g. in GNOME, KDE, etc.)! The
Ctrl-Alt-Del key sequence will only be disabled if running in
the non-graphical multi-user.target mode.
|
Verify that Interactive Boot is Disabled
Rule ID | xccdf_org.ssgproject.content_rule_disable_interactive_boot |
Result | pass |
Time | 2016-07-11T14:22:07 |
Severity | medium |
Identifiers and References | identifiers: references: SC-2, AC-3, 213, Test attestation on 20121024 by DS |
Description |
Red Hat Enterprise Linux systems support an "interactive boot" option that can
be used to prevent services from being started. On a Red Hat Enterprise Linux 7
system, interactive boot can be enabled by providing a systemd.confirm_spawn=(1|yes|true|on)from the kernel arguments in that file to disable interactive boot. |
Rationale | Using interactive boot, the console user could disable auditing, firewalls, or other services, weakening system security. |
Warnings | warning
The GRUB 2 configuration file, grub.cfg ,
is automatically updated each time a new kernel is installed. Note that any
changes to /etc/default/grub require rebuilding the grub.cfg
file. To update the GRUB 2 configuration file manually, use the
grub2-mkconfig -ocommand as follows:
|
Disable Kernel Parameter for Sending ICMP Redirects by Default
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_default_send_redirects |
Result | pass |
Time | 2016-07-11T14:22:07 |
Severity | medium |
Identifiers and References | identifiers: references: AC-4, CM-7, SC-5, SC-7, 1551, 4.1.2, 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 | ICMP redirect messages are used by routers to inform hosts that a more
direct route exists for a particular destination. These messages contain information
from the system's route table possibly revealing portions of the network topology.
|
Disable Kernel Parameter for Sending ICMP Redirects for All Interfaces
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_all_send_redirects |
Result | pass |
Time | 2016-07-11T14:22:07 |
Severity | medium |
Identifiers and References | identifiers: references: CM-7, SC-5(1), 1551, 4.1.2, 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 | ICMP redirect messages are used by routers to inform hosts that a more
direct route exists for a particular destination. These messages contain information
from the system's route table possibly revealing portions of the network topology.
|
Disable Kernel Parameter for IP Forwarding
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_ip_forward |
Result | pass |
Time | 2016-07-11T14:22:07 |
Severity | medium |
Identifiers and References | identifiers: references: CM-7, SC-5, 366, 4.1.1, 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. |
Configure Kernel Parameter for Accepting Source-Routed Packets for All Interfaces
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_all_accept_source_route |
Result | pass |
Time | 2016-07-11T14:22:07 |
Severity | medium |
Identifiers and References | identifiers: references: AC-4, CM-7, SC-5, 366, SRG-OS-000480-GPOS-00227, RHEL-07-040350, 4.2.1, 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 | Source-routed packets allow the source of the packet to suggest routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures. This requirement applies only to the forwarding of source-routerd traffic, such as when IPv4 forwarding is enabled and the system is functioning as a router. Accepting source-routed packets in the IPv4 protocol has few legitimate uses. It should be disabled unless it is absolutely required. |
Configure Kernel Parameter for Accepting ICMP Redirects for All Interfaces
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_all_accept_redirects |
Result | pass |
Time | 2016-07-11T14:22:07 |
Severity | medium |
Identifiers and References | identifiers: references: CM-7, SC-5, 1503, 1551, 4.2.2, 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 | ICMP redirect messages are used by routers to inform hosts that a more direct
route exists for a particular destination. These messages modify the host's route table
and are unauthenticated. An illicit ICMP redirect message could result in a man-in-the-middle
attack.
|
Configure Kernel Parameter for Accepting Secure Redirects for All Interfaces
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_all_secure_redirects |
Result | pass |
Time | 2016-07-11T14:22:07 |
Severity | medium |
Identifiers and References | identifiers: references: AC-4, CM-7, SC-5, 1503, 1551, 4.2.3, 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. |
Configure Kernel Parameter to Log Martian Packets
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_all_log_martians |
Result | pass |
Time | 2016-07-11T14:22:07 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(7), CM-7, SC-5(3), 126, 4.2.4, 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. |
Configure Kernel Parameter to Log Martian Packets By Default
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_default_log_martians |
Result | pass |
Time | 2016-07-11T14:22:07 |
Severity | low |
Identifiers and References | identifiers: |
Description |
To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.default.log_martians=1If this is not the system's default value, add the following line to /etc/sysctl.conf :
net.ipv4.conf.default.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. |
Configure Kernel Parameter for Accepting Source-Routed Packets By Default
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_default_accept_source_route |
Result | pass |
Time | 2016-07-11T14:22:07 |
Severity | medium |
Identifiers and References | identifiers: references: AC-4, CM-7, SC-5, SC-7, 1551, SRG-OS-000480-GPOS-00227, RHEL-07-040350, 4.2.1, 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 | Source-routed packates allow the source of the packet to suggest routers
forward the packet along a different path than configured on the router, which can
be used to bypass network security measures.
|
Configure Kernel Parameter for Accepting ICMP Redirects By Default
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_default_accept_redirects |
Result | pass |
Time | 2016-07-11T14:22:07 |
Severity | medium |
Identifiers and References | identifiers: references: AC-4, CM-7, SC-5, SC-7, 1551, 4.2.2, 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 | ICMP redirect messages are used by routers to inform hosts that a more direct
route exists for a particular destination. These messages modify the host's route table
and are unauthenticated. An illicit ICMP redirect message could result in a man-in-the-middle
attack.
|
Configure Kernel Parameter for Accepting Secure Redirects By Default
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_default_secure_redirects |
Result | pass |
Time | 2016-07-11T14:22:08 |
Severity | medium |
Identifiers and References | identifiers: references: AC-4, CM-7, SC-5, SC-7, 1551, 4.2.3, 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. |
Configure Kernel Parameter to Ignore ICMP Broadcast Echo Requests
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_icmp_echo_ignore_broadcasts |
Result | pass |
Time | 2016-07-11T14:22:08 |
Severity | medium |
Identifiers and References | identifiers: references: AC-4, CM-7, SC-5, 366, SRG-OS-000480-GPOS-00227, RHEL-07-040380, 4.2.5, 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 | Responding to broadcast (ICMP) echoes facilitates network mapping
and provides a vector for amplification attacks.
|
Configure Kernel Parameter to Ignore Bogus ICMP Error Responses
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_icmp_ignore_bogus_error_responses |
Result | pass |
Time | 2016-07-11T14:22:08 |
Severity | low |
Identifiers and References | identifiers: references: CM-7, SC-5, 4.2.6, 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. |
Configure Kernel Parameter to Use Reverse Path Filtering for All Interfaces
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_all_rp_filter |
Result | pass |
Time | 2016-07-11T14:22:08 |
Severity | medium |
Identifiers and References | identifiers: references: AC-4, SC-5, SC-7, 1551, 4.2.7, 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. |
Configure Kernel Parameter to Use Reverse Path Filtering by Default
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_default_rp_filter |
Result | pass |
Time | 2016-07-11T14:22:08 |
Severity | medium |
Identifiers and References | identifiers: references: AC-4, SC-5, SC-7, 4.2.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 | xccdf_org.ssgproject.content_rule_wireless_disable_in_bios |
Result | notselected |
Time | 2016-07-11T14:22:08 |
Severity | low |
Identifiers and References | identifiers: 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 | xccdf_org.ssgproject.content_rule_wireless_disable_interfaces |
Result | notselected |
Time | 2016-07-11T14:22:08 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(8), AC-18(a), AC-18(d), AC-18(3), CM-7, 85, 4.3.1, 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 | xccdf_org.ssgproject.content_rule_service_bluetooth_disabled |
Result | pass |
Time | 2016-07-11T14:22:08 |
Severity | medium |
Identifiers and References | identifiers: 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.service $ sudo service bluetooth stop |
Rationale | Disabling the |
Disable Bluetooth Kernel Modules
Rule ID | xccdf_org.ssgproject.content_rule_kernel_module_bluetooth_disabled |
Result | pass |
Time | 2016-07-11T14:22:08 |
Severity | medium |
Identifiers and References | identifiers: 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 | xccdf_org.ssgproject.content_rule_sysctl_kernel_ipv6_disable |
Result | notselected |
Time | 2016-07-11T14:22:08 |
Severity | medium |
Identifiers and References | identifiers: references: CM-7, 1551, 4.4.2, 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 | xccdf_org.ssgproject.content_rule_network_ipv6_disable_interfaces |
Result | notselected |
Time | 2016-07-11T14:22:08 |
Severity | low |
Identifiers and References | identifiers: |
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 | xccdf_org.ssgproject.content_rule_network_ipv6_disable_rpc |
Result | notselected |
Time | 2016-07-11T14:22:08 |
Severity | low |
Identifiers and References | identifiers: 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 - - |
Configure Kernel Parameter for Accepting Source-Routed Packets for All Interfaces
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv6_conf_all_accept_source_route |
Result | pass |
Time | 2016-07-11T14:22:08 |
Severity | medium |
Identifiers and References | identifiers: references: AC-4, 366, SRG-OS-000480-GPOS-00227, RHEL-07-040860 |
Description |
To set the runtime status of the $ sudo sysctl -w net.ipv6.conf.all.accept_source_route=0If this is not the system's default value, add the following line to /etc/sysctl.conf :
net.ipv6.conf.all.accept_source_route = 0 |
Rationale | Source-routed packets allow the source of the packet to suggest routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures. This requirement applies only to the forwarding of source-routerd traffic, such as when IPv6 forwarding is enabled and the system is functioning as a router. Accepting source-routed packets in the IPv6 protocol has few legitimate uses. It should be disabled unless it is absolutely required. |
Configure Accepting IPv6 Router Advertisements
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv6_conf_all_accept_ra |
Result | pass |
Time | 2016-07-11T14:22:08 |
Severity | low |
Identifiers and References | identifiers: |
Description |
To set the runtime status of the $ sudo sysctl -w net.ipv6.conf.all.accept_ra=0If this is not the system's default value, add the following line to /etc/sysctl.conf :
net.ipv6.conf.all.accept_ra = 0 |
Rationale | An illicit router advertisement message could result in a man-in-the-middle attack. |
Configure Accepting IPv6 Router Advertisements
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv6_conf_default_accept_ra |
Result | pass |
Time | 2016-07-11T14:22:08 |
Severity | low |
Identifiers and References | identifiers: |
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. |
Configure Accepting IPv6 Redirects By Default
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv6_conf_all_accept_redirects |
Result | pass |
Time | 2016-07-11T14:22:08 |
Severity | medium |
Identifiers and References | identifiers: |
Description |
To set the runtime status of the $ sudo sysctl -w net.ipv6.conf.all.accept_redirects=0If this is not the system's default value, add the following line to /etc/sysctl.conf :
net.ipv6.conf.all.accept_redirects = 0 |
Rationale | An illicit ICMP redirect message could result in a man-in-the-middle attack. |
Configure Accepting IPv6 Redirects By Default
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv6_conf_default_accept_redirects |
Result | pass |
Time | 2016-07-11T14:22:08 |
Severity | medium |
Identifiers and References | identifiers: |
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. |
Configure Kernel Parameter for Accepting Source-Routed Packets for Interfaces By Default
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv6_conf_default_accept_source_route |
Result | fail |
Time | 2016-07-11T14:22:08 |
Severity | medium |
Identifiers and References | identifiers: |
Description |
To set the runtime status of the $ sudo sysctl -w net.ipv6.conf.default.accept_source_route=0If this is not the system's default value, add the following line to /etc/sysctl.conf :
net.ipv6.conf.default.accept_source_route = 0 |
Rationale | Source-routed packets allow the source of the packet to suggest routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures. This requirement applies only to the forwarding of source-routerd traffic, such as when IPv6 forwarding is enabled and the system is functioning as a router. Accepting source-routed packets in the IPv6 protocol has few legitimate uses. It should be disabled unless it is absolutely required. |
Disable Kernel Parameter for IPv6 Forwarding
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv6_conf_all_forwarding |
Result | fail |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: |
Description |
To set the runtime status of the $ sudo sysctl -w net.ipv6.conf.all.forwarding=0If this is not the system's default value, add the following line to /etc/sysctl.conf :
net.ipv6.conf.all.forwarding = 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. |
Manually Assign Global IPv6 Address
Rule ID | xccdf_org.ssgproject.content_rule_network_ipv6_static_address |
Result | fail |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: 366 |
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 | xccdf_org.ssgproject.content_rule_network_ipv6_privacy_extensions |
Result | fail |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: 366 |
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 | xccdf_org.ssgproject.content_rule_network_ipv6_default_gateway |
Result | fail |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: 366 |
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 | xccdf_org.ssgproject.content_rule_service_firewalld_enabled |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: references: CM-6(b), 366, 4.7, SRG-OS-000480-GPOS-00227, RHEL-07-040810 |
Description |
The $ sudo systemctl enable firewalld.service |
Rationale | Access control methods provide the ability to enhance system security posture by restricting services and known good IP addresses and address ranges. This prevents connections from unknown hosts and protocols. |
Set Default firewalld Zone for Incoming Packets
Rule ID | xccdf_org.ssgproject.content_rule_set_firewalld_default_zone |
Result | notselected |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: |
Description | To set the default zone to DefaultZone=drop |
Rationale | In |
Disable DCCP Support
Rule ID | xccdf_org.ssgproject.content_rule_kernel_module_dccp_disabled |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: references: CM-7, http://iase.disa.mil/stigs/cci/Pages/index.aspx, 4.6.1, Test attestation on 20121024 by DS |
Description |
The Datagram Congestion Control Protocol (DCCP) is a
relatively new transport layer protocol, designed to support
streaming media and telephony.
To configure the system to prevent the install dccp /bin/true |
Rationale | Disabling DCCP protects the system against exploitation of any flaws in its implementation. |
Disable SCTP Support
Rule ID | xccdf_org.ssgproject.content_rule_kernel_module_sctp_disabled |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: references: CM-7, http://iase.disa.mil/stigs/cci/Pages/index.aspx, 4.6.2, Test attestation on 20121024 by DS |
Description |
The Stream Control Transmission Protocol (SCTP) is a
transport layer protocol, designed to support the idea of
message-oriented communication, with several streams of messages
within one connection.
To configure the system to prevent the install sctp /bin/true |
Rationale | Disabling SCTP protects the system against exploitation of any flaws in its implementation. |
Install libreswan Package
Rule ID | xccdf_org.ssgproject.content_rule_package_libreswan_installed |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: |
Description | The Libreswan package provides an implementation of IPsec
and IKE, which permits the creation of secure tunnels over
untrusted networks.
The $ sudo yum install libreswan |
Rationale | Providing the ability for remote users or systems to initiate a secure VPN connection protects information when it is transmitted over a wide area network. |
Verify Any Configured IPSec Tunnel Connections
Rule ID | xccdf_org.ssgproject.content_rule_libreswan_approved_tunnels |
Result | notchecked |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: references: AC-4, 336, SRG-OS-000480-GPOS-00227, RHEL-07-040830 |
Description | Libreswan provides an implementation of IPsec
and IKE, which permits the creation of secure tunnels over
untrusted networks. As such, IPsec can be used to circumvent certain
network requirements such as filtering. Verify that if any IPsec connection
( |
Rationale | IP tunneling mechanisms can be used to bypass network filtering. |
Disable Client Dynamic DNS Updates
Rule ID | xccdf_org.ssgproject.content_rule_network_disable_ddns_interfaces |
Result | notselected |
Time | 2016-07-11T14:22:07 |
Severity | medium |
Identifiers and References | identifiers: references: CM-6(b), 366, SRG-OS-000480-GPOS-00227, RHEL-07-040840 |
Description |
Dynamic DNS allows clients to dynamically update their own DNS records.
The updates are transmitted by unencrypted means which can reveal information
to a potential malicious user. If the system does not require Dynamic DNS,
remove all |
Rationale | Dynamic DNS updates transmit unencrypted information about a system including its name and address and should not be used unless needed. |
Disable Zeroconf Networking
Rule ID | xccdf_org.ssgproject.content_rule_network_disable_zeroconf |
Result | pass |
Time | 2016-07-11T14:22:07 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description | Zeroconf networking allows the system to assign itself an IP
address and engage in IP communication without a statically-assigned address or
even a DHCP server. Automatic address assignment via Zeroconf (or DHCP) is not
recommended. To disable Zeroconf automatic route assignment in the 169.254.0.0
subnet, add or correct the following line in NOZEROCONF=yes |
Rationale | Zeroconf addresses are in the network 169.254.0.0. The networking scripts add entries to the system's routing table for these addresses. Zeroconf address assignment commonly occurs when the system is configured to use DHCP but fails to receive an address assignment from the DHCP server. |
Ensure System is Not Acting as a Network Sniffer
Rule ID | xccdf_org.ssgproject.content_rule_network_sniffer_disabled |
Result | pass |
Time | 2016-07-11T14:22:07 |
Severity | low |
Identifiers and References | identifiers: |
Description | The system should not be acting as a network sniffer, which can capture all traffic on the network to which it is connected. Run the following to determine if any interface is running in promiscuous mode: $ ip link | grep PROMISC |
Rationale | If any results are returned, then a sniffing process (such as tcpdump or Wireshark) is likely to be using the interface and this should be investigated. |
Ensure Log Files Are Owned By Appropriate User
Rule ID | xccdf_org.ssgproject.content_rule_rsyslog_files_ownership |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: references: AC-6, SI-11, 1314, Req-10.5.1, Req-10.5.2, Test attestation on 20121024 by DS |
Description | The owner of all log files written by
$ ls -l LOGFILEIf the owner is not root , run the following command to
correct this:
$ sudo chown root LOGFILE |
Rationale | The log files generated by rsyslog contain valuable information regarding system configuration, user authentication, and other such information. Log files should be protected from unauthorized access. |
Ensure Log Files Are Owned By Appropriate Group
Rule ID | xccdf_org.ssgproject.content_rule_rsyslog_files_groupownership |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: references: AC-6, SI-11, 1314, Req-10.5.1, Req-10.5.2, Test attestation on 20121024 by DS |
Description | The group-owner of all log files written by
$ ls -l LOGFILEIf the owner is not root , run the following command to
correct this:
$ sudo chgrp root LOGFILE |
Rationale | The log files generated by rsyslog contain valuable information regarding system configuration, user authentication, and other such information. Log files should be protected from unauthorized access. |
Ensure Logs Sent To Remote Host
Rule ID | xccdf_org.ssgproject.content_rule_rsyslog_remote_loghost |
Result | notselected |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: |
Description |
To configure rsyslog to send logs to a remote log server,
open *.* @loghost.example.com To use TCP for log message delivery: *.* @@loghost.example.com To use RELP for log message delivery: *.* :omrelp:loghost.example.com |
Rationale | A log server (loghost) receives syslog messages from one or more systems. This data can be used as an additional log source in the event a system is compromised and its local logs are suspect. Forwarding log messages to a remote loghost also provides system administrators with a centralized place to view the status of multiple hosts within the enterprise. |
Ensure rsyslog Does Not Accept Remote Messages Unless Acting As Log Server
Rule ID | xccdf_org.ssgproject.content_rule_rsyslog_nolisten |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: |
Description | The $ModLoad imtcp $InputTCPServerRun port $ModLoad imudp $UDPServerRun port $ModLoad imrelp $InputRELPServerRun port |
Rationale | Any process which receives messages from the network incurs some risk of receiving malicious messages. This risk can be eliminated for rsyslog by configuring it not to listen on the network. |
Ensure Logrotate Runs Periodically
Rule ID | xccdf_org.ssgproject.content_rule_ensure_logrotate_activated |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: |
Description | The # rotate log files frequency daily |
Rationale | Log files that are not properly rotated run the risk of growing so large that they fill up the /var/log partition. Valuable logging information could be lost if the /var/log partition becomes full. |
Configure Logwatch HostLimit Line
Rule ID | xccdf_org.ssgproject.content_rule_logwatch_configured_hostlimit |
Result | notselected |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: |
Description | On a central logserver, you want Logwatch to summarize all syslog entries, including those which did not originate
on the logserver itself. The HostLimit = no |
Configure Logwatch SplitHosts Line
Rule ID | xccdf_org.ssgproject.content_rule_logwatch_configured_splithosts |
Result | notselected |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: |
Description |
If SplitHosts = yes |
Ensure rsyslog is Installed
Rule ID | xccdf_org.ssgproject.content_rule_package_rsyslog_installed |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: references: AU-9(2), 1311, 1312, 5.1.1, Test attestation on 20121024 by DS |
Description |
Rsyslog is installed by default.
The $ sudo yum install rsyslog |
Rationale | The rsyslog package provides the rsyslog daemon, which provides system logging services. |
Enable rsyslog Service
Rule ID | xccdf_org.ssgproject.content_rule_service_rsyslog_enabled |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: references: AU-4(1), AU-12, 1311, 1312, 1557, 1851, 5.1.2, Test attestation on 20121024 by DS |
Description | The $ sudo systemctl enable rsyslog.service |
Rationale | The |
Disable Logwatch on Clients if a Logserver Exists
Rule ID | xccdf_org.ssgproject.content_rule_disable_logwatch_for_logserver |
Result | notchecked |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: |
Description | Does your site have a central logserver which has been configured to report on logs received from all systems? If so: $ sudo rm /etc/cron.daily/0logwatchIf no logserver exists, it will be necessary for each machine to run Logwatch individually. Using a central logserver provides the security and reliability benefits discussed earlier, and also makes monitoring logs easier and less time-intensive for administrators. |
Configure auditd Number of Logs Retained
Rule ID | xccdf_org.ssgproject.content_rule_auditd_data_retention_num_logs |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: references: AU-1(b), AU-11, IR-5, Req-10.7, Test attestation on 20121024 by DS |
Description | Determine how many log files
num_logs = NUMLOGSSet the value to 5 for general-purpose systems. Note that values less than 2 result in no log rotation. |
Rationale | The total storage for audit log files must be large enough to retain log information over the period required. This is a function of the maximum log file size and the number of logs retained. |
Configure auditd Max Log File Size
Rule ID | xccdf_org.ssgproject.content_rule_auditd_data_retention_max_log_file |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: references: AU-1(b), AU-11, IR-5, Req-10.7, 5.2.1.1, Test attestation on 20121024 by DS |
Description | Determine the amount of audit data (in megabytes)
which should be retained in each log file. Edit the file
max_log_file = STOREMBSet the value to 6 (MB) or higher for general-purpose systems.
Larger values, of course,
support retention of even more audit data. |
Rationale | The total storage for audit log files must be large enough to retain log information over the period required. This is a function of the maximum log file size and the number of logs retained. |
Configure auditd max_log_file_action Upon Reaching Maximum Log Size
Rule ID | xccdf_org.ssgproject.content_rule_auditd_data_retention_max_log_file_action |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: references: AU-1(b), AU-4, AU-11, IR-5, Req-10.7, 5.2.1.3, Test attestation on 20121024 by DS |
Description | The default action to take when the logs reach their maximum size
is to rotate the log files, discarding the oldest one. To configure the action taken
by max_log_file_action = ACTIONPossible values for ACTION are described in the auditd.conf man
page. These include:
ACTION to rotate to ensure log rotation
occurs. This is the default. The setting is case-insensitive.
|
Rationale | Automatically rotating logs (by setting this to |
Configure auditd space_left Action on Low Disk Space
Rule ID | xccdf_org.ssgproject.content_rule_auditd_data_retention_space_left_action |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: references: AU-1(b), AU-4, AU-5(b), IR-5, 140, 143, Req-10.7, 5.2.1.2, Test attestation on 20121024 by DS |
Description | The space_left_action = ACTIONPossible values for ACTION are described in the auditd.conf man page.
These include:
email (instead of the default,
which is suspend ) as it is more likely to get prompt attention. Acceptable values
also include suspend , single , and halt .
|
Rationale | Notifying administrators of an impending disk space problem may allow them to take corrective action prior to any disruption. |
Configure auditd admin_space_left Action on Low Disk Space
Rule ID | xccdf_org.ssgproject.content_rule_auditd_data_retention_admin_space_left_action |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: references: AU-1(b), AU-4, AU-5(b), IR-5, 140, 1343, Req-10.7, 5.2.1.2, Test attestation on 20121024 by DS |
Description | The admin_space_left_action = ACTIONSet this value to single to cause the system to switch to single user
mode for corrective action. Acceptable values also include suspend and
halt . For certain systems, the need for availability
outweighs the need to log all actions, and a different setting should be
determined. Details regarding all possible values for ACTION are described in the
auditd.conf man page.
|
Rationale | Administrators should be made aware of an inability to record audit records. If a separate partition or logical volume of adequate size is used, running low on space for audit records should never occur. |
Configure auditd mail_acct Action on Low Disk Space
Rule ID | xccdf_org.ssgproject.content_rule_auditd_data_retention_action_mail_acct |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: references: AU-1(b), AU-4, AU-5(a), IR-5, 139, 144, Req-10.7.a, 5.2.1.2 |
Description | The action_mail_acct = root |
Rationale | Email sent to the root account is typically aliased to the administrators of the system, who can take appropriate action. |
Configure auditd flush priority
Rule ID | xccdf_org.ssgproject.content_rule_auditd_data_retention_flush |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: |
Description | The flush = data |
Rationale | Audit data should be synchronously written to disk to ensure log integrity. These parameters assure that all audit event data is fully synchronized with the log files on the disk. |
Configure auditd to use audispd's syslog plugin
Rule ID | xccdf_org.ssgproject.content_rule_auditd_audispd_syslog_plugin_activated |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: references: AU-1(b), AU-3(2), IR-5, 136, Req-10.5.3 |
Description | To configure the $ sudo service auditd restart |
Rationale | The auditd service does not include the ability to send audit records to a centralized server for management directly. It does, however, include a plug-in for audit event multiplexor (audispd) to pass audit records to the local syslog server |
Record attempts to alter time through adjtimex
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_time_adjtimex |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, 5.2.4, Req-10.4.2.b, 1487, 169 |
Description | If the -a always,exit -F arch=b32 -S adjtimex -k audit_time_rulesIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S adjtimex -k audit_time_rulesIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file:
-a always,exit -F arch=b32 -S adjtimex -k audit_time_rulesIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S adjtimex -k audit_time_rulesThe -k option allows for the specification of a key in string form that can be used for better reporting capability through ausearch and aureport. Multiple system calls can be defined on the same line to save space if desired, but is not required. See an example of multiple combined syscalls: -a always,exit -F arch=b64 -S adjtimex -S settimeofday -k audit_time_rules |
Rationale | Arbitrary changes to the system time can be used to obfuscate nefarious activities in log files, as well as to confuse network services that are highly dependent upon an accurate system time (such as sshd). All changes to the system time should be audited. |
Record attempts to alter time through settimeofday
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_time_settimeofday |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, 5.2.4, Req-10.4.2.b, 1487, 169 |
Description | If the -a always,exit -F arch=b32 -S settimeofday -k audit_time_rulesIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S settimeofday -k audit_time_rulesIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file:
-a always,exit -F arch=b32 -S settimeofday -k audit_time_rulesIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S settimeofday -k audit_time_rulesThe -k option allows for the specification of a key in string form that can be used for better reporting capability through ausearch and aureport. Multiple system calls can be defined on the same line to save space if desired, but is not required. See an example of multiple combined syscalls: -a always,exit -F arch=b64 -S adjtimex -S settimeofday -k audit_time_rules |
Rationale | Arbitrary changes to the system time can be used to obfuscate nefarious activities in log files, as well as to confuse network services that are highly dependent upon an accurate system time (such as sshd). All changes to the system time should be audited. |
Record Attempts to Alter Time Through stime
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_time_stime |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, Req-10.4.2.b, 1487, 169 |
Description | If the -a always,exit -F arch=b32 -S stime -k audit_time_rulesSince the 64 bit version of the "stime" system call is not defined in the audit lookup table, the corresponding "-F arch=b64" form of this rule is not expected to be defined on 64 bit systems (the aforementioned "-F arch=b32" stime rule form itself is sufficient for both 32 bit and 64 bit systems). If the auditd daemon is configured to use the auditctl utility to
read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file for both 32 bit and 64 bit systems:
-a always,exit -F arch=b32 -S stime -k audit_time_rulesSince the 64 bit version of the "stime" system call is not defined in the audit lookup table, the corresponding "-F arch=b64" form of this rule is not expected to be defined on 64 bit systems (the aforementioned "-F arch=b32" stime rule form itself is sufficient for both 32 bit and 64 bit systems). The -k option allows for the specification of a key in string form that can be used for better reporting capability through ausearch and aureport. Multiple system calls can be defined on the same line to save space if desired, but is not required. See an example of multiple combined system calls: -a always,exit -F arch=b64 -S adjtimex -S settimeofday -k audit_time_rules |
Rationale | Arbitrary changes to the system time can be used to obfuscate nefarious activities in log files, as well as to confuse network services that are highly dependent upon an accurate system time (such as sshd). All changes to the system time should be audited. |
Record Attempts to Alter Time Through clock_settime
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_time_clock_settime |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, 5.2.4, Req-10.4.2.b, 1487, 169 |
Description | If the -a always,exit -F arch=b32 -S clock_settime -F a0=0x0 -F key=time-changeIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S clock_settime -F a0=0x0 -F key=time-changeIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file:
-a always,exit -F arch=b32 -S clock_settime -F a0=0x0 -F key=time-changeIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S clock_settime -F a0=0x0 -F key=time-changeThe -k option allows for the specification of a key in string form that can be used for better reporting capability through ausearch and aureport. Multiple system calls can be defined on the same line to save space if desired, but is not required. See an example of multiple combined syscalls: -a always,exit -F arch=b64 -S adjtimex -S settimeofday -k audit_time_rules |
Rationale | Arbitrary changes to the system time can be used to obfuscate nefarious activities in log files, as well as to confuse network services that are highly dependent upon an accurate system time (such as sshd). All changes to the system time should be audited. |
Record Attempts to Alter the localtime File
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_time_watch_localtime |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(b), IR-5, 5.2.4, Req-10.4.2.b, 1487, 169 |
Description | If the -w /etc/localtime -p wa -k audit_time_rulesIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file:
-w /etc/localtime -p wa -k audit_time_rulesThe -k option allows for the specification of a key in string form that can be used for better reporting capability through ausearch and aureport and should always be used. |
Rationale | Arbitrary changes to the system time can be used to obfuscate nefarious activities in log files, as well as to confuse network services that are highly dependent upon an accurate system time (such as sshd). All changes to the system time should be audited. |
Record Events that Modify the System's Discretionary Access Controls - chmod
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_dac_modification_chmod |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, 126, Req-10.5.5, 5.2.10 |
Description | At a minimum the audit system should collect file permission
changes for all users and root. If the -a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=4294967295 -k perm_modIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file:
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=4294967295 -k perm_mod |
Rationale | The changing of file permissions could indicate that a user is attempting to gain access to information that would otherwise be disallowed. Auditing DAC modifications can facilitate the identification of patterns of abuse among both authorized and unauthorized users. |
Warnings | warning
Note that these rules can be configured in a
number of ways while still achieving the desired effect. Here the system calls
have been placed independent of other system calls. Grouping these system
calls with others as identifying earlier in this guide is more efficient.
|
Record Events that Modify the System's Discretionary Access Controls - chown
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_dac_modification_chown |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, 126, Req-10.5.5, 5.2.10 |
Description | At a minimum the audit system should collect file permission
changes for all users and root. If the -a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=4294967295 -k perm_modIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file:
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=4294967295 -k perm_mod |
Rationale | The changing of file permissions could indicate that a user is attempting to gain access to information that would otherwise be disallowed. Auditing DAC modifications can facilitate the identification of patterns of abuse among both authorized and unauthorized users. |
Warnings | warning
Note that these rules can be configured in a
number of ways while still achieving the desired effect. Here the system calls
have been placed independent of other system calls. Grouping these system
calls with others as identifying earlier in this guide is more efficient.
|
Record Events that Modify the System's Discretionary Access Controls - fchmod
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_dac_modification_fchmod |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, 126, Req-10.5.5, 5.2.10 |
Description | At a minimum the audit system should collect file permission
changes for all users and root. If the -a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=4294967295 -k perm_modIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file:
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=4294967295 -k perm_mod |
Rationale | The changing of file permissions could indicate that a user is attempting to gain access to information that would otherwise be disallowed. Auditing DAC modifications can facilitate the identification of patterns of abuse among both authorized and unauthorized users. |
Warnings | warning
Note that these rules can be configured in a
number of ways while still achieving the desired effect. Here the system calls
have been placed independent of other system calls. Grouping these system
calls with others as identifying earlier in this guide is more efficient.
|
Record Events that Modify the System's Discretionary Access Controls - fchmodat
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_dac_modification_fchmodat |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, 126, Req-10.5.5, 5.2.10 |
Description | At a minimum the audit system should collect file permission
changes for all users and root. If the -a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=4294967295 -k perm_modIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file:
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=4294967295 -k perm_mod |
Rationale | The changing of file permissions could indicate that a user is attempting to gain access to information that would otherwise be disallowed. Auditing DAC modifications can facilitate the identification of patterns of abuse among both authorized and unauthorized users. |
Warnings | warning
Note that these rules can be configured in a
number of ways while still achieving the desired effect. Here the system calls
have been placed independent of other system calls. Grouping these system
calls with others as identifying earlier in this guide is more efficient.
|
Record Events that Modify the System's Discretionary Access Controls - fchown
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_dac_modification_fchown |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, 126, Req-10.5.5, 5.2.10 |
Description | At a minimum the audit system should collect file permission
changes for all users and root. If the -a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=4294967295 -k perm_modIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file:
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=4294967295 -k perm_mod |
Rationale | The changing of file permissions could indicate that a user is attempting to gain access to information that would otherwise be disallowed. Auditing DAC modifications can facilitate the identification of patterns of abuse among both authorized and unauthorized users. |
Warnings | warning
Note that these rules can be configured in a
number of ways while still achieving the desired effect. Here the system calls
have been placed independent of other system calls. Grouping these system
calls with others as identifying earlier in this guide is more efficient.
|
Record Events that Modify the System's Discretionary Access Controls - fchownat
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_dac_modification_fchownat |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, 126, Req-10.5.5, 5.2.10 |
Description | At a minimum the audit system should collect file permission
changes for all users and root. If the -a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=4294967295 -k perm_modIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file:
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=4294967295 -k perm_mod |
Rationale | The changing of file permissions could indicate that a user is attempting to gain access to information that would otherwise be disallowed. Auditing DAC modifications can facilitate the identification of patterns of abuse among both authorized and unauthorized users. |
Warnings | warning
Note that these rules can be configured in a
number of ways while still achieving the desired effect. Here the system calls
have been placed independent of other system calls. Grouping these system
calls with others as identifying earlier in this guide is more efficient.
|
Record Events that Modify the System's Discretionary Access Controls - fremovexattr
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_dac_modification_fremovexattr |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, 126, Req-10.5.5, 5.2.10 |
Description | At a minimum the audit system should collect file permission
changes for all users and root. If the -a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=4294967295 -k perm_modIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file:
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=4294967295 -k perm_mod |
Rationale | The changing of file permissions could indicate that a user is attempting to gain access to information that would otherwise be disallowed. Auditing DAC modifications can facilitate the identification of patterns of abuse among both authorized and unauthorized users. |
Warnings | warning
Note that these rules can be configured in a
number of ways while still achieving the desired effect. Here the system calls
have been placed independent of other system calls. Grouping these system
calls with others as identifying earlier in this guide is more efficient.
|
Record Events that Modify the System's Discretionary Access Controls - fsetxattr
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_dac_modification_fsetxattr |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, 126, Req-10.5.5, 5.2.10 |
Description | At a minimum the audit system should collect file permission
changes for all users and root. If the -a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=4294967295 -k perm_modIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file:
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=4294967295 -k perm_mod |
Rationale | The changing of file permissions could indicate that a user is attempting to gain access to information that would otherwise be disallowed. Auditing DAC modifications can facilitate the identification of patterns of abuse among both authorized and unauthorized users. |
Warnings | warning
Note that these rules can be configured in a
number of ways while still achieving the desired effect. Here the system calls
have been placed independent of other system calls. Grouping these system
calls with others as identifying earlier in this guide is more efficient.
|
Record Events that Modify the System's Discretionary Access Controls - lchown
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_dac_modification_lchown |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, 126, Req-10.5.5, 5.2.10 |
Description | At a minimum the audit system should collect file permission
changes for all users and root. If the -a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=4294967295 -k perm_modIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file:
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=4294967295 -k perm_mod |
Rationale | The changing of file permissions could indicate that a user is attempting to gain access to information that would otherwise be disallowed. Auditing DAC modifications can facilitate the identification of patterns of abuse among both authorized and unauthorized users. |
Warnings | warning
Note that these rules can be configured in a
number of ways while still achieving the desired effect. Here the system calls
have been placed independent of other system calls. Grouping these system
calls with others as identifying earlier in this guide is more efficient.
|
Record Events that Modify the System's Discretionary Access Controls - lremovexattr
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_dac_modification_lremovexattr |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, 126, Req-10.5.5, 5.2.10 |
Description | At a minimum the audit system should collect file permission
changes for all users and root. If the -a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=4294967295 -k perm_modIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file:
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=4294967295 -k perm_mod |
Rationale | The changing of file permissions could indicate that a user is attempting to gain access to information that would otherwise be disallowed. Auditing DAC modifications can facilitate the identification of patterns of abuse among both authorized and unauthorized users. |
Warnings | warning
Note that these rules can be configured in a
number of ways while still achieving the desired effect. Here the system calls
have been placed independent of other system calls. Grouping these system
calls with others as identifying earlier in this guide is more efficient.
|
Record Events that Modify the System's Discretionary Access Controls - lsetxattr
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_dac_modification_lsetxattr |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, 126, Req-10.5.5, 5.2.10 |
Description | At a minimum the audit system should collect file permission
changes for all users and root. If the -a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=4294967295 -k perm_modIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file:
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=4294967295 -k perm_mod |
Rationale | The changing of file permissions could indicate that a user is attempting to gain access to information that would otherwise be disallowed. Auditing DAC modifications can facilitate the identification of patterns of abuse among both authorized and unauthorized users. |
Warnings | warning
Note that these rules can be configured in a
number of ways while still achieving the desired effect. Here the system calls
have been placed independent of other system calls. Grouping these system
calls with others as identifying earlier in this guide is more efficient.
|
Record Events that Modify the System's Discretionary Access Controls - removexattr
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_dac_modification_removexattr |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, 126, Req-10.5.5, 5.2.10 |
Description | At a minimum the audit system should collect file permission
changes for all users and root. If the -a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=4294967295 -k perm_modIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file:
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=4294967295 -k perm_mod |
Rationale | The changing of file permissions could indicate that a user is attempting to gain access to information that would otherwise be disallowed. Auditing DAC modifications can facilitate the identification of patterns of abuse among both authorized and unauthorized users. |
Warnings | warning
Note that these rules can be configured in a
number of ways while still achieving the desired effect. Here the system calls
have been placed independent of other system calls. Grouping these system
calls with others as identifying earlier in this guide is more efficient.
|
Record Events that Modify the System's Discretionary Access Controls - setxattr
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_dac_modification_setxattr |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, 126, Req-10.5.5, 5.2.10 |
Description | At a minimum the audit system should collect file permission
changes for all users and root. If the -a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=4294967295 -k perm_modIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file:
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=4294967295 -k perm_modIf the system is 64 bit then also add the following line: -a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=4294967295 -k perm_mod |
Rationale | The changing of file permissions could indicate that a user is attempting to gain access to information that would otherwise be disallowed. Auditing DAC modifications can facilitate the identification of patterns of abuse among both authorized and unauthorized users. |
Warnings | warning
Note that these rules can be configured in a
number of ways while still achieving the desired effect. Here the system calls
have been placed independent of other system calls. Grouping these system
calls with others as identifying earlier in this guide is more efficient.
|
Record Events that Modify User/Group Information
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_usergroup_modification |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: AC-2(4), AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, 18, 172, 1403, 2130, RHEL-07-030710, Req-10.2.5, 5.2.5, SRG–OS–000004–GPOS–00004, SRG–OS–000239–GPOS–00089, SRG–OS–000241–GPOS–00090, SRG–OS–000241–GPOS–00091, SRG–OS–000303–GPOS–00120, SRG–OS–000476–GPOS–00221 |
Description | If the -w /etc/group -p wa -k audit_rules_usergroup_modification -w /etc/passwd -p wa -k audit_rules_usergroup_modification -w /etc/gshadow -p wa -k audit_rules_usergroup_modification -w /etc/shadow -p wa -k audit_rules_usergroup_modification -w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification If the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following lines to
/etc/audit/audit.rules file, in order to capture events that modify
account changes:
-w /etc/group -p wa -k audit_rules_usergroup_modification -w /etc/passwd -p wa -k audit_rules_usergroup_modification -w /etc/gshadow -p wa -k audit_rules_usergroup_modification -w /etc/shadow -p wa -k audit_rules_usergroup_modification -w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification |
Rationale | In addition to auditing new user and group accounts, these watches will alert the system administrator(s) to any modifications. Any unexpected users, groups, or modifications should be investigated for legitimacy. |
Record Events that Modify the System's Network Environment
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_networkconfig_modification |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, Req-10.5.5, 5.2.6 |
Description | If the -a always,exit -F arch=ARCH -S sethostname -S setdomainname -k audit_rules_networkconfig_modification -w /etc/issue -p wa -k audit_rules_networkconfig_modification -w /etc/issue.net -p wa -k audit_rules_networkconfig_modification -w /etc/hosts -p wa -k audit_rules_networkconfig_modification -w /etc/sysconfig/network -p wa -k audit_rules_networkconfig_modificationIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following lines to
/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as
appropriate for your system:
-a always,exit -F arch=ARCH -S sethostname -S setdomainname -k audit_rules_networkconfig_modification -w /etc/issue -p wa -k audit_rules_networkconfig_modification -w /etc/issue.net -p wa -k audit_rules_networkconfig_modification -w /etc/hosts -p wa -k audit_rules_networkconfig_modification -w /etc/sysconfig/network -p wa -k audit_rules_networkconfig_modification |
Rationale | The network environment should not be modified by anything other than administrator action. Any change to network parameters should be audited. |
System Audit Logs Must Be Owned By Root
Rule ID | xccdf_org.ssgproject.content_rule_file_ownership_var_log_audit |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: references: AC-6, AU-1(b), AU-9, IR-5, 163, SRG-OS-000058-GPOS-00028, RHEL-07-030120, Req-10.5.1, Test attestation on 20121024 by DS |
Description |
To properly set the owner of $ sudo chown root /var/log |
Rationale | Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. |
Record Events that Modify the System's Mandatory Access Controls
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_mac_modification |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, Req-10.5.5, 5.2.7 |
Description | If the -w /etc/selinux/ -p wa -k MAC-policyIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file:
-w /etc/selinux/ -p wa -k MAC-policy |
Rationale | The system's mandatory access policy (SELinux) should not be arbitrarily changed by anything other than administrator action. All changes to MAC policy should be audited. |
Record Attempts to Alter Logon and Logout Events
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_login_events |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-12(a), AU-12(c), IR-5, 172, 2884, SRG-OS-000392-GPOS-00172, SRG-OS-000470-GPOS-00214, SRG-OS-000473-GPOS-00218, RHEL-07-030490, Req-10.2.3, 5.2.8 |
Description | The audit system already collects login information for all users
and root. If the -w /var/log/tallylog -p wa -k logins -w /var/run/faillock/ -p wa -k logins -w /var/log/lastlog -p wa -k loginsIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following lines to
/etc/audit/audit.rules file in order to watch for unattempted manual
edits of files involved in storing logon events:
-w /var/log/tallylog -p wa -k logins -w /var/run/faillock/ -p wa -k logins -w /var/log/lastlog -p wa -k logins |
Rationale | Manual editing of these files may indicate nefarious activity, such as an attacker attempting to remove evidence of an intrusion. |
Record Attempts to Alter Process and Session Initiation Information
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_session_events |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, Req-10.2.3, 5.2.9 |
Description | The audit system already collects process information for all
users and root. If the -w /var/run/utmp -p wa -k session -w /var/log/btmp -p wa -k session -w /var/log/wtmp -p wa -k sessionIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following lines to
/etc/audit/audit.rules file in order to watch for attempted manual
edits of files involved in storing such process information:
-w /var/run/utmp -p wa -k session -w /var/log/btmp -p wa -k session -w /var/log/wtmp -p wa -k session |
Rationale | Manual editing of these files may indicate nefarious activity, such as an attacker attempting to remove evidence of an intrusion. |
Ensure auditd Collects Unauthorized Access Attempts to Files (unsuccessful)
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_unsuccessful_file_modification |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, 172, 2884, SRG-OS-000064-GPOS-00033, SRG-OS-000458-GPOS-00203, SRG-OS-000461-GPOS-00205, SRG-OS-000392-GPOS-00172, RHEL-07-030420, Req-10.2.4, Req-10.2.1, 5.2.10 |
Description | At a minimum the audit system should collect unauthorized file
accesses for all users and root. If the -a always,exit -F arch=b32 -S creat -S open -S openat -S open_by_handle_at -S truncate -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=4294967295 -k access -a always,exit -F arch=b32 -S creat -S open -S openat -S open_by_handle_at -S truncate -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=4294967295 -k accessIf the system is 64 bit then also add the following lines: -a always,exit -F arch=b64 -S creat -S open -S openat -S open_by_handle_at -S truncate -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=4294967295 -k access -a always,exit -F arch=b64 -S creat -S open -S openat -S open_by_handle_at -S truncate -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=4294967295 -k accessIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following lines to
/etc/audit/audit.rules file:
-a always,exit -F arch=b32 -S creat -S open -S openat -S open_by_handle_at -S truncate -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=4294967295 -k access -a always,exit -F arch=b32 -S creat -S open -S openat -S open_by_handle_at -S truncate -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=4294967295 -k accessIf the system is 64 bit then also add the following lines: -a always,exit -F arch=b64 -S creat -S open -S openat -S open_by_handle_at -S truncate -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=4294967295 -k access -a always,exit -F arch=b64 -S creat -S open -S openat -S open_by_handle_at -S truncate -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=4294967295 -k access |
Rationale | Unsuccessful attempts to access files could be an indicator of malicious activity on a system. Auditing these events could serve as evidence of potential system compromise. |
Ensure auditd Collects Information on the Use of Privileged Commands
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_privileged_commands |
Result | pass |
Time | 2016-07-11T14:22:40 |
Severity | medium |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-2(4), AU-6(9), AU-12(a), AU-12(c), IR-5, 2234, SRG-OS-000327-GPOS-00127, RHEL-07-030310, Req-10.2.2, 5.2.10, Test attestation on 20121024 by DS |
Description | At a minimum the audit system should collect the execution of privileged commands for all users and root. To find the relevant setuid / setgid programs, run the following command for each local partition PART: $ sudo find PART -xdev -type f -perm -4000 -o -type f -perm -2000 2>/dev/nullIf the auditd daemon is configured to use the augenrules
program to read audit rules during daemon startup (the default), add a line of
the following form to a file with suffix .rules in the directory
/etc/audit/rules.d for each setuid / setgid program on the system,
replacing the SETUID_PROG_PATH part with the full path of that setuid /
setgid program in the list:
-a always,exit -F path=SETUID_PROG_PATH -F perm=x -F auid>=1000 -F auid!=4294967295 -k privilegedIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add a line of the following
form to /etc/audit/audit.rules for each setuid / setgid program on the
system, replacing the SETUID_PROG_PATH part with the full path of that
setuid / setgid program in the list:
-a always,exit -F path=SETUID_PROG_PATH -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged |
Rationale | Misuse of privileged functions, either intentionally or unintentionally by
authorized users, or by unauthorized external entities that have compromised system accounts,
is a serious and ongoing concern and can have significant adverse impacts on organizations.
Auditing the use of privileged functions is one way to detect such misuse and identify
the risk from insider and advanced persistent threast.
|
Ensure auditd Collects Information on Exporting to Media (successful)
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_media_export |
Result | pass |
Time | 2016-07-11T14:22:40 |
Severity | medium |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-3(1), AU-12(a), AU-12(c), IR-5, 135, 2884, SRG-OS-000042-GPOS-00020, SRG-OS-000392-GPOS-00172, RHEL-07-030530, Req-10.2.7, 5.2.13, Test attestation on 20121024 by DS |
Description | At a minimum the audit system should collect media exportation
events for all users and root. If the -a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=4294967295 -k exportIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as
appropriate for your system:
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=4294967295 -k export |
Rationale | The unauthorized exportation of data to external media could result in an information leak where classified information, Privacy Act information, and intellectual property could be lost. An audit trail should be created each time a filesystem is mounted to help identify and guard against information loss. |
Ensure auditd Collects File Deletion Events by User
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_file_deletion_events |
Result | pass |
Time | 2016-07-11T14:22:40 |
Severity | medium |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, 366, SRG-OS-000480-GPOS-00227, RHEL-07-030750, Req-10.2.7, 5.2.14 |
Description | At a minimum the audit system should collect file deletion events
for all users and root. If the -a always,exit -F arch=ARCH -S rmdir -S unlink -S unlinkat -S rename -S renameat -F auid>=1000 -F auid!=4294967295 -k deleteIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as
appropriate for your system:
-a always,exit -F arch=ARCH -S rmdir -S unlink -S unlinkat -S rename -S renameat -F auid>=1000 -F auid!=4294967295 -k delete |
Rationale | Auditing file deletions will create an audit trail for files that are removed from the system. The audit trail could aid in system troubleshooting, as well as, detecting malicious processes that attempt to delete log files to conceal their presence. |
Ensure auditd Collects System Administrator Actions
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_sysadmin_actions |
Result | pass |
Time | 2016-07-11T14:22:40 |
Severity | low |
Identifiers and References | identifiers: references: AC-2(7)(b), AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, 126, Req-10.2.2, Req-10.2.5.b, Test attestation on 20121024 by DS |
Description | At a minimum the audit system should collect administrator actions
for all users and root. If the -w /etc/sudoers -p wa -k actionsIf the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file:
-w /etc/sudoers -p wa -k actions |
Rationale | The actions taken by system administrators should be audited to keep a record of what was executed on the system, as well as, for accountability purposes. |
Ensure auditd Collects Information on Kernel Module Loading and Unloading
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_kernel_module_loading |
Result | pass |
Time | 2016-07-11T14:22:40 |
Severity | medium |
Identifiers and References | identifiers: references: AC-17(7), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-12(a), AU-12(c), IR-5, 172, SRG-OS-000471-GPOS-00216, SRG-OS-000477, GPOS-00222, RHEL-07-030670, Req-10.2.7, 5.2.17 |
Description | If the -w /usr/sbin/insmod -p x -k modules -w /usr/sbin/rmmod -p x -k modules -w /usr/sbin/modprobe -p x -k modules -a always,exit -F arch=ARCH -S init_module -S delete_module -k modulesIf the auditd daemon is configured to use the auditctl utility to read audit
rules during daemon startup, add the following lines to /etc/audit/audit.rules file
in order to capture kernel module loading and unloading events, setting ARCH to either b32 or
b64 as appropriate for your system:
-w /usr/sbin/insmod -p x -k modules -w /usr/sbin/rmmod -p x -k modules -w /usr/sbin/modprobe -p x -k modules -a always,exit -F arch=ARCH -S init_module -S delete_module -k modules |
Rationale | The addition/removal of kernel modules can be used to alter the behavior of the kernel and potentially introduce malicious code into kernel space. It is important to have an audit trail of modules that have been introduced into the kernel. |
Make the auditd Configuration Immutable
Rule ID | xccdf_org.ssgproject.content_rule_audit_rules_immutable |
Result | pass |
Time | 2016-07-11T14:22:41 |
Severity | low |
Identifiers and References | identifiers: references: AC-6, AU-1(b), AU-2(a), AU-2(c), AU-2(d), IR-5, Req-10.5.2, 5.2.18 |
Description | If the -e 2If the auditd daemon is configured to use the auditctl
utility to read audit rules during daemon startup, add the following line to
/etc/audit/audit.rules file in order to make the auditd configuration
immutable:
-e 2With this setting, a reboot will be required to change any audit rules. |
Rationale | Making the audit configuration immutable prevents accidental as well as malicious modification of the audit rules, although it may be problematic if legitimate changes are needed during system operation |
Enable auditd Service
Rule ID | xccdf_org.ssgproject.content_rule_service_auditd_enabled |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: references: AU-3, AC-17(1), AU-1(b), AU-10, AU-12(a), AU-12(c), AU-14(1), IR-5, 126, 131, SRG-OS-000038-GPOS-00016, SRG-OS-000039-GPOS-00017, SRG-OS-000042-GPOS-00021, SRG-OS-000254-GPOS-00095, SRG-OS-000255-GPOS-00096, RHEL-07-030010, Req-10, 5.2.2, Test attestation on 20121024 by DS |
Description | The $ sudo systemctl enable auditd.service |
Rationale | Without establishing what type of events occurred, it would be difficult
to establish, correlate, and investigate the events leading up to an outage or attack.
|
Enable Auditing for Processes Which Start Prior to the Audit Daemon
Rule ID | xccdf_org.ssgproject.content_rule_bootloader_audit_argument |
Result | pass |
Time | 2016-07-11T14:22:09 |
Severity | medium |
Identifiers and References | identifiers: references: AC-17(1), AU-14(1), AU-1(b), AU-2(a), AU-2(c), AU-2(d), AU-10, IR-5, 1464, 130, Req-10.3, 5.2.3 |
Description | To ensure all processes can be audited, even those which start
prior to the audit daemon, add the argument GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=VolGroup/LogVol06 rd.lvm.lv=VolGroup/lv_swap rhgb quiet rd.shell=0 audit=1" |
Rationale |
Each process on the system carries an "auditable" flag which indicates whether
its activities can be audited. Although |
Warnings | warning
The GRUB 2 configuration file, grub.cfg ,
is automatically updated each time a new kernel is installed. Note that any
changes to /etc/default/grub require rebuilding the grub.cfg
file. To update the GRUB 2 configuration file manually, use the
grub2-mkconfig -ocommand as follows:
|
Disable xinetd Service
Rule ID | xccdf_org.ssgproject.content_rule_service_xinetd_disabled |
Result | pass |
Time | 2016-07-11T14:22:41 |
Severity | medium |
Identifiers and References | identifiers: references: AC-17(8), CM-7, 305, Test attestation on 20121026 by DS |
Description |
The $ sudo systemctl disable xinetd.service |
Rationale | The xinetd service provides a dedicated listener service for some programs, which is no longer necessary for commonly-used network services. Disabling it ensures that these uncommon services are not running, and also prevents attacks against xinetd itself. |
Uninstall xinetd Package
Rule ID | xccdf_org.ssgproject.content_rule_package_xinetd_removed |
Result | pass |
Time | 2016-07-11T14:22:41 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(8), CM-7, 305, 2.1.11, Test attestation on 20121026 by DS |
Description | The $ sudo yum erase xinetd |
Rationale |
Removing the |
Install tcp_wrappers Package
Rule ID | xccdf_org.ssgproject.content_rule_package_tcp_wrappers_installed |
Result | notselected |
Time | 2016-07-11T14:22:41 |
Severity | medium |
Identifiers and References | identifiers: references: CM-6(b), 366, SRG-OS-000480-GPOS-00227, RHEL-07-TBD |
Description |
When network services are using the $ sudo yum install tcp_wrappers |
Rationale | Access control methods provide the ability to enhance system security posture by restricting services and known good IP addresses and address ranges. This prevents connections from unknown hosts and protocols. |
Disable telnet Service
Rule ID | xccdf_org.ssgproject.content_rule_service_telnet_disabled |
Result | pass |
Time | 2016-07-11T14:22:41 |
Severity | high |
Identifiers and References | identifiers: references: AC-17(8), CM-7, IA-5(1)(c), http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20140922 by JL |
Description |
The # description: The telnet server serves telnet sessions; it uses \\ # unencrypted username/password pairs for authentication. service telnet { flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID disable = yes }If the /etc/xinetd.d/telnet file does not exist, make sure that
the activation of the telnet service on system boot is disabled
via the following command:
The rexec socket can be disabled with the following command:
$ sudo systemctl disable rexec.socket |
Rationale | The telnet protocol uses unencrypted network communication, which means that data from the login session, including passwords and all other information transmitted during the session, can be stolen by eavesdroppers on the network. The telnet protocol is also subject to man-in-the-middle attacks. |
Uninstall telnet-server Package
Rule ID | xccdf_org.ssgproject.content_rule_package_telnet-server_removed |
Result | pass |
Time | 2016-07-11T14:22:41 |
Severity | high |
Identifiers and References | identifiers: references: AC-17(8), CM-7(a), 381, SRG-OS-000095-GPOS-00049, RHEL-07-021910, 2.1.1, Test attestation on 20121026 by DS |
Description | The $ sudo yum erase telnet-server |
Rationale |
It is detrimental for operating systems to provide, or install by default, functionality exceeding
requirements or mission objectives. These unnecessary capabilities are often overlooked and therefore
may remain unsecure. They increase the risk to the platform by providing additional attack vectors.
|
Remove telnet Clients
Rule ID | xccdf_org.ssgproject.content_rule_package_telnet_removed |
Result | pass |
Time | 2016-07-11T14:22:41 |
Severity | low |
Identifiers and References | identifiers: references: 2.1.2 |
Description | The telnet client allows users to start connections to other systems via the telnet protocol. |
Rationale | The |
Uninstall rsh-server Package
Rule ID | xccdf_org.ssgproject.content_rule_package_rsh-server_removed |
Result | pass |
Time | 2016-07-11T14:22:41 |
Severity | high |
Identifiers and References | identifiers: references: AC-17(8), CM-7(a), 381, SRG-OS-000095-GPOS-00049, RHEL-07-020000, 2.1.3, Test attestation on 20121026 by DS |
Description | The $ sudo yum erase rsh-server |
Rationale | The |
Disable rexec Service
Rule ID | xccdf_org.ssgproject.content_rule_service_rexec_disabled |
Result | pass |
Time | 2016-07-11T14:22:41 |
Severity | high |
Identifiers and References | identifiers: references: AC-17(8), CM-7, 68, 1436, Test attestation on 20121026 by DS |
Description | The $ sudo systemctl disable rexec.socket |
Rationale | The rexec service uses unencrypted network communications, which means that data from the login session, including passwords and all other information transmitted during the session, can be stolen by eavesdroppers on the network. |
Disable rsh Service
Rule ID | xccdf_org.ssgproject.content_rule_service_rsh_disabled |
Result | pass |
Time | 2016-07-11T14:22:41 |
Severity | high |
Identifiers and References | identifiers: references: AC-17(8), CM-7, IA-5(1)(c), 68, 1436, Test attestation on 20121026 by DS |
Description | The $ sudo systemctl disable rsh.socket |
Rationale | The rsh service uses unencrypted network communications, which means that data from the login session, including passwords and all other information transmitted during the session, can be stolen by eavesdroppers on the network. |
Uninstall rsh Package
Rule ID | xccdf_org.ssgproject.content_rule_package_rsh_removed |
Result | pass |
Time | 2016-07-11T14:22:41 |
Severity | low |
Identifiers and References | identifiers: references: 2.1.4, Test attestation on 20140530 by JL |
Description | The |
Rationale | These legacy clients contain numerous security exposures and have
been replaced with the more secure SSH package. Even if the server is removed,
it is best to ensure the clients are also removed to prevent users from
inadvertently attempting to use these commands and therefore exposing
their credentials. Note that removing the |
Disable rlogin Service
Rule ID | xccdf_org.ssgproject.content_rule_service_rlogin_disabled |
Result | pass |
Time | 2016-07-11T14:22:41 |
Severity | high |
Identifiers and References | identifiers: references: AC-17(8), CM-7, IA-5(1)(c), 1436, Test attestation on 20121026 by DS |
Description | The $ sudo systemctl disable rlogin.socket |
Rationale | The rlogin service uses unencrypted network communications, which means that data from the login session, including passwords and all other information transmitted during the session, can be stolen by eavesdroppers on the network. |
Remove Rsh Trust Files
Rule ID | xccdf_org.ssgproject.content_rule_no_rsh_trust_files |
Result | pass |
Time | 2016-07-11T14:22:41 |
Severity | high |
Identifiers and References | identifiers: references: AC-17(8), CM-7, 1436, Test attestation on 20121026 by DS |
Description | The files $ sudo rm /etc/hosts.equiv $ rm ~/.rhosts |
Rationale | Trust files are convenient, but when used in conjunction with the R-services, they can allow unauthenticated access to a system. |
Uninstall ypserv Package
Rule ID | xccdf_org.ssgproject.content_rule_package_ypserv_removed |
Result | pass |
Time | 2016-07-11T14:22:41 |
Severity | high |
Identifiers and References | identifiers: references: AC-17(8), CM-7(a), 381, SRG-OS-000095-GPOS-00049, RHEL-07-020010, 2.1.6, Test attestation on 20121026 by DS |
Description | The $ sudo yum erase ypserv |
Rationale | The NIS service provides an unencrypted authentication service which does not
provide for the confidentiality and integrity of user passwords or the remote session.
Removing the |
Disable ypbind Service
Rule ID | xccdf_org.ssgproject.content_rule_service_ypbind_disabled |
Result | pass |
Time | 2016-07-11T14:22:41 |
Severity | medium |
Identifiers and References | identifiers: references: AC-17(8), CM-7, 305, Test attestation on 20121026 by DS |
Description | The $ sudo systemctl disable ypbind.service |
Rationale |
Disabling the |
Remove NIS Client
Rule ID | xccdf_org.ssgproject.content_rule_package_ypbind_removed |
Result | pass |
Time | 2016-07-11T14:22:41 |
Severity | low |
Identifiers and References | identifiers: references: 2.1.5 |
Description | The Network Information Service (NIS), formerly known as Yellow Pages,
is a client-server directory service protocol used to distribute system configuration
files. The NIS client ( |
Rationale | The NIS service is inherently an insecure system that has been vulnerable to DOS attacks, buffer overflows and has poor authentication for querying NIS maps. NIS generally has been replaced by such protocols as Lightweight Directory Access Protocol (LDAP). It is recommended that the service be removed. |
Disable tftp Service
Rule ID | xccdf_org.ssgproject.content_rule_service_tftp_disabled |
Result | pass |
Time | 2016-07-11T14:22:41 |
Severity | medium |
Identifiers and References | identifiers: references: AC-17(8), CM-7, 1436, Test attestation on 20121026 by DS |
Description | The $ sudo systemctl disable tftp.service |
Rationale |
Disabling the |
Uninstall tftp-server Package
Rule ID | xccdf_org.ssgproject.content_rule_package_tftp-server_removed |
Result | pass |
Time | 2016-07-11T14:22:41 |
Severity | high |
Identifiers and References | identifiers: references: AC-17(8), CM-6(c), CM-7, 318, 368, 1812, 1813, 1814, SRG-OS-000480-GPOS-00227, RHEL-07-040500, 2.1.8, Test attestation on 20121026 by DS |
Description |
The $ sudo yum erase tftp-server |
Rationale |
Removing the |
Remove tftp Daemon
Rule ID | xccdf_org.ssgproject.content_rule_package_tftp_removed |
Result | pass |
Time | 2016-07-11T14:22:41 |
Severity | high |
Identifiers and References | identifiers: references: 2.1.7 |
Description | Trivial File Transfer Protocol (TFTP) is a simple file transfer protocol,
typically used to automatically transfer configuration or boot files between machines.
TFTP does not support authentication and can be easily hacked. The package
|
Rationale | It is recommended that TFTP be removed, unless there is a specific need for TFTP (such as a boot server). In that case, use extreme caution when configuring the services. |
Ensure tftp Daemon Uses Secure Mode
Rule ID | xccdf_org.ssgproject.content_rule_tftpd_uses_secure_mode |
Result | notselected |
Time | 2016-07-11T14:22:41 |
Severity | high |
Identifiers and References | identifiers: |
Description | If running the server_args = -s /var/lib/tftpboot |
Rationale | Using the |
Uninstall talk-server Package
Rule ID | xccdf_org.ssgproject.content_rule_package_talk-server_removed |
Result | pass |
Time | 2016-07-11T14:22:41 |
Severity | medium |
Identifiers and References | identifiers: references: 2.1.10, Test attestation on 20140625 by JL |
Description |
The $ sudo yum erase talk-server |
Rationale |
The talk software presents a security risk as it uses unencrypted protocols
for communications. Removing the |
Uninstall talk Package
Rule ID | xccdf_org.ssgproject.content_rule_package_talk_removed |
Result | pass |
Time | 2016-07-11T14:22:41 |
Severity | low |
Identifiers and References | identifiers: references: 2.1.9, Test attestation on 20140625 by JL |
Description | The $ sudo yum erase talk |
Rationale |
The talk software presents a security risk as it uses unencrypted protocols
for communications. Removing the |
Disable Automatic Bug Reporting Tool (abrtd)
Rule ID | xccdf_org.ssgproject.content_rule_service_abrtd_disabled |
Result | pass |
Time | 2016-07-11T14:22:41 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(8), CM-7, http://iase.disa.mil/stigs/cci/Pages/index.aspx, Test attestation on 20140921 by JL |
Description | The Automatic Bug Reporting Tool ( $ sudo systemctl disable abrtd.service |
Rationale | Mishandling crash data could expose sensitive information about vulnerabilities in software executing on the local machine, as well as sensitive information from within a process's address space or registers. |
Disable Advanced Configuration and Power Interface (acpid)
Rule ID | xccdf_org.ssgproject.content_rule_service_acpid_disabled |
Result | pass |
Time | 2016-07-11T14:22:41 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description | The Advanced Configuration and Power Interface Daemon ( $ sudo systemctl disable acpid.service |
Rationale | ACPI support is highly desirable for systems in some network roles, such as laptops or desktops. For other systems, such as servers, it may permit accidental or trivially achievable denial of service situations and disabling it is appropriate. |
Disable Certmonger Service (certmonger)
Rule ID | xccdf_org.ssgproject.content_rule_service_certmonger_disabled |
Result | pass |
Time | 2016-07-11T14:22:42 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description | Certmonger is a D-Bus based service that attempts to simplify interaction
with certifying authorities on networks which use public-key infrastructure. It is often
combined with Red Hat's IPA (Identity Policy Audit) security information management
solution to aid in the management of certificates.
The $ sudo systemctl disable certmonger.service |
Rationale | The services provided by certmonger may be essential for systems fulfilling some roles a PKI infrastructure, but its functionality is not necessary for many other use cases. |
Disable Control Group Config (cgconfig)
Rule ID | xccdf_org.ssgproject.content_rule_service_cgconfig_disabled |
Result | pass |
Time | 2016-07-11T14:22:42 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description | Control groups allow an administrator to allocate system resources (such as CPU,
memory, network bandwidth, etc) among a defined group (or groups) of processes executing on
a system. The $ sudo systemctl disable cgconfig.service |
Rationale | Unless control groups are used to manage system resources, running the cgconfig service is not necessary. |
Disable Control Group Rules Engine (cgred)
Rule ID | xccdf_org.ssgproject.content_rule_service_cgred_disabled |
Result | pass |
Time | 2016-07-11T14:22:42 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description | The $ sudo systemctl disable cgred.service |
Rationale | Unless control groups are used to manage system resources, running the cgred service service is not necessary. |
Disable CPU Speed (cpupower)
Rule ID | xccdf_org.ssgproject.content_rule_service_cpupower_disabled |
Result | notselected |
Time | 2016-07-11T14:22:42 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description | The $ sudo systemctl disable cpupower.service |
Rationale | The |
Enable IRQ Balance (irqbalance)
Rule ID | xccdf_org.ssgproject.content_rule_service_irqbalance_enabled |
Result | pass |
Time | 2016-07-11T14:22:42 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description | The $ sudo systemctl enable irqbalance.service |
Rationale | In an environment with multiple processors (now common), the irqbalance service provides potential speedups for handling interrupt requests. |
Disable KDump Kernel Crash Analyzer (kdump)
Rule ID | xccdf_org.ssgproject.content_rule_service_kdump_disabled |
Result | pass |
Time | 2016-07-11T14:22:42 |
Severity | medium |
Identifiers and References | identifiers: references: AC-17(8), CM-7, CM-6(b), 366, SRG-OS-000480-GPOS-00227, RHEL-07-021230 |
Description | The $ sudo systemctl disable kdump.service |
Rationale | Kernel core dumps may contain the full contents of system memory at the time of the crash. Kernel core dumps consume a considerable amount of disk space and may result in denial of service by exhausting the available space on the target file system partition. Unless the system is used for kernel development or testing, there is little need to run the kdump service. |
Disable Software RAID Monitor (mdmonitor)
Rule ID | xccdf_org.ssgproject.content_rule_service_mdmonitor_disabled |
Result | pass |
Time | 2016-07-11T14:22:42 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description | The $ sudo systemctl disable mdmonitor.service |
Rationale | If software RAID monitoring is not required, there is no need to run this service. |
Disable Network Console (netconsole)
Rule ID | xccdf_org.ssgproject.content_rule_service_netconsole_disabled |
Result | pass |
Time | 2016-07-11T14:22:42 |
Severity | low |
Identifiers and References | identifiers: |
Description | The $ sudo systemctl disable netconsole.service |
Rationale | The |
Disable ntpdate Service (ntpdate)
Rule ID | xccdf_org.ssgproject.content_rule_service_ntpdate_disabled |
Result | pass |
Time | 2016-07-11T14:22:42 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(8), CM-7, 382, Test attestation on 20121024 by DS |
Description | The $ sudo systemctl disable ntpdate.service |
Rationale | The |
Disable Odd Job Daemon (oddjobd)
Rule ID | xccdf_org.ssgproject.content_rule_service_oddjobd_disabled |
Result | pass |
Time | 2016-07-11T14:22:42 |
Severity | low |
Identifiers and References | identifiers: references: CM-7, 381, Test attestation on 20121024 by DS |
Description | The $ sudo systemctl disable oddjobd.service |
Rationale | The |
Disable Portreserve (portreserve)
Rule ID | xccdf_org.ssgproject.content_rule_service_portreserve_disabled |
Result | pass |
Time | 2016-07-11T14:22:42 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(8), CM-7, Test attestation on 20121024 by DS |
Description | The $ sudo systemctl disable portreserve.service |
Rationale | The |
Enable Process Accounting (psacct)
Rule ID | xccdf_org.ssgproject.content_rule_service_psacct_enabled |
Result | error |
Time | 2016-07-11T14:24:57 |
Severity | low |
Identifiers and References | identifiers: references: AU-12, CM-7, Test attestation on 20121024 by DS |
Description | The process accounting service, $ sudo systemctl enable psacct.service |
Rationale | The |
Remediation script:
|
Disable Apache Qpid (qpidd)
Rule ID | xccdf_org.ssgproject.content_rule_service_qpidd_disabled |
Result | pass |
Time | 2016-07-11T14:22:42 |
Severity | low |
Identifiers and References | identifiers: |
Description | The $ sudo systemctl disable qpidd.service |
Rationale | The qpidd service is automatically installed when the "base"
package selection is selected during installation. The qpidd service listens
for network connections, which increases the attack surface of the system. If
the system is not intended to receive AMQP traffic, then the |
Disable Quota Netlink (quota_nld)
Rule ID | xccdf_org.ssgproject.content_rule_service_quota_nld_disabled |
Result | pass |
Time | 2016-07-11T14:22:43 |
Severity | low |
Identifiers and References | identifiers: references: CM-7, Test attestation on 20121024 by DS |
Description | The $ sudo systemctl disable quota_nld.service |
Rationale | If disk quotas are enforced on the local system, then the
|
Disable Network Router Discovery Daemon (rdisc)
Rule ID | xccdf_org.ssgproject.content_rule_service_rdisc_disabled |
Result | pass |
Time | 2016-07-11T14:22:43 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(8), AC-4, CM-7, 382, Test attestation on 20121024 by DS |
Description | The $ sudo systemctl disable rdisc.service |
Rationale | General-purpose systems typically have their network and routing information configured statically by a system administrator. Workstations or some special-purpose systems often use DHCP (instead of IRDP) to retrieve dynamic network configuration information. |
Disable Red Hat Network Service (rhnsd)
Rule ID | xccdf_org.ssgproject.content_rule_service_rhnsd_disabled |
Result | pass |
Time | 2016-07-11T14:22:43 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(8), CM-7, 382, 1.2.4, Test attestation on 20121024 by DS |
Description | The Red Hat Network service automatically queries Red Hat Network
servers to determine whether there are any actions that should be executed,
such as package updates. This only occurs if the system was registered to an
RHN server or satellite and managed as such.
The $ sudo systemctl disable rhnsd.service |
Rationale | Although systems management and patching is extremely important to
system security, management by a system outside the enterprise enclave is not
desirable for some environments. However, if the system is being managed by RHN or
RHN Satellite Server the |
Disable Red Hat Subscription Manager Daemon (rhsmcertd)
Rule ID | xccdf_org.ssgproject.content_rule_service_rhsmcertd_disabled |
Result | pass |
Time | 2016-07-11T14:22:43 |
Severity | low |
Identifiers and References | identifiers: references: CM-7, Test attestation on 20121024 by DS |
Description | The Red Hat Subscription Manager (rhsmcertd) periodically checks for
changes in the entitlement certificates for a registered system and updates it
accordingly.
The $ sudo systemctl disable rhsmcertd.service |
Rationale | The |
Disable Cyrus SASL Authentication Daemon (saslauthd)
Rule ID | xccdf_org.ssgproject.content_rule_service_saslauthd_disabled |
Result | pass |
Time | 2016-07-11T14:22:43 |
Severity | low |
Identifiers and References | identifiers: references: AC-17(8), CM-7, Test attestation on 20121024 by DS |
Description | The $ sudo systemctl disable saslauthd.service |
Rationale | The |
Disable SMART Disk Monitoring Service (smartd)
Rule ID | xccdf_org.ssgproject.content_rule_service_smartd_disabled |
Result | pass |
Time | 2016-07-11T14:22:43 |
Severity | low |
Identifiers and References | identifiers: references: CM-7, Test attestation on 20121024 by DS |
Description | SMART (Self-Monitoring, Analysis, and Reporting Technology) is a
feature of hard drives that allows them to detect symptoms of disk failure and
relay an appropriate warning.
The $ sudo systemctl disable smartd.service |
Rationale | SMART can help protect against denial of service due to failing hardware. Nevertheless, if it is not needed or the system's drives are not SMART-capable (such as solid state drives), it can be disabled. |
Disable System Statistics Reset Service (sysstat)
Rule ID | xccdf_org.ssgproject.content_rule_service_sysstat_disabled |
Result | pass |
Time | 2016-07-11T14:22:43 |
Severity | low |
Identifiers and References | identifiers: references: CM-7, Test attestation on 20121024 by DS |
Description | The $ sudo systemctl disable sysstat.service |
Rationale | By default the |
Enable cron Service
Rule ID | xccdf_org.ssgproject.content_rule_service_crond_enabled |
Result | pass |
Time | 2016-07-11T14:22:43 |
Severity | medium |
Identifiers and References | identifiers: references: CM-7, 6.1.2, Test attestation on 20121024 by DS |
Description | The $ sudo systemctl enable crond.service |
Rationale | Due to its usage for maintenance and security-supporting tasks, enabling the cron daemon is essential. |
Disable anacron Service
Rule ID | xccdf_org.ssgproject.content_rule_disable_anacron |
Result | notchecked |
Time | 2016-07-11T14:22:43 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description | The $ sudo yum erase cronie-anacron |
Rationale |
The |
Disable At Service (atd)
Rule ID | xccdf_org.ssgproject.content_rule_service_atd_disabled |
Result | pass |
Time | 2016-07-11T14:22:43 |
Severity | low |
Identifiers and References | identifiers: |
Description | The $ sudo systemctl disable atd.service |
Rationale |
The |
Allow Only SSH Protocol 2
Rule ID | xccdf_org.ssgproject.content_rule_sshd_allow_only_protocol2 |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | high |
Identifiers and References | identifiers: references: AC-17(8).1(ii), IA-5(1)(c), 197, 366, 6.2.1, SRG-OS-000074-GPOS-00042, SRG-OS-000480-GPOS-00227, RHEL-07-040590, Test attestation on 20121024 by DS |
Description | Only SSH protocol version 2 connections should be
permitted. The default setting in
Protocol 2 |
Rationale | SSH protocol version 1 is an insecure implementation of the SSH protocol and has many well-known vulnerability exploits. Exploits of the SSH daemon could provide immediate root access to the system. |
Limit Users' SSH Access
Rule ID | xccdf_org.ssgproject.content_rule_sshd_limit_user_access |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: AC-3 |
Description | By default, the SSH configuration allows any user with an account
to access the system. In order to specify the users that are allowed to login
via SSH and deny all other users, add or correct the following line in the
DenyUsers USER1 USER2Where USER1 and USER2 are valid user names.
|
Rationale | Specifying which accounts are allowed SSH access into the system reduces the possibility of unauthorized access to the system. |
Disable GSSAPI Authentication
Rule ID | xccdf_org.ssgproject.content_rule_sshd_disable_gssapi_auth |
Result | fail |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: CM-6(c), 368, 318, 1812, 1813, 1814, SRG-OS-000364-GPOS-00151, RHEL-07-040660 |
Description | Unless needed, SSH should not permit extraneous or unnecessary
authentication mechanisms like GSSAPI. To disable GSSAPI authentication, add or
correct the following line in the GSSAPIAuthentication no |
Rationale | GSSAPI authentication is used to provide additional authentication mechanisms to applications. Allowing GSSAPI authentication through SSH exposes the system's GSSAPI to remote hosts, increasing the attack surface of the system. |
Disable Kerberos Authentication
Rule ID | xccdf_org.ssgproject.content_rule_sshd_disable_kerb_auth |
Result | fail |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: CM-6(c), 368, 318, 1812, 1813, 1814, SRG-OS-000364-GPOS-00151, RHEL-07-040670 |
Description | Unless needed, SSH should not permit extraneous or unnecessary
authentication mechanisms like Kerberos. To disable Kerberos authentication, add
or correct the following line in the KerberosAuthentication no |
Rationale | Kerberos authentication for SSH is often implemented using GSSAPI. If Kerberos is enabled through SSH, the SSH daemon provides a means of access to the system's Kerberos implementation. Vulnerabilities in the system's Kerberos implementations may be subject to exploitation. |
Enable Use of StictModes
Rule ID | xccdf_org.ssgproject.content_rule_sshd_enable_strictmodes |
Result | fail |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: AC-6, 366, SRG-OS-000480-GPOS-00227, RHEL-07-040680 |
Description | SSHs StrictModes option checks file and ownership permissions in
the user's home directory StrictModes yes |
Rationale | If other users have access to modify user-specific SSH configuration files, they may be able to log into the system as another user. |
Enable Use of Privilege Separation
Rule ID | xccdf_org.ssgproject.content_rule_sshd_use_priv_separation |
Result | fail |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: AC-6, 366, SRG-OS-000480-GPOS-00227, RHEL-07-040690 |
Description | When enabled, SSH will create an unprivileged child process that
has the privilege of the authenticated user. To enable privilege separation in
SSH, add or correct the following line in the UsePrivilegeSeparation yes |
Rationale | SSH daemon privilege separation causes the SSH process to drop root privileges when not needed which would decrease the impact of software vulnerabilities in the unprivileged section. |
Disable Compression Or Set Compression to delayed
Rule ID | xccdf_org.ssgproject.content_rule_sshd_disable_compression |
Result | fail |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: CM-6(b), 366, SRG-OS-000480-GPOS-00227, RHEL-07-040700 |
Description | Compression is useful for slow network connections over long
distances but can cause performance issues on local LANs. If use of compression
is required, it should be enabled only after a user has authenticated; otherwise
, it should be disabled. To disable compression or delay compression until after
a user has successfully authenticated, add or correct the following line in the
Compression noor Compression delayed |
Rationale | If compression is allowed in an SSH connection prior to authentication, vulnerabilities in the compression software could result in compromise of the system from an unauthenticated connection, potentially wih root privileges. |
Print Last Log
Rule ID | xccdf_org.ssgproject.content_rule_sshd_print_last_log |
Result | fail |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: AC-9, 366, SRG-OS-000480-GPOS-00227, RHEL-07-040300 |
Description | When enabled, SSH will display the date and time of the last
successful account logon. To enable LastLog in
SSH, add or correct the following line in the PrintLastLog yes |
Rationale | Providing users feedback on when account accesses last occurred facilitates user recognition and reporting of unauthorized account use. |
Set SSH Idle Timeout Interval
Rule ID | xccdf_org.ssgproject.content_rule_sshd_set_idle_timeout |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: AC-2(5), SA-8(i), AC-12, 1133, 2361, SRG-OS-000163-GPOS-00072, SRG-OS-000279-GPOS-00109, RHEL-07-040190, Req-8.1.8, 6.2.12, Test attestation on 20121024 by DS |
Description | SSH allows administrators to set an idle timeout
interval.
After this interval has passed, the idle user will be
automatically logged out.
ClientAliveInterval intervalThe timeout interval is given in seconds. To have a timeout of 10 minutes, set interval to 600. If a shorter timeout has already been set for the login shell, that value will preempt any SSH setting made here. Keep in mind that some processes may stop SSH from correctly detecting that the user is idle. |
Rationale | Terminating an idle ssh session within a short time period reduces the window of opportunity for unauthorized personnel to take control of a management session enabled on the console or console port that has been let unattended. |
Set SSH Client Alive Count
Rule ID | xccdf_org.ssgproject.content_rule_sshd_set_keepalive |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: AC-2(5), SA-8, AC-12, 1133, 2361, SRG-OS-000163-GPOS-00072, SRG-OS-000279-GPOS-00109, RHEL-07-TBD, 6.2.12, Test attestation on 20121024 by DS |
Description | To ensure the SSH idle timeout occurs precisely when the ClientAliveCountMax 0 |
Rationale |
This ensures a user login will be terminated as soon as the |
Disable SSH Support for .rhosts Files
Rule ID | xccdf_org.ssgproject.content_rule_sshd_disable_rhosts |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: AC-3, http://iase.disa.mil/stigs/cci/Pages/index.aspx, 6.2.6 |
Description | SSH can emulate the behavior of the obsolete rsh
command in allowing users to enable insecure access to their
accounts via IgnoreRhosts yes |
Rationale | SSH trust relationships mean a compromise on one host can allow an attacker to move trivially to other hosts. |
Disable Host-Based Authentication
Rule ID | xccdf_org.ssgproject.content_rule_disable_host_auth |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: AC-3, CM-6(b), 366, SRG-OS-000480-GPOS-00229, RHEL-07-010442, 6.2.7, Test attestation on 20121024 by DS |
Description | SSH's cryptographic host-based authentication is
more secure than HostbasedAuthentication no |
Rationale | SSH trust relationships mean a compromise on one host can allow an attacker to move trivially to other hosts. |
Enable Encrypted X11 Fordwarding
Rule ID | xccdf_org.ssgproject.content_rule_enable_x11_forwarding |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | high |
Identifiers and References | identifiers: references: CM-2(1)(b), 366, SRG-OS-000480-GPOS-00227, RHEL-07-040540 |
Description | By default, remote X11 connections are not encrypted when initiated
by users. SSH has the capability to encrypt remote X11 connections when SSH's
X11Forwarding yes |
Rationale | Open X displays allow an attacker to capture keystrokes and to execute commands remotely. |
Disable SSH Root Login
Rule ID | xccdf_org.ssgproject.content_rule_sshd_disable_root_login |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: AC-3, AC-6(2), IA-2(1), IA-2(5), 366, SRG-OS-000480-GPOS-00227, RHEL-07-040310, 6.2.8, Test attestation on 20121024 by DS |
Description | The root user should never be allowed to login to a
system directly over a network.
To disable root login via SSH, add or correct the following line
in PermitRootLogin no |
Rationale | Even though the communications channel may be encrypted, an additional layer of security is gained by extending the policy of not logging directly on as root. In addition, logging in with a user-specific account provides individual accountability of actions performed on the system and also helps to minimize direct attack attempts on root's password. |
Disable SSH Access via Empty Passwords
Rule ID | xccdf_org.ssgproject.content_rule_sshd_disable_empty_passwords |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | high |
Identifiers and References | identifiers: references: AC-3, CM-6(b), 366, SRG-OS-000480-GPOS-00229, RHEL-07-010440, Test attestation on 20121024 by DS |
Description | To explicitly disallow SSH login from accounts with
empty passwords, add or correct the following line in PermitEmptyPasswords no Any accounts with empty passwords should be disabled immediately, and PAM configuration should prevent users from being able to assign themselves empty passwords. |
Rationale | Configuring this setting for the SSH daemon provides additional assurance that remote login via SSH will require a password, even in the event of misconfiguration elsewhere. |
Do Not Allow SSH Environment Options
Rule ID | xccdf_org.ssgproject.content_rule_sshd_do_not_permit_user_env |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: CM-6(b), 366, SRG-OS-000480-GPOS-00229, RHEL-07-010441, 6.2.10, Test attestation on 20121024 by DS |
Description | To ensure users are not able to override environment
options to the SSH daemon, add or correct the following line
in PermitUserEnvironment no |
Rationale | SSH environment options potentially allow users to bypass access restriction in some configurations. |
Use Only Approved Ciphers
Rule ID | xccdf_org.ssgproject.content_rule_sshd_use_approved_ciphers |
Result | error |
Time | 2016-07-11T14:24:57 |
Severity | medium |
Identifiers and References | identifiers: references: AC-3, AC-17(2), AU-10(5), CM-6(b), IA-5(1)(c), IA-7, 68, 366, 803, SRG-OS-000033-GPOS-00014, SRG-OS-000120-GPOS-00061, SRG-OS-000125-GPOS-00065, SRG-OS-000250-GPOS-00093, SRG-OS-000393-GPOS-00173, RHEL-07-040110, 6.2.11, Test attestation on 20121024 by DS |
Description | Limit the ciphers to those algorithms which are FIPS-approved.
Counter (CTR) mode is also preferred over cipher-block chaining (CBC) mode.
The following line in Ciphers aes128-ctr,aes192-ctr,aes256-ctrThe man page sshd_config(5) contains a list of supported ciphers.
|
Rationale |
Unapproved mechanisms that are used for authentication to the cryptographic module are not verified and therefore
cannot be relied upon to provide confidentiality or integrity, and system data may be compromised.
|
Remediation script:
|
Use Only FIPS Approved MACs
Rule ID | xccdf_org.ssgproject.content_rule_sshd_use_approved_macs |
Result | error |
Time | 2016-07-11T14:24:57 |
Severity | medium |
Identifiers and References | identifiers: references: AC-17(2), IA-7, SC-13, 68, 803, 1453, 2449, 2450, SRG-OS-000250-GPOS-00093, RHEL-07-040620 |
Description | Limit the MACs to those hash algorithms which are FIPS-approved.
The following line in MACs hmac-sha2-512,hmac-sha2-256The man page sshd_config(5) contains a list of supported MACs.
|
Rationale | DoD Information Systems are required to use FIPS-approved cryptographic hash functions. The only SSHv2 hash algorithms meeting this requirement is SHA2. |
Remediation script:
|
Install the OpenSSH Server Package
Rule ID | xccdf_org.ssgproject.content_rule_package_openssh-server_installed |
Result | pass |
Time | 2016-07-11T14:22:43 |
Severity | medium |
Identifiers and References | identifiers: references: SC-8, 2418, 2420, 2421, 2422, SRG-OS-000423-GPOS-00187, SRG-OS-000423-GPOS-00188, SRG-OS-000423-GPOS-00189, SRG-OS000423-GPOS-00190, RHEL-07-040260 |
Description |
The $ sudo yum install openssh-server |
Rationale | Without protection of the transmitted information, confidentiality, and integrity may be compromised because unprotected communications can be intercepted and either read or altered. |
Enable the OpenSSH Service
Rule ID | xccdf_org.ssgproject.content_rule_service_sshd_enabled |
Result | pass |
Time | 2016-07-11T14:22:43 |
Severity | medium |
Identifiers and References | identifiers: references: SC-8, 2418, 2420, 2421, 2422, SRG-OS-000423-GPOS-00187, SRG-OS-000423-GPOS-00188, SRG-OS-000423-GPOS-00189, SRG-OS000423-GPOS-00190, RHEL-07-TBD |
Description | The SSH server service, sshd, is commonly needed.
The $ sudo systemctl enable sshd.service |
Rationale | Without protection of the transmitted information, confidentiality, and integrity may be compromised because unprotected communications can be intercepted and either read or altered. |
Disable SSH Server If Possible (Unusual)
Rule ID | xccdf_org.ssgproject.content_rule_service_sshd_disabled |
Result | notselected |
Time | 2016-07-11T14:22:43 |
Severity | low |
Identifiers and References | identifiers: references: Test attestation on 20121024 by DS |
Description | The SSH server service, sshd, is commonly needed.
However, if it can be disabled, do so.
The $ sudo systemctl disable sshd.serviceThis is unusual, as SSH is a common method for encrypted and authenticated remote access. |
Remove SSH Server firewalld Firewall exception (Unusual)
Rule ID | xccdf_org.ssgproject.content_rule_firewalld_sshd_disabled |
Result | fail |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | By default, inbound connections to SSH's port are allowed. If
the SSH server is not being used, this exception should be removed from the
firewall configuration.
|
Rationale | If inbound SSH connections are not expected, disallowing access to the SSH port will avoid possible exploitation of the port by an attacker. |
Install the SSSD Package
Rule ID | xccdf_org.ssgproject.content_rule_package_sssd_installed |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: IA-5(10), TBD, TBD, RHEL-07-TBD |
Description |
The $ sudo yum install sssd |
Rationale |
|
Enable the SSSD Service
Rule ID | xccdf_org.ssgproject.content_rule_service_sssd_enabled |
Result | error |
Time | 2016-07-11T14:24:58 |
Severity | medium |
Identifiers and References | identifiers: references: IA-5(10), TBD, TBD, RHEL-07-TBD |
Description | The SSSD service should be enabled.
The $ sudo systemctl enable sssd.service |
Rationale |
|
Remediation script:
|
Configure SSSD's Memory Cache to Expire
Rule ID | xccdf_org.ssgproject.content_rule_sssd_memcache_timeout |
Result | fail |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: IA-5(13), 2007, SRG-OS-000383-GPOS-00166, RHEL-07-010400 |
Description |
SSSD's memory cache should be configured to set to expire records after 1 day.
To configure SSSD to expire memory cache, set [nss] memcache_timeout = 86400 |
Rationale | If cached authentication information is out-of-date, the validity of the authentication information may be questionable. |
Configure SSSD to Expire Offline Credentials
Rule ID | xccdf_org.ssgproject.content_rule_sssd_offline_cred_expiration |
Result | fail |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: IA-5(13), 2007, SRG-OS-000383-GPOS-00166, RHEL-07-010401 |
Description |
SSSD should be configured to expire offline credentials after 1 day.
To configure SSSD to expire offline credentials, set
[nss] offline_credentials_expiration = 1 |
Rationale | If cached authentication information is out-of-date, the validity of the authentication information may be questionable. |
Configure SSSD to Expire SSH Known Hosts
Rule ID | xccdf_org.ssgproject.content_rule_sssd_ssh_known_hosts_timeout |
Result | fail |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: IA-5(13), 2007, SRG-OS-000383-GPOS-00166, RHEL-07-010402 |
Description |
SSSD should be configured to expire keys from known SSH hosts after 1 day.
To configure SSSD to known SSH hosts, set [nss] ssh_known_hosts_timeout = 86400 |
Rationale | If cached authentication information is out-of-date, the validity of the authentication information may be questionable. |
Disable X Windows Startup By Setting Default Target
Rule ID | xccdf_org.ssgproject.content_rule_xwindows_runlevel_setting |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: AC-17(8).1(ii), 366, SRG-OS-000480-GPOS-00227, RHEL-07-040561, Test attestation on 20121025 by DS |
Description | Systems that do not require a graphical user interface should only boot by
default into $ systemctl set-default multi-user.targetYou should see the following output: rm '/etc/systemd/system/default.target' ln -s '/usr/lib/systemd/system/multi-user.target' '/etc/systemd/system/default.target' |
Rationale | Services that are not required for system and application processes must not be active to decrease the attack surface of the system. X windows has a long history of security vulnerabilities and should not be used unless approved and documented. |
Remove the X Windows Package Group
Rule ID | xccdf_org.ssgproject.content_rule_package_xorg-x11-server-common_removed |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: AC-17(8).1(ii), 366, 3.2, SRG-OS-000480-GPOS-00227, RHEL-07-040560, Test attestation on 20121025 by DS |
Description | By removing the xorg-x11-server-common package, the system no longer has X Windows
installed. If X Windows is not installed then the system cannot boot into graphical user mode.
This prevents the system from being accidentally or maliciously booted into a $ sudo yum groupremove "X Window System" $ sudo yum remove xorg-x11-server-common |
Rationale | Unnecessary service packages must not be installed to decrease the attack surface of the system. X windows has a long history of security vulnerabilities and should not be installed unless approved and documented. |
Disable Avahi Server Software
Rule ID | xccdf_org.ssgproject.content_rule_service_avahi-daemon_disabled |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
The $ sudo systemctl disable avahi-daemon.service |
Rationale | Because the Avahi daemon service keeps an open network port, it is subject to network attacks. Its functionality is convenient but is only appropriate if the local network can be trusted. |
Serve Avahi Only via Required Protocol
Rule ID | xccdf_org.ssgproject.content_rule_avahi_ip_only |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description |
If you are using only IPv4, edit use-ipv6=noSimilarly, if you are using only IPv6, disable IPv4 sockets with the line: use-ipv4=no |
Check Avahi Responses' TTL Field
Rule ID | xccdf_org.ssgproject.content_rule_avahi_check_ttl |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description |
To make Avahi ignore packets unless the TTL field is 255, edit
check-response-ttl=yes |
Rationale | This helps to ensure that only mDNS responses from the local network are processed, because the TTL field in a packet is decremented from its initial value of 255 whenever it is routed from one network to another. Although a properly-configured router or firewall should not allow mDNS packets into the local network at all, this option provides another check to ensure they are not permitted. |
Prevent Other Programs from Using Avahi's Port
Rule ID | xccdf_org.ssgproject.content_rule_avahi_prevent_port_sharing |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description |
To prevent other mDNS stacks from running, edit disallow-other-stacks=yes |
Rationale | This helps ensure that only Avahi is responsible for mDNS traffic coming from that port on the system. |
Disable Avahi Publishing
Rule ID | xccdf_org.ssgproject.content_rule_avahi_disable_publishing |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description |
To prevent other mDNS stacks from running, edit disallow-other-stacks=yes |
Rationale | This helps ensure that only Avahi is responsible for mDNS traffic coming from that port on the system. |
Restrict Information Published by Avahi
Rule ID | xccdf_org.ssgproject.content_rule_avahi_restrict_published_information |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description |
If it is necessary to publish some information to the network, it should not be joined
by any extraneous information, or by information supplied by a non-trusted source
on the system.
Prevent user applications from using Avahi to publish services by adding or
correcting the following line in the disable-user-service-publishing=yesImplement as many of the following lines as possible, to restrict the information published by Avahi. publish-addresses=no publish-hinfo=no publish-workstation=no publish-domain=noInspect the files in the directory /etc/avahi/services/ . Unless there
is an operational need to publish information about each of these services,
delete the corresponding file.
|
Rationale | These options prevent publishing attempts from succeeding, and can be applied even if publishing is disabled entirely via disable-publishing. Alternatively, these can be used to restrict the types of published information in the event that some information must be published. |
Disable Printer Browsing Entirely if Possible
Rule ID | xccdf_org.ssgproject.content_rule_cups_disable_browsing |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description | By default, CUPS listens on the network for printer list
broadcasts on UDP port 631. This functionality is called printer browsing.
To disable printer browsing entirely, edit the CUPS configuration
file, located at Browsing Off |
Rationale | The CUPS print service can be configured to broadcast a list of available printers to the network. Other machines on the network, also running the CUPS print service, can be configured to listen to these broadcasts and add and configure these printers for immediate use. By disabling this browsing capability, the machine will no longer generate or receive such broadcasts. |
Disable Print Server Capabilities
Rule ID | xccdf_org.ssgproject.content_rule_cups_disable_printserver |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description | To prevent remote users from potentially connecting to and using locally configured printers, disable the CUPS print server sharing capabilities. To do so, limit how the server will listen for print jobs by removing the more generic port directive from /etc/cups/cupsd.conf: Port 631and replacing it with the Listen directive:
Listen localhost:631This will prevent remote users from printing to locally configured printers while still allowing local users on the machine to print normally. |
Rationale | By default, locally configured printers will not be shared over the network, but if this functionality has somehow been enabled, these recommendations will disable it again. Be sure to disable outgoing printer list broadcasts, or remote users will still be able to see the locally configured printers, even if they cannot actually print to them. To limit print serving to a particular set of users, use the Policy directive. |
Disable the CUPS Service
Rule ID | xccdf_org.ssgproject.content_rule_service_cups_disabled |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
The $ sudo systemctl disable cups.service |
Rationale | Turn off unneeded services to reduce attack surface. |
Disable DHCP Service
Rule ID | xccdf_org.ssgproject.content_rule_service_dhcpd_disabled |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: CM-7, 366, Test attestation on 20121024 by DS |
Description | The $ sudo systemctl disable dhcpd.service |
Rationale | Unmanaged or unintentionally activated DHCP servers may provide faulty information to clients, interfering with the operation of a legitimate site DHCP server if there is one. |
Uninstall DHCP Server Package
Rule ID | xccdf_org.ssgproject.content_rule_package_dhcp_removed |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: CM-7, 366, 3.5, Test attestation on 20121024 by DS |
Description | If the system does not need to act as a DHCP server,
the dhcp package can be uninstalled.
The $ sudo yum erase dhcp |
Rationale | Removing the DHCP server ensures that it cannot be easily or accidentally reactivated and disrupt network operation. |
Do Not Use Dynamic DNS
Rule ID | xccdf_org.ssgproject.content_rule_dhcp_server_disable_ddns |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description | To prevent the DHCP server from receiving DNS information from
clients, edit ddns-update-style none; |
Rationale | The Dynamic DNS protocol is used to remotely update the data served by a DNS server. DHCP servers can use Dynamic DNS to publish information about their clients. This setup carries security risks, and its use is not recommended. If Dynamic DNS must be used despite the risks it poses, it is critical that Dynamic DNS transactions be protected using TSIG or some other cryptographic authentication mechanism. See dhcpd.conf(5) for more information about protecting the DHCP server from passing along malicious DNS data from its clients. |
Warnings | warning
The ddns-update-style option controls only whether
the DHCP server will attempt to act as a Dynamic DNS client. As long as the DNS
server itself is correctly configured to reject DDNS attempts, an incorrect
ddns-update-style setting on the client is harmless (but should be fixed as a
best practice). |
Deny Decline Messages
Rule ID | xccdf_org.ssgproject.content_rule_dhcp_server_deny_decline |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description | Edit deny declines; |
Rationale | The DHCPDECLINE message can be sent by a DHCP client to indicate that it does not consider the lease offered by the server to be valid. By issuing many DHCPDECLINE messages, a malicious client can exhaust the DHCP server's pool of IP addresses, causing the DHCP server to forget old address allocations. |
Deny BOOTP Queries
Rule ID | xccdf_org.ssgproject.content_rule_dhcp_server_deny_bootp |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description | Unless your network needs to support older BOOTP clients, disable support for the bootp protocol by adding or correcting the global option: deny bootp; |
Rationale | The bootp option tells dhcpd to respond to BOOTP queries. If support for this simpler protocol is not needed, it should be disabled to remove attack vectors against the DHCP server. |
Configure Logging
Rule ID | xccdf_org.ssgproject.content_rule_dhcp_server_configure_logging |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: AU-12 |
Description | Ensure that the following line exists in
daemon.* /var/log/daemon.logConfigure logwatch or other log monitoring tools to summarize error conditions reported by the dhcpd process. |
Rationale | By default, dhcpd logs notices to the daemon facility. Sending all daemon messages to a dedicated log file is part of the syslog configuration outlined in the Logging and Auditing section |
Disable DHCP Client
Rule ID | xccdf_org.ssgproject.content_rule_sysconfig_networking_bootproto_ifcfg |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: CM-7, 366, Test attestation on 20121024 by DS |
Description |
For each interface on the system (e.g. eth0), edit
|
Rationale | DHCP relies on trusting the local network. If the local network is not trusted, then it should not be used. However, the automatic configuration provided by DHCP is commonly used and the alternative, manual configuration, presents an unacceptable burden in many circumstances. |
Enable the NTP Daemon
Rule ID | xccdf_org.ssgproject.content_rule_service_chronyd_or_ntpd_enabled |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: AU-8(1), 160, Req-10.4, 3.6, Test attestation on 20121024 by DS |
Description |
The $ sudo systemctl enable chronyd.serviceNote: The chronyd daemon is enabled by default.
The ntpd service can be enabled with the following command:
$ sudo systemctl enable ntpd.serviceNote: The ntpd daemon is not enabled by default. Though as mentioned
in the previous sections in certain environments the ntpd daemon might
be preferred to be used rather than the chronyd one. Refer to:
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/ch-Configuring_NTP_Using_the_chrony_Suite.html
for guidance which NTP daemon to choose depending on the environment used.
|
Rationale | Enabling some of |
Specify a Remote NTP Server
Rule ID | xccdf_org.ssgproject.content_rule_chronyd_or_ntpd_specify_remote_server |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: AU-8(1), 160, Req-10.4.1, Req-10.4.3, 3.6, Test attestation on 20121024 by DS |
Description | Depending on specific functional requirements of a concrete
production environment, the Red Hat Enterprise Linux 7 Server system can be
configured to utilize the services of the
server ntpserverThis instructs the NTP software to contact that remote server to obtain time data. |
Rationale | Synchronizing with an NTP server makes it possible to collate system logs from multiple sources or correlate computer events with real time events. |
Specify Additional Remote NTP Servers
Rule ID | xccdf_org.ssgproject.content_rule_chronyd_or_ntpd_specify_multiple_servers |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: AU-8(1), Req-10.4.3 |
Description | Depending on specific functional requirements of a concrete
production environment, the Red Hat Enterprise Linux 7 Server system can be
configured to utilize the services of the
server ntpserver |
Rationale | Specifying additional NTP servers increases the availability of accurate time data, in the event that one of the specified servers becomes unavailable. This is typical for a system acting as an NTP server for other systems. |
Disable Postfix Network Listening
Rule ID | xccdf_org.ssgproject.content_rule_postfix_network_listening_disabled |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: CM-7, 382, 3.16, Test attestation on 20121024 by DS |
Description |
Edit the file inet_interfaces = localhost |
Rationale |
This ensures |
Enable Postfix Service
Rule ID | xccdf_org.ssgproject.content_rule_service_postfix_enabled |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: Test attestation on 20121024 by DS |
Description | The Postfix mail transfer agent is used for local mail delivery
within the system. The default configuration only listens for connections to
the default SMTP port (port 25) on the loopback interface (127.0.0.1). It is
recommended to leave this service enabled for local mail delivery.
The $ sudo systemctl enable postfix.service |
Rationale | Local mail delivery is essential to some system maintenance and notification tasks. |
Uninstall Sendmail Package
Rule ID | xccdf_org.ssgproject.content_rule_package_sendmail_removed |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: CM-7, Test attestation on 20121024 by DS |
Description | Sendmail is not the default mail transfer agent and is
not installed by default.
The $ sudo yum erase sendmail |
Rationale | The sendmail software was not developed with security in mind and its design prevents it from being effectively contained by SELinux. Postfix should be used instead. |
Configure LDAP Client to Use TLS For All Transactions
Rule ID | xccdf_org.ssgproject.content_rule_ldap_client_start_tls |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: CM-7, 776, 778, 1453, Test attestation on 20121024 by DS |
Description | Configure LDAP to enforce TLS use. First, edit the file
ssl start_tlsThen review the LDAP server and ensure TLS has been configured. |
Rationale | The ssl directive specifies whether to use ssl or not. If not specified it will default to no. It should be set to start_tls rather than doing LDAP over SSL. |
Configure Certificate Directives for LDAP Use of TLS
Rule ID | xccdf_org.ssgproject.content_rule_ldap_client_tls_cacertpath |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: CM-7, 776, 778, 1453, Test attestation on 20121024 by DS |
Description | Ensure a copy of a trusted CA certificate has been placed in
the file tls_cacertdir /etc/pki/tls/CAor tls_cacertfile /etc/pki/tls/CA/cacert.pemThen review the LDAP server and ensure TLS has been configured. |
Rationale | The tls_cacertdir or tls_cacertfile directives are required when tls_checkpeer is configured (which is the default for openldap versions 2.1 and up). These directives define the path to the trust certificates signed by the site CA. |
Uninstall openldap-servers Package
Rule ID | xccdf_org.ssgproject.content_rule_package_openldap-servers_removed |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: CM-7, 366, 3.7, Test attestation on 20121024 by DS |
Description | The $ sudo yum erase openldap-serversThe openldap-servers RPM is not installed by default on Red Hat Enterprise Linux 7 machines. It is needed only by the OpenLDAP server, not by the clients which use LDAP for authentication. If the system is not intended for use as an LDAP Server it should be removed. |
Rationale | Unnecessary packages should not be installed to decrease the attack surface of the system. While this software is clearly essential on an LDAP server, it is not necessary on typical desktop or workstation systems. |
Disable Network File System Lock Service (nfslock)
Rule ID | xccdf_org.ssgproject.content_rule_service_nfslock_disabled |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: 3.8 |
Description | The Network File System Lock (nfslock) service starts the required
remote procedure call (RPC) processes which allow clients to lock files on the
server. If the local machine is not configured to mount NFS filesystems then
this service should be disabled.
The $ sudo systemctl disable nfslock.service |
Disable Secure RPC Client Service (rpcgssd)
Rule ID | xccdf_org.ssgproject.content_rule_service_rpcgssd_disabled |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: 3.8 |
Description |
The rpcgssd service manages RPCSEC GSS contexts required to secure protocols
that use RPC (most often Kerberos and NFS). The rpcgssd service is the
client-side of RPCSEC GSS. If the system does not require secure RPC then this
service should be disabled.
The $ sudo systemctl disable rpcgssd.service |
Disable rpcbind Service
Rule ID | xccdf_org.ssgproject.content_rule_service_rpcbind_disabled |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: 3.8 |
Description |
The rpcbind utility maps RPC services to the ports on which they listen. RPC
processes notify rpcbind when they start, registering the ports they are
listening on and the RPC program numbers they expect to serve. The rpcbind
service redirects the client to the proper port number so it can communicate
with the requested service. If the system does not require RPC (such as for NFS
servers) then this service should be disabled.
The $ sudo systemctl disable rpcbind.service |
Disable RPC ID Mapping Service (rpcidmapd)
Rule ID | xccdf_org.ssgproject.content_rule_service_rpcidmapd_disabled |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: 3.8 |
Description | The rpcidmapd service is used to map user names and groups to UID
and GID numbers on NFSv4 mounts. If NFS is not in use on the local system then
this service should be disabled.
The $ sudo systemctl disable rpcidmapd.service |
Configure lockd to use static TCP port
Rule ID | xccdf_org.ssgproject.content_rule_nfs_fixed_lockd_tcp_port |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | Configure the LOCKD_TCPPORT=lockd-portWhere lockd-port is a port which is not used by any other service on
your network.
|
Rationale | Restrict service to always use a given port, so that firewalling can be done effectively. |
Configure lockd to use static UDP port
Rule ID | xccdf_org.ssgproject.content_rule_nfs_fixed_lockd_udp_port |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | Configure the LOCKD_UDPPORT=lockd-portWhere lockd-port is a port which is not used by any other service on
your network.
|
Rationale | Restricting services to always use a given port enables firewalling to be done more effectively. |
Configure statd to use static port
Rule ID | xccdf_org.ssgproject.content_rule_nfs_fixed_statd_port |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | Configure the STATD_PORT=statd-portWhere statd-port is a port which is not used by any other service on your network.
|
Rationale | Restricting services to always use a given port enables firewalling to be done more effectively. |
Configure mountd to use static port
Rule ID | xccdf_org.ssgproject.content_rule_nfs_fixed_mountd_port |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | Configure the MOUNTD_PORT=statd-portWhere mountd-port is a port which is not used by any other service on your network.
|
Rationale | Restricting services to always use a given port enables firewalling to be done more effectively. |
Specify UID and GID for Anonymous NFS Connections
Rule ID | xccdf_org.ssgproject.content_rule_nfs_no_anonymous |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | To specify the UID and GID for remote root users, edit the anonuid=Alternatively, functionally equivalent values of 60001, 65534, 65535 may be used. |
Rationale | Specifying the anonymous UID and GID ensures that the remote root user is mapped to a local account which has no permissions on the system. |
Disable Network File System (nfs)
Rule ID | xccdf_org.ssgproject.content_rule_service_nfs_disabled |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: Test attestation on 20121025 by DS |
Description | The Network File System (NFS) service allows remote hosts to mount
and interact with shared filesystems on the local machine. If the local machine
is not designated as a NFS server then this service should be disabled.
The $ sudo systemctl disable nfs.service |
Rationale | Unnecessary services should be disabled to decrease the attack surface of the system. |
Disable Secure RPC Server Service (rpcsvcgssd)
Rule ID | xccdf_org.ssgproject.content_rule_service_rpcsvcgssd_disabled |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: Test attestation on 20121025 by DS |
Description | The rpcsvcgssd service manages RPCSEC GSS contexts required to
secure protocols that use RPC (most often Kerberos and NFS). The rpcsvcgssd
service is the server-side of RPCSEC GSS. If the system does not require secure
RPC then this service should be disabled.
The $ sudo systemctl disable rpcsvcgssd.service |
Rationale | Unnecessary services should be disabled to decrease the attack surface of the system. |
Mount Remote Filesystems with nodev
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_nodev_remote_filesystems |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: CM-7, MP-2, Test attestation on 20121025 by DS |
Description |
Add the |
Rationale | Legitimate device files should only exist in the /dev directory. NFS mounts should not present device files to users. |
Mount Remote Filesystems with nosuid
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_nosuid_remote_filesystems |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: Test attestation on 20121025 by DS |
Description |
Add the |
Rationale | NFS mounts should not present suid binaries to users. Only vendor-supplied suid executables should be installed to their default location on the local filesystem. |
Mount Remote Filesystems with Kerberos Security
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_krb_sec_remote_filesystems |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: AC-14(1), 366, SRG-OS-000480-GPOS-00227, RHEL-07-TBD |
Description |
Add the |
Rationale | When an NFS server is configured to use AUTH_SYS a selected userid and groupid are used to handle requests from the remote user. The userid and groupid could mistakenly or maliciously be set incorrectly. The AUTH_GSS method of authentication uses certificates on the server and client systems to more securely authenticate the remote mount request. |
Use Root-Squashing on All Exports
Rule ID | xccdf_org.ssgproject.content_rule_use_root_squashing_all_exports |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | If a filesystem is exported using root squashing, requests from root on the client
are considered to be unprivileged (mapped to a user such as nobody). This provides some mild
protection against remote abuse of an NFS server. Root squashing is enabled by default, and
should not be disabled.
|
Rationale | If the NFS server allows root access to local file systems from remote hosts, this access could be used to compromise the system. |
Restrict NFS Clients to Privileged Ports
Rule ID | xccdf_org.ssgproject.content_rule_restrict_nfs_clients_to_privileged_ports |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | By default, the server NFS implementation requires that all client requests be made
from ports less than 1024. If your organization has control over machines connected to its
network, and if NFS requests are prohibited at the border firewall, this offers some protection
against malicious requests from unprivileged users. Therefore, the default should not be changed.
|
Rationale | Allowing client requests to be made from ports higher than 1024 could allow a unprivileged user to initiate an NFS connection. If the unprivileged user account has been compromised, an attacker could gain access to data on the NFS server. |
Ensure Insecure File Locking is Not Allowed
Rule ID | xccdf_org.ssgproject.content_rule_no_insecure_locks_exports |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: 764 |
Description | By default the NFS server requires secure file-lock requests,
which require credentials from the client in order to lock a file. Most NFS
clients send credentials with file lock requests, however, there are a few
clients that do not send credentials when requesting a file-lock, allowing the
client to only be able to lock world-readable files. To get around this, the
|
Rationale | Allowing insecure file locking could allow for sensitive data to be viewed or edited by an unauthorized user. |
Use Kerberos Security on All Exports
Rule ID | xccdf_org.ssgproject.content_rule_use_kerberos_security_all_exports |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: AC-14(1), 366, SRG-OS-000480-GPOS-00227, RHEL-07-040740 |
Description |
Using Kerberos on all exported mounts prevents a malicious client or user from
impersonating a system user. To cryptography authenticate users to the NFS server,
add |
Rationale | When an NFS server is configured to use AUTH_SYS a selected userid and groupid are used to handle requests from the remote user. The userid and groupid could mistakenly or maliciously be set incorrectly. The AUTH_GSS method of authentication uses certificates on the server and client systems to more securely authenticate the remote mount request. |
Disable DNS Server
Rule ID | xccdf_org.ssgproject.content_rule_service_named_disabled |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
The $ sudo systemctl disable named.service |
Rationale | All network services involve some risk of compromise due to implementation flaws and should be disabled if possible. |
Uninstall bind Package
Rule ID | xccdf_org.ssgproject.content_rule_package_bind_removed |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | To remove the $ sudo yum erase bind |
Rationale | If there is no need to make DNS server software available, removing it provides a safeguard against its activation. |
Disable Zone Transfers from the Nameserver
Rule ID | xccdf_org.ssgproject.content_rule_dns_server_disable_zone_transfers |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | Is it necessary for a secondary nameserver to receive zone data
via zone transfer from the primary server? If not, follow the instructions in
this section. If so, see the next section for instructions on protecting zone
transfers.
Add or correct the following directive within options { allow-transfer { none; }; ... } |
Rationale | If both the primary and secondary nameserver are under your control, or if you have only one nameserver, it may be possible to use an external configuration management mechanism to distribute zone updates. In that case, it is not necessary to allow zone transfers within BIND itself, so they should be disabled to avoid the potential for abuse. |
Authenticate Zone Transfers
Rule ID | xccdf_org.ssgproject.content_rule_dns_server_authenticate_zone_transfers |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description | If it is necessary for a secondary nameserver to receive zone data via zone transfer from the primary server, follow the instructions here. Use dnssec-keygen to create a symmetric key file in the current directory: $ cd /tmp $ sudo dnssec-keygen -a HMAC-MD5 -b 128 -n HOST dns.example.com Kdns.example.com .+aaa +iiiiiThis output is the name of a file containing the new key. Read the file to find the base64-encoded key string: $ sudo cat Kdns.example.com .+NNN +MMMMM .key dns.example.com IN KEY 512 3 157 base64-key-stringAdd the directives to /etc/named.conf on the primary server:
key zone-transfer-key { algorithm hmac-md5; secret "base64-key-string "; }; zone "example.com " IN { type master; allow-transfer { key zone-transfer-key; }; ... };Add the directives below to /etc/named.conf on the secondary nameserver:
key zone-transfer-key { algorithm hmac-md5; secret "base64-key-string "; }; server IP-OF-MASTER { keys { zone-transfer-key; }; }; zone "example.com " IN { type slave; masters { IP-OF-MASTER ; }; ... }; |
Rationale | The BIND transaction signature (TSIG) functionality allows primary and secondary nameservers to use a shared secret to verify authorization to perform zone transfers. This method is more secure than using IP-based limiting to restrict nameserver access, since IP addresses can be easily spoofed. However, if you cannot configure TSIG between your servers because, for instance, the secondary nameserver is not under your control and its administrators are unwilling to configure TSIG, you can configure an allow-transfer directive with numerical IP addresses or ACLs as a last resort. |
Warnings | warning
The purpose of the dnssec-keygen command is to
create the shared secret string base64-key-string. Once this secret has been
obtained and inserted into named.conf on the primary and secondary servers, the
key files Kdns.example.com .+NNN +MMMMM .key and Kdns.example.com .+NNN +MMMMM
.private are no longer needed, and may safely be deleted. |
Disable Dynamic Updates
Rule ID | xccdf_org.ssgproject.content_rule_dns_server_disable_dynamic_updates |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | Is there a mission-critical reason to enable the risky dynamic
update functionality? If not, edit zone "example.com " IN { allow-update { none; }; ... }; |
Rationale | Dynamic updates allow remote servers to add, delete, or modify any entries in your zone file. Therefore, they should be considered highly risky, and disabled unless there is a very good reason for their use. If dynamic updates must be allowed, IP-based ACLs are insufficient protection, since they are easily spoofed. Instead, use TSIG keys (see the previous section for an example), and consider using the update-policy directive to restrict changes to only the precise type of change needed. |
Disable vsftpd Service
Rule ID | xccdf_org.ssgproject.content_rule_service_vsftpd_disabled |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
The $ sudo systemctl disable vsftpd.service |
Rationale | Running FTP server software provides a network-based avenue of attack, and should be disabled if not needed. Furthermore, the FTP protocol is unencrypted and creates a risk of compromising sensitive information. |
Uninstall vsftpd Package
Rule ID | xccdf_org.ssgproject.content_rule_package_vsftpd_removed |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | high |
Identifiers and References | identifiers: references: CM-6(b), CM-7, 366, SRG-OS-000480-GPOS-00227, RHEL-07-040490, 3.10 |
Description |
The $ sudo yum erase vsftpd |
Rationale | Removing the vsftpd package decreases the risk of its accidental activation. |
Install vsftpd Package
Rule ID | xccdf_org.ssgproject.content_rule_package_vsftpd_installed |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description | If this machine must operate as an FTP server, install the $ sudo yum install vsftpd |
Rationale | After Red Hat Enterprise Linux 2.1, Red Hat switched from distributing wu-ftpd with Red Hat Enterprise Linux to distributing vsftpd. For security and for consistency with future Red Hat releases, the use of vsftpd is recommended. |
Restrict Access to Anonymous Users if Possible
Rule ID | xccdf_org.ssgproject.content_rule_ftp_restrict_to_anon |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | Is there a mission-critical reason for users to transfer files to/from their own accounts using FTP, rather than using a secure protocol like SCP/SFTP? If not, edit the vsftpd configuration file. Add or correct the following configuration option: local_enable=NOIf non-anonymous FTP logins are necessary, follow the guidance in the remainder of this section to secure these logins as much as possible. |
Rationale | The use of non-anonymous FTP logins is strongly discouraged. Since SSH clients and servers are widely available, and since SSH provides support for a transfer mode which resembles FTP in user interface, there is no good reason to allow password-based FTP access. |
Enable Logging of All FTP Transactions
Rule ID | xccdf_org.ssgproject.content_rule_ftp_log_transactions |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | Add or correct the following configuration options within the xferlog_enable=YES xferlog_std_format=NO log_ftp_protocol=YES |
Rationale | To trace malicious activity facilitated by the FTP service, it must be configured to ensure that all commands sent to
the FTP server are logged using the verbose vsftpd log
format. The default vsftpd log file is |
Warnings | warning
If verbose logging to vsftpd.log is done, sparse logging of downloads to /var/log/xferlog will not also occur. However, the information about what files were downloaded is included in the information logged to vsftpd.log |
Disable FTP Uploads if Possible
Rule ID | xccdf_org.ssgproject.content_rule_ftp_disable_uploads |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | Is there a mission-critical reason for users to upload files via FTP? If not, edit the vsftpd configuration file to add or correct the following configuration options: write_enable=NOIf FTP uploads are necessary, follow the guidance in the remainder of this section to secure these transactions as much as possible. |
Rationale | Anonymous FTP can be a convenient way to make files available for universal download. However, it is less common to have a need to allow unauthenticated users to place files on the FTP server. If this must be done, it is necessary to ensure that files cannot be uploaded and downloaded from the same directory. |
Place the FTP Home Directory on its Own Partition
Rule ID | xccdf_org.ssgproject.content_rule_ftp_home_partition |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | By default, the anonymous FTP root is the home directory of the FTP user account. The df command can be used to verify that this directory is on its own partition. |
Rationale | If there is a mission-critical reason for anonymous users to upload files, precautions must be taken to prevent these users from filling a disk used by other services. |
Disable httpd Service
Rule ID | xccdf_org.ssgproject.content_rule_service_httpd_disabled |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description |
The $ sudo systemctl disable httpd.service |
Rationale | Running web server software provides a network-based avenue of attack, and should be disabled if not needed. |
Uninstall httpd Package
Rule ID | xccdf_org.ssgproject.content_rule_package_httpd_removed |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
The $ sudo yum erase httpd |
Rationale | If there is no need to make the web server software available, removing it provides a safeguard against its activation. |
Set httpd ServerTokens Directive to Prod
Rule ID | xccdf_org.ssgproject.content_rule_httpd_servertokens_prod |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description |
ServerTokens Prod |
Rationale | Information disclosed to clients about the configuration of the web server and system could be used to plan an attack on the given system. This information disclosure should be restricted to a minimum. |
Set httpd ServerSignature Directive to Off
Rule ID | xccdf_org.ssgproject.content_rule_httpd_serversignature_off |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description |
ServerSignature Off |
Rationale | Information disclosed to clients about the configuration of the web server and system could be used to plan an attack on the given system. This information disclosure should be restricted to a minimum. |
Disable HTTP Digest Authentication
Rule ID | xccdf_org.ssgproject.content_rule_httpd_digest_authentication |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
The #LoadModule auth_digest_module modules/mod_auth_digest.so |
Rationale | Minimizing the number of loadable modules available to the web server reduces risk by limiting the capabilities allowed by the web server. |
Disable HTTP mod_rewrite
Rule ID | xccdf_org.ssgproject.content_rule_httpd_mod_rewrite |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
The #LoadModule rewrite_module modules/mod_rewrite.so |
Rationale | Minimizing the number of loadable modules available to the web server reduces risk by limiting the capabilities allowed by the web server. |
Disable LDAP Support
Rule ID | xccdf_org.ssgproject.content_rule_httpd_ldap_support |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
The #LoadModule ldap_module modules/mod_ldap.so #LoadModule authnz_ldap_module modules/mod_authnz_ldap.soIf LDAP is to be used, SSL encryption should be used as well. |
Rationale | Minimizing the number of loadable modules available to the web server reduces risk by limiting the capabilities allowed by the web server. |
Disable Server Side Includes
Rule ID | xccdf_org.ssgproject.content_rule_httpd_server_side_includes |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | Server Side Includes provide a method of dynamically generating web pages through the insertion of server-side code. However, the technology is also deprecated and introduces significant security concerns. If this functionality is unnecessary, comment out the related module: #LoadModule include_module modules/mod_include.soIf there is a critical need for Server Side Includes, they should be enabled with the option IncludesNoExec to prevent arbitrary code execution. Additionally, user
supplied data should be encoded to prevent cross-site scripting vulnerabilities.
|
Rationale | Minimizing the number of loadable modules available to the web server reduces risk by limiting the capabilities allowed by the web server. |
Disable MIME Magic
Rule ID | xccdf_org.ssgproject.content_rule_httpd_mime_magic |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
The #LoadModule mime_magic_module modules/mod_mime_magic.so |
Rationale | Minimizing the number of loadable modules available to the web server reduces risk by limiting the capabilities allowed by the web server. |
Disable WebDAV (Distributed Authoring and Versioning)
Rule ID | xccdf_org.ssgproject.content_rule_httpd_webdav |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | WebDAV is an extension of the HTTP protocol that provides distributed and collaborative access to web content. If its functionality is unnecessary, comment out the related modules: #LoadModule dav_module modules/mod_dav.so #LoadModule dav_fs_module modules/mod_dav_fs.soIf there is a critical need for WebDAV, extra care should be taken in its configuration. Since DAV access allows remote clients to manipulate server files, any location on the server that is DAV enabled should be protected by access controls. |
Rationale | Minimizing the number of loadable modules available to the web server, reduces risk by limiting the capabilities allowed by the web server. |
Disable Server Activity Status
Rule ID | xccdf_org.ssgproject.content_rule_httpd_server_activity_status |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
The #LoadModule status_module modules/mod_status.soIf there is a critical need for this module, ensure that access to the status page is properly restricted to a limited set of hosts in the status handler configuration. |
Rationale | Minimizing the number of loadable modules available to the web server reduces risk by limiting the capabilities allowed by the web server. |
Disable Web Server Configuration Display
Rule ID | xccdf_org.ssgproject.content_rule_httpd_server_configuration_display |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
The #LoadModule info_module modules/mod_info.soIf there is a critical need for this module, use the Location directive to provide
an access control list to restrict access to the information.
|
Rationale | Minimizing the number of loadable modules available to the web server reduces risk by limiting the capabilities allowed by the web server. |
Disable URL Correction on Misspelled Entries
Rule ID | xccdf_org.ssgproject.content_rule_httpd_url_correction |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
The #LoadModule speling_module modules/mod_speling.soThis functionality weakens server security by making site enumeration easier. |
Rationale | Minimizing the number of loadable modules available to the web server reduces risk by limiting the capabilities allowed by the web server. |
Disable Proxy Support
Rule ID | xccdf_org.ssgproject.content_rule_httpd_proxy_support |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
The #LoadModule proxy_module modules/mod_proxy.soIf proxy support is needed, load mod_proxy and the appropriate proxy protocol handler
module (one of mod_proxy_http , mod_proxy_ftp , or mod_proxy_connect ). Additionally,
make certain that a server is secure before enabling proxying, as open proxy servers
are a security risk. mod_proxy_balancer enables load balancing, but requires that
mod status be enabled.
|
Rationale | Minimizing the number of loadable modules available to the web server reduces risk by limiting the capabilities allowed by the web server. |
Disable Cache Support
Rule ID | xccdf_org.ssgproject.content_rule_httpd_cache_support |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
The #LoadModule cache_module modules/mod_cache.soIf caching is required, it should not be enabled for any limited-access content. |
Rationale | Minimizing the number of loadable modules available to the web server reduces risk by limiting the capabilities allowed by the web server. |
Disable CGI Support
Rule ID | xccdf_org.ssgproject.content_rule_httpd_cgi_support |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
The #LoadModule cgi_module modules/mod_cgi.soIf the web server requires the use of CGI, enable mod_cgi .
|
Rationale | Minimizing the number of loadable modules available to the web server reduces risk by limiting the capabilities allowed by the web server. |
Restrict Root Directory
Rule ID | xccdf_org.ssgproject.content_rule_httpd_restrict_root_directory |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
The <Directory / > Options None AllowOverride None Order allow,deny </Directory> |
Rationale | The Web Server's root directory content should be protected from unauthorized access by web clients. |
Restrict Web Directory
Rule ID | xccdf_org.ssgproject.content_rule_httpd_restrict_web_directory |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
The default configuration for the web ( <Directory "/var/www/html"> # ... Options SymLinksIfOwnerMatch # ... </Directory> |
Rationale | Access to the web server's directory hierarchy could allow access to unauthorized files by web clients. Following symbolic links could also allow such access. |
Restrict Other Critical Directories
Rule ID | xccdf_org.ssgproject.content_rule_httpd_restrict_critical_directories |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
All accessible web directories should be configured with similarly restrictive settings.
The |
Rationale | Directories accessible from a web client should be configured with the least amount of access possible in order to avoid unauthorized access to restricted content or server information. |
Limit Available Methods
Rule ID | xccdf_org.ssgproject.content_rule_httpd_limit_available_methods |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
Web server methods are defined in section 9 of RFC 2616 (http://www.ietf.org/rfc/rfc2616.txt).
If a web server does not require the implementation of all available methods,
they should be disabled.
<Directory /var/www/html> # ... # Only allow specific methods (this command is case-sensitive!) <LimitExcept GET POST> Order allow,deny </LimitExcept> # ... </Directory> |
Rationale | Minimizing the number of available methods to the web client reduces risk by limiting the capabilities allowed by the web server. |
Install mod_ssl
Rule ID | xccdf_org.ssgproject.content_rule_httpd_install_mod_ssl |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
Install the $ sudo yum install mod_ssl |
Rationale |
|
Install mod_security
Rule ID | xccdf_org.ssgproject.content_rule_httpd_install_mod_security |
Result | notchecked |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
Install the $ sudo yum install mod_security |
Rationale |
|
Set Permissions on the /var/log/httpd/ Directory
Rule ID | xccdf_org.ssgproject.content_rule_dir_perms_var_log_httpd |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: CM-7 |
Description | Ensure that the permissions on the web server log directory is set to 700: $ sudo chmod 700 /var/log/httpd/This is its default setting. |
Rationale | Access to the web server's log files may allow an unauthorized user or attacker to access information about the web server or alter the server's log files. |
Set Permissions on the /etc/httpd/conf/ Directory
Rule ID | xccdf_org.ssgproject.content_rule_dir_perms_etc_httpd_conf |
Result | fail |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | Set permissions on the web server configuration directory to 750: $ sudo chmod 750 /etc/httpd/conf/ |
Rationale | Access to the web server's configuration files may allow an unauthorized user or attacker to access information about the web server or alter the server's configuration files. |
Disable Dovecot Service
Rule ID | xccdf_org.ssgproject.content_rule_service_dovecot_disabled |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
The $ sudo systemctl disable dovecot.service |
Rationale | Running an IMAP or POP3 server provides a network-based avenue of attack, and should be disabled if not needed. |
Uninstall dovecot Package
Rule ID | xccdf_org.ssgproject.content_rule_package_dovecot_removed |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: 3.12 |
Description | The $ sudo yum erase dovecot |
Rationale | If there is no need to make the Dovecot software available, removing it provides a safeguard against its activation. |
Enable the SSL flag in /etc/dovecot.conf
Rule ID | xccdf_org.ssgproject.content_rule_dovecot_enable_ssl |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | To allow clients to make encrypted connections the ssl = yes |
Rationale | SSL encrypt network traffic between the Dovecot server and its clients protecting user credentials, mail as it is downloaded, and clients may use SSL certificates to authenticate the server, preventing another system from impersonating the server. |
Configure Dovecot to Use the SSL Certificate file
Rule ID | xccdf_org.ssgproject.content_rule_dovecot_configure_ssl_cert |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | This option tells Dovecot where to find the the mail
server's SSL Certificate.
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem |
Rationale | SSL certificates are used by the client to authenticate the identity of the server, as well as to encrypt credentials and message traffic. Not using SSL to encrypt mail server traffic could allow unauthorized access to credentials and mail messages since they are sent in plain text over the network. |
Configure Dovecot to Use the SSL Key file
Rule ID | xccdf_org.ssgproject.content_rule_dovecot_configure_ssl_key |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | This option tells Dovecot where to find the the mail
server's SSL Key.
ssl_key = </etc/pki/dovecot/private/dovecot.pem |
Rationale | SSL certificates are used by the client to authenticate the identity of the server, as well as to encrypt credentials and message traffic. Not using SSL to encrypt mail server traffic could allow unauthorized access to credentials and mail messages since they are sent in plain text over the network. |
Disable Plaintext Authentication
Rule ID | xccdf_org.ssgproject.content_rule_dovecot_disable_plaintext_auth |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | To prevent Dovecot from attempting plaintext
authentication of clients, edit disable_plaintext_auth = yes |
Rationale | Using plain text authentication to the mail server could allow an attacker access to credentials by monitoring network traffic. |
Disable Quagga Service
Rule ID | xccdf_org.ssgproject.content_rule_service_zebra_disabled |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: SC-32, 366, SRG-OS-000480-GPOS-00227, RHEL-07-040730 |
Description |
The $ sudo systemctl disable zebra.service |
Rationale | Routing protocol daemons are typically used on routers to exchange network topology information with other routers. If routing daemons are used when not required, system network information may be unnecessarily transmitted across the network. |
Uninstall quagga Package
Rule ID | xccdf_org.ssgproject.content_rule_package_quagga_removed |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: references: SC-32, 366, SRG-OS-000480-GPOS-00227, RHEL-07-TBD |
Description |
The $ sudo yum erase quagga |
Rationale |
Routing software is typically used on routers to exchange network topology information
with other routers. If routing software is used when not required, system network
information may be unnecessarily transmitted across the network.
|
Disable Samba
Rule ID | xccdf_org.ssgproject.content_rule_service_smb_disabled |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: 1436 |
Description |
The $ sudo systemctl disable smb.service |
Rationale | Running a Samba server provides a network-based avenue of attack, and should be disabled if not needed. |
Uninstall Samba Package
Rule ID | xccdf_org.ssgproject.content_rule_package_samba_removed |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: 3.13 |
Description | The $ sudo yum erase samba |
Rationale | If there is no need to make the Samba software available, removing it provides a safeguard against its activation. |
Disable Root Access to SMB Shares
Rule ID | xccdf_org.ssgproject.content_rule_smb_server_disable_root |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | Administrators should not use administrator accounts to access Samba file and printer shares. Disable the root user and the wheel administrator group: [share] invalid users = root @wheelIf administrator accounts cannot be disabled, ensure that local machine passwords and Samba service passwords do not match. |
Rationale |
Typically, administrator access is required when Samba must create user and
machine accounts and shares. Domain member servers and standalone servers may
not need administrator access at all. If that is the case, add the invalid
users parameter to |
Require Client SMB Packet Signing, if using smbclient
Rule ID | xccdf_org.ssgproject.content_rule_require_smb_client_signing |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
To require samba clients running client signing = mandatoryRequiring samba clients such as smbclient to use packet
signing ensures they can
only communicate with servers that support packet signing.
|
Rationale | Packet signing can prevent man-in-the-middle attacks which modify SMB packets in transit. |
Require Client SMB Packet Signing, if using mount.cifs
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_smb_client_signing |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description | Require packet signing of clients who mount Samba
shares using the |
Rationale | Packet signing can prevent man-in-the-middle attacks which modify SMB packets in transit. |
Disable Squid
Rule ID | xccdf_org.ssgproject.content_rule_service_squid_disabled |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
The $ sudo systemctl disable squid.service |
Rationale | Running proxy server software provides a network-based avenue of attack, and should be removed if not needed. |
Uninstall squid Package
Rule ID | xccdf_org.ssgproject.content_rule_package_squid_removed |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: 3.14 |
Description |
The $ sudo yum erase squid |
Rationale | If there is no need to make the proxy server software available, removing it provides a safeguard against its activation. |
Disable snmpd Service
Rule ID | xccdf_org.ssgproject.content_rule_service_snmpd_disabled |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: |
Description |
The $ sudo systemctl disable snmpd.service |
Rationale | Running SNMP software provides a network-based avenue of attack, and should be disabled if not needed. |
Uninstall net-snmp Package
Rule ID | xccdf_org.ssgproject.content_rule_package_net-snmp_removed |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | identifiers: references: 3.15 |
Description | The $ sudo yum erase net-snmp |
Rationale | If there is no need to run SNMP server software, removing the package provides a safeguard against its activation. |
Configure SNMP Service to Use Only SNMPv3 or Newer
Rule ID | xccdf_org.ssgproject.content_rule_snmpd_use_newer_protocol |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | medium |
Identifiers and References | identifiers: |
Description |
Edit $ sudo service snmpd restart |
Rationale | Earlier versions of SNMP are considered insecure, as they potentially allow unauthorized access to detailed system management information. |
Ensure Default SNMP Password Is Not Used
Rule ID | xccdf_org.ssgproject.content_rule_snmpd_not_default_password |
Result | pass |
Time | 2016-07-11T14:22:44 |
Severity | high |
Identifiers and References | identifiers: references: IA-5.1(ii), 366, SRG-OS-000480-GPOS-00227, RHEL-07-040580, Test attestation on 20121214 by MAN |
Description |
Edit $ sudo service snmpd restart |
Rationale | Whether active or not, default simple network management protocol (SNMP) community strings must be changed to maintain security. If the service is running with the default authenticators, then anyone can gather data about the system and the network and use the information to potentially compromise the integrity of the system and network(s). |
Product Meets this Requirement
Rule ID | xccdf_org.ssgproject.content_rule_met_inherently_generic |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | references: 42, 56, 206, 1084, 66, 85, 86, 185, 223, 171, 172, 1694, 770, 804, 162, 163, 164, 345, 346, 1096, 1111, 1291, 386, 156, 186, 1083, 1082, 1090, 804, 1127, 1128, 1129, 1248, 1265, 1314, 1362, 1368, 1310, 1311, 1328, 1399, 1400, 1404, 1405, 1427, 1499, 1632, 1693, 1665, 1674 |
Description | This requirement is a permanent not a finding. No fix is required. |
Rationale | Red Hat Enterprise Linux meets this requirement through design and implementation. |
Product Meets this Requirement
Rule ID | xccdf_org.ssgproject.content_rule_met_inherently_auditing |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | |
Description | This requirement is a permanent not a finding. No fix is required. |
Rationale | The Red Hat Enterprise Linux audit system meets this requirement through design and implementation. |
Product Meets this Requirement
Rule ID | xccdf_org.ssgproject.content_rule_met_inherently_nonselected |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | references: 34, 35, 99, 154, 226, 802, 872, 1086, 1087, 1089, 1091, 1424, 1426, 1428, 1209, 1214, 1237, 1269, 1338, 1425, 1670 |
Description | This requirement is a permanent not a finding. No fix is required. |
Rationale | Red Hat Enterprise Linux meets this requirement through design and implementation. |
Guidance Does Not Meet this Requirement Due to Impracticality or Scope
Rule ID | xccdf_org.ssgproject.content_rule_unmet_nonfinding_nonselected_scope |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | references: 21, 25, 28, 29, 30, 165, 221, 354, 553, 779, 780, 781, 1009, 1094, 1123, 1124, 1125, 1132, 1135, 1140, 1141, 1142, 1143, 1145, 1147, 1148, 1166, 1339, 1340, 1341, 1350, 1356, 1373, 1374, 1383, 1391, 1392, 1395, 1662 |
Description | This requirement is NA. No fix is required. |
Rationale | The guidance does not meet this requirement. The requirement is impractical or out of scope. |
Implementation of the Requirement is Not Supported
Rule ID | xccdf_org.ssgproject.content_rule_unmet_finding_nonselected |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | |
Description | This requirement is a permanent finding and cannot be fixed. An appropriate mitigation for the system must be implemented but this finding cannot be considered fixed. |
Rationale | RHEL7 does not support this requirement. |
Guidance Does Not Meet this Requirement Due to Impracticality or Scope
Rule ID | xccdf_org.ssgproject.content_rule_unmet_nonfinding_scope |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | references: 15, 27, 218, 219, 371, 372, 535, 537, 539, 1682, 370, 37, 24, 1112, 1126, 1143, 1149, 1157, 1159, 1210, 1211, 1274, 1372, 1376, 1377, 1352, 1401, 1555, 1556, 1150 |
Description | This requirement is NA. No fix is required. |
Rationale | The guidance does not meet this requirement. The requirement is impractical or out of scope. |
A process for prompt installation of OS updates must exist.
Rule ID | xccdf_org.ssgproject.content_rule_update_process |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | references: 1232 |
Description | Procedures to promptly apply software updates must be established and executed. The Red Hat operating system provides support for automating such a process, by running the yum program through a cron job or by managing the system and its packages through the Red Hat Network or a Satellite Server. |
Rationale | This is a manual inquiry about update procedure. |
Procedural Requirement
Rule ID | xccdf_org.ssgproject.content_rule_c2s_procedural_requirement |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | references: https://benchmarks.cisecurity.org/tools2/linux/CIS_Red_Hat_Enterprise_Linux_7_Benchmark_v1.1.0.pdf |
Description | This requirement is procedural, and can not be met through automated means. |
Rationale | This requirement is procedural, and can not be met through automated means. |
Not Applicable to Operating System
Rule ID | xccdf_org.ssgproject.content_rule_c2s_not_OS_applicable |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | references: https://benchmarks.cisecurity.org/tools2/linux/CIS_Red_Hat_Enterprise_Linux_7_Benchmark_v1.1.0.pdf |
Description | While this requirement is applicable at an information system level, implementation is not performed within the Operating System. |
Rationale | This requirement is not applicable to an operating system. |
Product Meets this Requirement
Rule ID | xccdf_org.ssgproject.content_rule_c2s_met_inherently |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | references: https://benchmarks.cisecurity.org/tools2/linux/CIS_Red_Hat_Enterprise_Linux_7_Benchmark_v1.1.0.pdf |
Description | This requirement is permanent not a finding. No fix is required. |
Rationale | Red Hat Enterprise Linux meets this requirement through design and implementation. |
Requirement Applies to All Rules
Rule ID | xccdf_org.ssgproject.content_rule_apply_to_everything |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | references: https://benchmarks.cisecurity.org/tools2/linux/CIS_Red_Hat_Enterprise_Linux_7_Benchmark_v1.1.0.pdf |
Description | These are generic requirements, and apply to all rules |
Rationale | The following requirements apply to all rules |
Rule Compliance through Removal of xinetd
Rule ID | xccdf_org.ssgproject.content_rule_cis_xinetd |
Result | notselected |
Time | 2016-07-11T14:22:44 |
Severity | low |
Identifiers and References | references: 2.1.12, 2.1.13, 2.1.14, 2.1.15, 2.1.16, 2.1.17, 2.1.18 |
Description | The upstream CIS guidance is incorrect, stating that xinetd services can be managed through systemctl. The proper way to disable xinetd services, such as chargen-dgram, is to create a |
Rationale | These rules are inherently compliant when xinetd is removed from the system |