Guide to the Secure Configuration of Ubuntu 22.04
with profile CIS Ubuntu 22.04 Level 1 Server BenchmarkThis baseline aligns to the Center for Internet Security Ubuntu 22.04 LTS Benchmark, v1.0.0, released 08-30-2022.
https://www.open-scap.org/security-policies/scap-security-guide
scap-security-guide
package which is developed at
https://www.open-scap.org/security-policies/scap-security-guide.
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, which provides required settings for US Department of Defense systems, is one example of a baseline created from this guidance.
Evaluation Characteristics
Evaluation target | P3tBoul3 |
---|---|
Benchmark URL | /tmp/tmp.8mIdL9Hm1k |
Benchmark ID | xccdf_org.ssgproject.content_benchmark_UBUNTU_22-04 |
Profile ID | xccdf_org.ssgproject.content_profile_cis_level1_server |
Started at | 2025-05-13T15:24:10 |
Finished at | 2025-05-13T15:26:36 |
Performed by | arthur |
CPE Platforms
- cpe:/o:canonical:ubuntu_linux:22.04::~~lts~~~
Addresses
- IPv4 127.0.0.1
- IPv4 10.6.7.114
- IPv4 172.17.0.1
- IPv6 0:0:0:0:0:0:0:1
- IPv6 fe80:0:0:0:c2a7:4096:86c2:96a9
- MAC 00:00:00:00:00:00
- MAC 90:E8:68:59:AC:4F
- MAC 02:42:02:F3:EF:56
Compliance and Scoring
Rule results
Severity of failed rules
Score
Scoring system | Score | Maximum | Percent |
---|---|---|---|
urn:xccdf:scoring:default | 50.945534 | 100.000000 |
Rule Overview
Result Details
Install AIDE
Rule ID | xccdf_org.ssgproject.content_rule_package_aide_installed | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:10 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 11, 12, 13, 14, 15, 16, 2, 3, 5, 7, 8, 9, 5.10.1.3, APO01.06, BAI01.06, BAI02.01, BAI03.05, BAI06.01, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS01.03, DSS03.05, DSS04.07, DSS05.02, DSS05.03, DSS05.05, DSS05.07, DSS06.02, DSS06.06, CCI-002696, CCI-002699, CCI-001744, 4.3.4.3.2, 4.3.4.3.3, 4.3.4.4.4, SR 3.1, SR 3.3, SR 3.4, SR 3.8, SR 4.1, SR 6.2, SR 7.6, 1034, 1288, 1341, 1417, A.11.2.4, A.12.1.2, A.12.2.1, A.12.4.1, A.12.5.1, A.12.6.2, A.14.1.2, A.14.1.3, A.14.2.2, A.14.2.3, A.14.2.4, A.14.2.7, A.15.2.1, A.8.2.3, CM-6(a), DE.CM-1, DE.CM-7, PR.DS-1, PR.DS-6, PR.DS-8, PR.IP-1, PR.IP-3, Req-11.5, SRG-OS-000445-GPOS-00199, UBTU-22-651010, 1.3.1, R76, R79, 11.5.2 | ||||||||
Description | The $ apt-get install aide | ||||||||
Rationale | The AIDE package must be installed if it is to be available for integrity checking. | ||||||||
OVAL details package aide is installed failed because these items were missing:Object oval:ssg-obj_test_package_aide_installed:obj:1 of type dpkginfo_object
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Puppet snippet: (show)
| |||||||||
Remediation Shell script: (show)
| |||||||||
Build and Test AIDE Database
Rule ID | xccdf_org.ssgproject.content_rule_aide_build_database | ||||||||||||||||||||||
Result | fail | ||||||||||||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||
Identifiers and References | References: 1, 11, 12, 13, 14, 15, 16, 2, 3, 5, 7, 8, 9, 5.10.1.3, APO01.06, BAI01.06, BAI02.01, BAI03.05, BAI06.01, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS01.03, DSS03.05, DSS04.07, DSS05.02, DSS05.03, DSS05.05, DSS05.07, DSS06.02, DSS06.06, 4.3.4.3.2, 4.3.4.3.3, 4.3.4.4.4, SR 3.1, SR 3.3, SR 3.4, SR 3.8, SR 4.1, SR 6.2, SR 7.6, A.11.2.4, A.12.1.2, A.12.2.1, A.12.4.1, A.12.5.1, A.12.6.2, A.14.1.2, A.14.1.3, A.14.2.2, A.14.2.3, A.14.2.4, A.14.2.7, A.15.2.1, A.8.2.3, CM-6(a), DE.CM-1, DE.CM-7, PR.DS-1, PR.DS-6, PR.DS-8, PR.IP-1, PR.IP-3, Req-11.5, SRG-OS-000445-GPOS-00199, UBTU-22-651015, 1.3.1, R76, R79, 11.5.2 | ||||||||||||||||||||||
Description | Run the following command to generate a new database: $ sudo aideinitBy default, the database will be written to the file /var/lib/aide/aide.db.new .
Storing the database, the configuration file /etc/aide.conf , and the binary
/usr/bin/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 /var/lib/aide/aide.dbTo initiate a manual check, run the following command: $ sudo /usr/bin/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. | ||||||||||||||||||||||
OVAL details Testing existence of operational aide database file failed because these items were missing:Object oval:ssg-object_aide_operational_database_absolute_path:obj:1 of type file_object
Testing existence of operational aide database file failed because these items were missing:Object oval:ssg-object_aide_operational_database_file:obj:1 of type file_object
Testing existence of configuration for new databases failed because these items were missing:Object oval:ssg-object_aide_new_database_config:obj:1 of type textfilecontent54_object
Testing existence of dbdir variable failed because these items were missing:Object oval:ssg-object_aide_build_database_dirpath:obj:1 of type textfilecontent54_object
Testing existence of configuration for new databases failed because these items were missing:Object oval:ssg-object_aide_new_database_config_no_dbdir:obj:1 of type textfilecontent54_object
| |||||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||||
Remediation Shell script: (show)
|
Configure AIDE to Verify the Audit Tools
Rule ID | xccdf_org.ssgproject.content_rule_aide_check_audit_tools | ||||||||||||||||||||||||||||||||||||||||||||||||
Result | fail | ||||||||||||||||||||||||||||||||||||||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||||||||||||||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||||||||||||||||||||||||
Identifiers and References | References: CCI-001496, AU-9(3), AU-9(3).1, SRG-OS-000278-GPOS-00108, UBTU-22-651030, 4.1.4.11 | ||||||||||||||||||||||||||||||||||||||||||||||||
Description | The operating system file integrity tool must be configured to protect the integrity of the audit tools. | ||||||||||||||||||||||||||||||||||||||||||||||||
Rationale | Protecting the integrity of the tools used for auditing purposes is a critical step toward ensuring the integrity of audit information. Audit information includes all information (e.g., audit records, audit settings, and audit reports) needed to successfully audit information system activity. Audit tools include but are not limited to vendor-provided and open-source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators. It is not uncommon for attackers to replace the audit tools or inject code into the existing tools to provide the capability to hide or erase system activity from the audit logs. To address this risk, audit tools must be cryptographically signed to provide the capability to identify when the audit tools have been modified, manipulated, or replaced. An example is a checksum hash of the file or files. | ||||||||||||||||||||||||||||||||||||||||||||||||
OVAL details auditctl is checked in /etc/aide/aide.conf failed because these items were missing:Object oval:ssg-object_aide_verify_auditctl:obj:1 of type textfilecontent54_object
State oval:ssg-state_aide_check_attributes:ste:1 of type textfilecontent54_state
auditd is checked in /etc/aide/aide.conf failed because these items were missing:Object oval:ssg-object_aide_verify_auditd:obj:1 of type textfilecontent54_object
State oval:ssg-state_aide_check_attributes:ste:1 of type textfilecontent54_state
ausearch is checked in /etc/aide/aide.conf failed because these items were missing:Object oval:ssg-object_aide_verify_ausearch:obj:1 of type textfilecontent54_object
State oval:ssg-state_aide_check_attributes:ste:1 of type textfilecontent54_state
aureport is checked in /etc/aide/aide.conf failed because these items were missing:Object oval:ssg-object_aide_verify_aureport:obj:1 of type textfilecontent54_object
State oval:ssg-state_aide_check_attributes:ste:1 of type textfilecontent54_state
autrace is checked in /etc/aide/aide.conf failed because these items were missing:Object oval:ssg-object_aide_verify_autrace:obj:1 of type textfilecontent54_object
State oval:ssg-state_aide_check_attributes:ste:1 of type textfilecontent54_state
augenrules is checked in /etc/aide/aide.conf failed because these items were missing:Object oval:ssg-object_aide_verify_augenrules:obj:1 of type textfilecontent54_object
State oval:ssg-state_aide_check_attributes:ste:1 of type textfilecontent54_state
| |||||||||||||||||||||||||||||||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||||||||||||||||||||||||||||||
Remediation Shell script: (show)
|
Configure Periodic Execution of AIDE
Rule ID | xccdf_org.ssgproject.content_rule_aide_periodic_cron_checking | ||||||||||||||||||||||||||||||||||||||
Result | fail | ||||||||||||||||||||||||||||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||||||||||||||
Identifiers and References | References: 1, 11, 12, 13, 14, 15, 16, 2, 3, 5, 7, 8, 9, 5.10.1.3, APO01.06, BAI01.06, BAI02.01, BAI03.05, BAI06.01, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS01.03, DSS03.05, DSS04.07, DSS05.02, DSS05.03, DSS05.05, DSS05.07, DSS06.02, DSS06.06, CCI-001744, CCI-002699, CCI-002702, 4.3.4.3.2, 4.3.4.3.3, 4.3.4.4.4, SR 3.1, SR 3.3, SR 3.4, SR 3.8, SR 4.1, SR 6.2, SR 7.6, A.11.2.4, A.12.1.2, A.12.2.1, A.12.4.1, A.12.5.1, A.12.6.2, A.14.1.2, A.14.1.3, A.14.2.2, A.14.2.3, A.14.2.4, A.14.2.7, A.15.2.1, A.8.2.3, SI-7, SI-7(1), CM-6(a), DE.CM-1, DE.CM-7, PR.DS-1, PR.DS-6, PR.DS-8, PR.IP-1, PR.IP-3, Req-11.5, SRG-OS-000363-GPOS-00150, SRG-OS-000446-GPOS-00200, SRG-OS-000447-GPOS-00201, UBTU-22-651025, 1.3.2, R76, 11.5.2 | ||||||||||||||||||||||||||||||||||||||
Description | At a minimum, AIDE should be configured to run a weekly scan.
To implement a daily execution of AIDE at 4:05am using cron, add the following line to 05 4 * * * root /usr/bin/aide --config /etc/aide/aide.conf --checkTo implement a weekly execution of AIDE at 4:05am using cron, add the following line to /etc/crontab :
05 4 * * 0 root /usr/bin/aide --config /etc/aide/aide.conf --checkAIDE can be executed periodically through other means; this is merely one example. The usage of cron's special time codes, such as @daily and
@weekly is acceptable. | ||||||||||||||||||||||||||||||||||||||
Rationale | By default, AIDE does not install itself for periodic execution. Periodically
running AIDE is necessary to reveal unexpected changes in installed files.
| ||||||||||||||||||||||||||||||||||||||
OVAL details aide check scheduled in crontab for root failed because these items were missing:Object oval:ssg-obj_root_crontab_aide:obj:1 of type textfilecontent54_object
aide check scheduled in /etc/cron.* failed because these items were missing:Object oval:ssg-obj_etc_cron_aide:obj:1 of type textfilecontent54_object
aide check scheduled in /etc/crontab failed because these items were missing:Object oval:ssg-obj_etc_crontab_aide:obj:1 of type textfilecontent54_object
systemd aidecheck.service enabled failed because these items were missing:Object oval:ssg-obj_aidecheck-service_unitfilestate:obj:1 of type systemdunitproperty_object
State oval:ssg-ste_aide_is_enabled:ste:1 of type systemdunitproperty_state
systemd aidecheck.timer enabled failed because these items were missing:Object oval:ssg-obj_aidecheck-timer_unitfilestate:obj:1 of type systemdunitproperty_object
State oval:ssg-ste_aide_is_enabled:ste:1 of type systemdunitproperty_state
systemd aidecheck.timer active failed because these items were missing:Object oval:ssg-obj_aidecheck-timer_activestate:obj:1 of type systemdunitproperty_object
State oval:ssg-ste_aide_is_active:ste:1 of type systemdunitproperty_state
| |||||||||||||||||||||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||||||||||||||||||||
Remediation Shell script: (show)
|
Package "prelink" Must not be Installed
Rule ID | xccdf_org.ssgproject.content_rule_package_prelink_removed | ||
Result | pass | ||
Time | 2025-05-13T15:24:10 | ||
Severity | medium | ||
Identifiers and References | References: 1.5.2 | ||
Description | The $ apt-get remove prelink | ||
Rationale | The use of the | ||
OVAL details package prelink is removed passed because these items were not found:Object oval:ssg-obj_test_package_prelink_removed:obj:1 of type dpkginfo_object
|
Ensure /tmp Located On Separate Partition
Rule ID | xccdf_org.ssgproject.content_rule_partition_for_tmp | ||
Result | fail | ||
Time | 2025-05-13T15:24:10 | ||
Severity | low | ||
Identifiers and References | References: 12, 15, 8, APO13.01, DSS05.02, CCI-000366, SR 3.1, SR 3.5, SR 3.8, SR 4.1, SR 4.3, SR 5.1, SR 5.2, SR 5.3, SR 7.1, SR 7.6, A.13.1.1, A.13.2.1, A.14.1.3, CM-6(a), SC-5(2), PR.PT-4, SRG-OS-000480-GPOS-00227, 1.1.2.1 | ||
Description | The | ||
Rationale | The | ||
OVAL details /tmp on own partition failed because these items were missing:Object oval:ssg-object_mounttmp_own_partition:obj:1 of type partition_object
|
Disable the GNOME3 Login User List
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_disable_user_list | ||||||||||||||||
Result | fail | ||||||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||||||
Severity | medium | ||||||||||||||||
Identifiers and References | References: CM-6(a), AC-23, SRG-OS-000480-GPOS-00227, 1.8.3 | ||||||||||||||||
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. | ||||||||||||||||
OVAL details GUI user list is disabled failed because these items were missing:Object oval:ssg-obj_disable_user_list:obj:1 of type textfilecontent54_object
GUI user list cannot be enabled failed because these items were missing:Object oval:ssg-obj_prevent_user_disable_user_list:obj:1 of type textfilecontent54_object
| |||||||||||||||||
Remediation Shell script: (show)
|
Disable XDMCP in GDM
Rule ID | xccdf_org.ssgproject.content_rule_gnome_gdm_disable_xdmcp | ||||||||||||||||||||
Result | fail | ||||||||||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||||||||||
Severity | high | ||||||||||||||||||||
Identifiers and References | References: 1.8.10 | ||||||||||||||||||||
Description | XDMCP is an unencrypted protocol, and therefore, presents a security risk, see e.g.
XDMCP Gnome docs.
To disable XDMCP support in Gnome, set [xdmcp] Enable=false | ||||||||||||||||||||
Rationale | XDMCP provides unencrypted remote access through the Gnome Display Manager (GDM) which does not provide for the confidentiality and integrity of user passwords or the remote session. If a privileged user were to login using XDMCP, the privileged user password could be compromised due to typed XEvents and keystrokes will traversing over the network in clear text. | ||||||||||||||||||||
OVAL details tests the value of Enable setting in the /etc/gdm3/custom.conf file failed because these items were missing:Object oval:ssg-obj_gnome_gdm_disable_xdmcp:obj:1 of type textfilecontent54_object
State oval:ssg-state_gnome_gdm_disable_xdmcp:ste:1 of type textfilecontent54_state
The configuration file /etc/gdm3/custom.conf exists for gnome_gdm_disable_xdmcp failed because of these items:
| |||||||||||||||||||||
Remediation Shell script: (show)
|
Disable GNOME3 Automounting
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_disable_automount | ||||||||||||||||
Result | fail | ||||||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||||||
Severity | medium | ||||||||||||||||
Identifiers and References | References: 12, 16, APO13.01, DSS01.04, DSS05.03, DSS05.04, DSS05.05, DSS05.07, DSS06.03, 3.1.7, CCI-000366, CCI-000778, CCI-001958, 4.3.3.2.2, 4.3.3.5.2, 4.3.3.6.6, 4.3.3.7.2, 4.3.3.7.4, SR 1.1, SR 1.13, SR 1.2, SR 1.4, SR 1.5, SR 1.9, SR 2.1, SR 2.6, A.11.2.6, A.13.1.1, A.13.2.1, A.6.2.1, A.6.2.2, A.7.1.1, A.9.2.1, CM-7(a), CM-7(b), CM-6(a), PR.AC-3, PR.AC-6, SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163, SRG-OS-000480-GPOS-00227, 1.8.6, 3.4.2 | ||||||||||||||||
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 within GNOME3, add or set
[org/gnome/desktop/media-handling] automount=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/desktop/media-handling/automountAfter 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. | ||||||||||||||||
OVAL details Disable automount in GNOME3 failed because these items were missing:Object oval:ssg-obj_dconf_gnome_disable_automount:obj:1 of type textfilecontent54_object
Prevent user from changing automount setting failed because these items were missing:Object oval:ssg-obj_prevent_user_gnome_automount:obj:1 of type textfilecontent54_object
| |||||||||||||||||
Remediation Shell script: (show)
|
Disable GNOME3 Automount Opening
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_disable_automount_open | ||||||||||||||||
Result | fail | ||||||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||||||
Severity | medium | ||||||||||||||||
Identifiers and References | References: 12, 16, APO13.01, DSS01.04, DSS05.03, DSS05.04, DSS05.05, DSS05.07, DSS06.03, 3.1.7, CCI-000366, CCI-000778, CCI-001958, 4.3.3.2.2, 4.3.3.5.2, 4.3.3.6.6, 4.3.3.7.2, 4.3.3.7.4, SR 1.1, SR 1.13, SR 1.2, SR 1.4, SR 1.5, SR 1.9, SR 2.1, SR 2.6, A.11.2.6, A.13.1.1, A.13.2.1, A.6.2.1, A.6.2.2, A.7.1.1, A.9.2.1, CM-7(a), CM-7(b), CM-6(a), PR.AC-3, PR.AC-6, SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163, SRG-OS-000480-GPOS-00227, 1.8.6, 3.4.2 | ||||||||||||||||
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-open within GNOME3, add or set
[org/gnome/desktop/media-handling] automount-open=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/desktop/media-handling/automount-openAfter the settings have been set, run dconf update . | ||||||||||||||||
Rationale | Automatically mounting file systems permits easy introduction of unknown devices, thereby facilitating malicious activity. 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. | ||||||||||||||||
OVAL details Disable automount-open in GNOME failed because these items were missing:Object oval:ssg-obj_dconf_gnome_disable_automount_open:obj:1 of type textfilecontent54_object
Prevent user from changing automount-open setting failed because these items were missing:Object oval:ssg-obj_prevent_user_gnome_automount_open:obj:1 of type textfilecontent54_object
| |||||||||||||||||
Remediation Shell script: (show)
|
Disable GNOME3 Automount running
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_disable_autorun | ||||||||||||||||
Result | fail | ||||||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||||||
Severity | low | ||||||||||||||||
Identifiers and References | References: 12, 16, APO13.01, DSS01.04, DSS05.03, DSS05.04, DSS05.05, DSS05.07, DSS06.03, 3.1.7, CCI-000366, CCI-000778, CCI-001958, 4.3.3.2.2, 4.3.3.5.2, 4.3.3.6.6, 4.3.3.7.2, 4.3.3.7.4, SR 1.1, SR 1.13, SR 1.2, SR 1.4, SR 1.5, SR 1.9, SR 2.1, SR 2.6, A.11.2.6, A.13.1.1, A.13.2.1, A.6.2.1, A.6.2.2, A.7.1.1, A.9.2.1, CM-7(a), CM-7(b), CM-6(a), PR.AC-3, PR.AC-6, SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163, SRG-OS-000480-GPOS-00227, 1.8.8 | ||||||||||||||||
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 autorun-never within GNOME3, add or set
[org/gnome/desktop/media-handling] 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/autorun-neverAfter the settings have been set, run dconf update . | ||||||||||||||||
Rationale | Automatically mounting file systems permits easy introduction of unknown devices, thereby facilitating malicious activity. Disabling automatic mount running in GNOME3 can prevent the introduction of malware via removable media. It will, however, also prevent desktop users from legitimate use of removable media. | ||||||||||||||||
OVAL details Disable autorun in GNOME failed because these items were missing:Object oval:ssg-obj_dconf_gnome_disable_autorun:obj:1 of type textfilecontent54_object
Prevent user from changing autorun setting failed because these items were missing:Object oval:ssg-obj_prevent_user_gnome_autorun:obj:1 of type textfilecontent54_object
| |||||||||||||||||
Remediation Shell script: (show)
|
Set GNOME3 Screensaver Lock Delay After Activation Period
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_screensaver_lock_delay | ||||||||||||||||||
Result | fail | ||||||||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||||||||
Severity | medium | ||||||||||||||||||
Identifiers and References | References: 1, 12, 15, 16, DSS05.04, DSS05.10, DSS06.10, 3.1.10, CCI-000056, CCI-000057, CCI-000060, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, SR 1.1, SR 1.10, SR 1.2, SR 1.5, SR 1.7, SR 1.8, SR 1.9, A.18.1.4, A.9.2.1, A.9.2.4, A.9.3.1, A.9.4.2, A.9.4.3, AC-11(a), CM-6(a), PR.AC-7, FMT_MOF_EXT.1, Req-8.1.8, SRG-OS-000029-GPOS-00010, SRG-OS-000031-GPOS-00012, UBTU-22-271025, 1.8.5, 8.2.8 | ||||||||||||||||||
Description | To activate the locking delay of the screensaver in the GNOME3 desktop when
the screensaver is activated, add or set [org/gnome/desktop/screensaver] lock-delay=uint32 0After 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. | ||||||||||||||||||
OVAL details screensaver lock is set correctly failed because these items were missing:Object oval:ssg-obj_screensaver_lock_delay:obj:1 of type textfilecontent54_object
screensaver lock delay setting is correct failed because these items were missing:Object oval:ssg-obj_screensaver_lock_delay_setting:obj:1 of type textfilecontent54_object
State oval:ssg-state_screensaver_lock_delay_setting:ste:1 of type textfilecontent54_state
| |||||||||||||||||||
Remediation Shell script: (show)
|
Enable GNOME3 Screensaver Lock After Idle Period
Rule ID | xccdf_org.ssgproject.content_rule_dconf_gnome_screensaver_lock_enabled | ||||||||||||||||
Result | fail | ||||||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||||||
Severity | medium | ||||||||||||||||
Identifiers and References | References: 1, 12, 15, 16, 5.5.5, DSS05.04, DSS05.10, DSS06.10, 3.1.10, CCI-000056, CCI-000058, CCI-000060, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, SR 1.1, SR 1.10, SR 1.2, SR 1.5, SR 1.7, SR 1.8, SR 1.9, A.18.1.4, A.9.2.1, A.9.2.4, A.9.3.1, A.9.4.2, A.9.4.3, CM-6(a), PR.AC-7, FMT_MOF_EXT.1, Req-8.1.8, SRG-OS-000028-GPOS-00009, SRG-OS-000030-GPOS-00011, UBTU-22-271020, 1.8.4, 8.2.8 | ||||||||||||||||
Description |
To activate locking of the screensaver in the GNOME3 desktop when it is activated,
add or set [org/gnome/desktop/screensaver] lock-enabled=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/screensaver/lock-enabledAfter 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. | ||||||||||||||||
OVAL details screensaver lock is enabled failed because these items were missing:Object oval:ssg-obj_screensaver_lock_enabled:obj:1 of type textfilecontent54_object
screensaver lock cannot be changed by user failed because these items were missing:Object oval:ssg-obj_prevent_user_screensaver_lock:obj:1 of type textfilecontent54_object
| |||||||||||||||||
Remediation Shell script: (show)
|
Install sudo Package
Rule ID | xccdf_org.ssgproject.content_rule_package_sudo_installed | ||||||||||||
Result | pass | ||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||
Severity | medium | ||||||||||||
Identifiers and References | References: 1382, 1384, 1386, CM-6(a), FMT_MOF_EXT.1, SRG-OS-000324-GPOS-00125, 5.3.1, R33, 2.2.6 | ||||||||||||
Description | The $ apt-get install sudo | ||||||||||||
Rationale |
| ||||||||||||
OVAL details package sudo is installed passed because of these items:
|
Ensure Only Users Logged In To Real tty Can Execute Sudo - sudo use_pty
Rule ID | xccdf_org.ssgproject.content_rule_sudo_add_use_pty | ||||||||
Result | error | ||||||||
Time | 2025-05-13T15:24:10 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: Req-10.2.5, 5.3.2, R39, 2.2.6 | ||||||||
Description | The sudo | ||||||||
Rationale | Requiring that sudo commands be run in a pseudo-terminal can prevent an attacker from retaining access to the user's terminal after the main program has finished executing. | ||||||||
OVAL details use_pty exists in /etc/sudoers or /etc/sudoers.d/ failed because these items were missing:Object oval:ssg-object_use_pty_sudoers:obj:1 of type textfilecontent54_object
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Ensure Sudo Logfile Exists - sudo logfile
Rule ID | xccdf_org.ssgproject.content_rule_sudo_custom_logfile | ||||||||
Result | error | ||||||||
Time | 2025-05-13T15:24:10 | ||||||||
Severity | low | ||||||||
Identifiers and References | References: Req-10.2.5, 5.3.3, 2.2.6 | ||||||||
Description | A custom log sudo file can be configured with the 'logfile' tag. This rule configures a sudo custom logfile at the default location suggested by CIS, which uses /var/log/sudo.log. | ||||||||
Rationale | A sudo log file simplifies auditing of sudo commands. | ||||||||
OVAL details logfile exists in /etc/sudoers or /etc/sudoers.d/ failed because these items were missing:Object oval:ssg-object_logfile_sudoers:obj:1 of type textfilecontent54_object
State oval:ssg-state_logfile_sudoers:ste:1 of type textfilecontent54_state
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Ensure Users Re-Authenticate for Privilege Escalation - sudo !authenticate
Rule ID | xccdf_org.ssgproject.content_rule_sudo_remove_no_authenticate | ||||||||||||||
Result | error | ||||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||||
Severity | medium | ||||||||||||||
Identifiers and References | References: 1, 12, 15, 16, 5, DSS05.04, DSS05.10, DSS06.03, DSS06.10, CCI-002038, 4.3.3.5.1, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, SR 1.1, SR 1.10, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.7, SR 1.8, SR 1.9, A.18.1.4, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.2, A.9.4.3, IA-11, CM-6(a), PR.AC-1, PR.AC-7, SRG-OS-000373-GPOS-00156, SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPOS-00158, 5.3.5 | ||||||||||||||
Description | The sudo | ||||||||||||||
Rationale | Without re-authentication, users may access resources or perform tasks for which they
do not have authorization.
| ||||||||||||||
OVAL details !authenticate does not exist in /etc/sudoers failed because these items were missing:Object oval:ssg-object_no_authenticate_etc_sudoers:obj:1 of type textfilecontent54_object
!authenticate does not exist in /etc/sudoers.d failed because these items were missing:Object oval:ssg-object_no_authenticate_etc_sudoers_d:obj:1 of type textfilecontent54_object
| |||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||
Remediation Shell script: (show)
|
Require Re-Authentication When Using the sudo Command
Rule ID | xccdf_org.ssgproject.content_rule_sudo_require_reauthentication | ||||||||||||
Result | error | ||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||
Severity | medium | ||||||||||||
Identifiers and References | References: CCI-002038, IA-11, SRG-OS-000373-GPOS-00156, SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPOS-00158, 5.3.6, 2.2.6 | ||||||||||||
Description | The sudo | ||||||||||||
Rationale | Without re-authentication, users may access resources or perform tasks for which they
do not have authorization.
| ||||||||||||
OVAL details check correct configuration in /etc/sudoers failed because these items were missing:Object oval:ssg-obj_sudo_timestamp_timeout:obj:1 of type textfilecontent54_object
check correct configuration in /etc/sudoers failed because these items were missing:Object oval:ssg-obj_sudo_timestamp_timeout_no_signs:obj:1 of type textfilecontent54_object
| |||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||
Remediation Shell script: (show)
|
Verify Group Ownership of System Login Banner
Rule ID | xccdf_org.ssgproject.content_rule_file_groupowner_etc_issue | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:24:10 | ||||||
Severity | medium | ||||||
Identifiers and References | References: 1.7.5 | ||||||
Description |
To properly set the group owner of $ sudo chgrp root /etc/issue | ||||||
Rationale | Display of a standardized and approved use notification before granting
access to the operating system ensures privacy and security notification
verbiage used is consistent with applicable federal laws, Executive Orders,
directives, policies, regulations, standards, and guidance. | ||||||
OVAL details Testing group ownership of /etc/issue passed because these items were not found:Object oval:ssg-object_file_groupowner_etc_issue_0:obj:1 of type file_object
|
Verify Group Ownership of System Login Banner for Remote Connections
Rule ID | xccdf_org.ssgproject.content_rule_file_groupowner_etc_issue_net | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:24:10 | ||||||
Severity | medium | ||||||
Identifiers and References | |||||||
Description |
To properly set the group owner of $ sudo chgrp root /etc/issue.net | ||||||
Rationale | Display of a standardized and approved use notification before granting
access to the operating system ensures privacy and security notification
verbiage used is consistent with applicable federal laws, Executive Orders,
directives, policies, regulations, standards, and guidance. | ||||||
OVAL details Testing group ownership of /etc/issue.net passed because these items were not found:Object oval:ssg-object_file_groupowner_etc_issue_net_0:obj:1 of type file_object
|
Verify Group Ownership of Message of the Day Banner
Rule ID | xccdf_org.ssgproject.content_rule_file_groupowner_etc_motd | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:24:10 | ||||||
Severity | medium | ||||||
Identifiers and References | References: 1.7.4 | ||||||
Description |
To properly set the group owner of $ sudo chgrp root /etc/motd | ||||||
Rationale | Display of a standardized and approved use notification before granting
access to the operating system ensures privacy and security notification
verbiage used is consistent with applicable federal laws, Executive Orders,
directives, policies, regulations, standards, and guidance. | ||||||
OVAL details Testing group ownership of /etc/motd passed because these items were not found:Object oval:ssg-object_file_groupowner_etc_motd_0:obj:1 of type file_object
|
Verify ownership of System Login Banner
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_etc_issue | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:24:10 | ||||||
Severity | medium | ||||||
Identifiers and References | References: 1.7.5 | ||||||
Description |
To properly set the owner of $ sudo chown root /etc/issue | ||||||
Rationale | Display of a standardized and approved use notification before granting
access to the operating system ensures privacy and security notification
verbiage used is consistent with applicable federal laws, Executive Orders,
directives, policies, regulations, standards, and guidance. | ||||||
OVAL details Testing user ownership of /etc/issue passed because these items were not found:Object oval:ssg-object_file_owner_etc_issue_0:obj:1 of type file_object
|
Verify ownership of System Login Banner for Remote Connections
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_etc_issue_net | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:24:10 | ||||||
Severity | medium | ||||||
Identifiers and References | |||||||
Description |
To properly set the owner of $ sudo chown root /etc/issue.net | ||||||
Rationale | Display of a standardized and approved use notification before granting
access to the operating system ensures privacy and security notification
verbiage used is consistent with applicable federal laws, Executive Orders,
directives, policies, regulations, standards, and guidance. | ||||||
OVAL details Testing user ownership of /etc/issue.net passed because these items were not found:Object oval:ssg-object_file_owner_etc_issue_net_0:obj:1 of type file_object
|
Verify ownership of Message of the Day Banner
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_etc_motd | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:24:10 | ||||||
Severity | medium | ||||||
Identifiers and References | References: 1.7.4 | ||||||
Description |
To properly set the owner of $ sudo chown root /etc/motd | ||||||
Rationale | Display of a standardized and approved use notification before granting
access to the operating system ensures privacy and security notification
verbiage used is consistent with applicable federal laws, Executive Orders,
directives, policies, regulations, standards, and guidance. | ||||||
OVAL details Testing user ownership of /etc/motd passed because these items were not found:Object oval:ssg-object_file_owner_etc_motd_0:obj:1 of type file_object
|
Limit Password Reuse
Rule ID | xccdf_org.ssgproject.content_rule_accounts_password_pam_unix_remember | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:10 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 12, 15, 16, 5, 5.6.2.1.1, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.03, DSS06.10, 3.5.8, CCI-000200, 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.2, 4.3.3.7.4, SR 1.1, SR 1.10, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.7, SR 1.8, SR 1.9, SR 2.1, A.18.1.4, A.7.1.1, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.2, A.9.4.3, IA-5(f), IA-5(1)(e), PR.AC-1, PR.AC-6, PR.AC-7, Req-8.2.5, SRG-OS-000077-GPOS-00045, UBTU-22-611050, 5.4.3, R31, 8.3.7 | ||||||||
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. | ||||||||
Warnings | warning
If the system relies on authselect tool to manage PAM settings, the remediation
will also use authselect tool. However, if any manual modification was made in
PAM files, the authselect integrity check will fail and the remediation will be
aborted in order to preserve intentional changes. In this case, an informative message will
be shown in the remediation report.warning
Newer versions of authselect contain an authselect feature to easily and properly
enable pam_pwhistory.so module. If this feature is not yet available in your
system, an authselect custom profile must be used to avoid integrity issues in PAM files. | ||||||||
OVAL details Test if remember attribute of pam_unix.so is set correctly in /etc/pam.d/common-password failed because these items were missing:Object oval:ssg-object_accounts_password_pam_unix_remember:obj:1 of type textfilecontent54_object
State oval:ssg-state_accounts_password_pam_unix_remember:ste:1 of type textfilecontent54_state
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Lock Accounts After Failed Password Attempts
Rule ID | xccdf_org.ssgproject.content_rule_accounts_passwords_pam_faillock_deny | ||||||||||||||||||||||||||||||||||||||||||||||||||
Result | fail | ||||||||||||||||||||||||||||||||||||||||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||||||||||||||||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||||||||||||||||||||||||||
Identifiers and References | References: 1, 12, 15, 16, 5.5.3, DSS05.04, DSS05.10, DSS06.10, 3.1.8, CCI-000044, CCI-002236, CCI-002237, CCI-002238, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, SR 1.1, SR 1.10, SR 1.2, SR 1.5, SR 1.7, SR 1.8, SR 1.9, 0421, 0422, 0431, 0974, 1173, 1401, 1504, 1505, 1546, 1557, 1558, 1559, 1560, 1561, A.18.1.4, A.9.2.1, A.9.2.4, A.9.3.1, A.9.4.2, A.9.4.3, CM-6(a), AC-7(a), PR.AC-7, FIA_AFL.1, Req-8.1.6, SRG-OS-000329-GPOS-00128, SRG-OS-000021-GPOS-00005, UBTU-22-411045, 5.4.2, R31, 8.3.4 | ||||||||||||||||||||||||||||||||||||||||||||||||||
Description | This rule configures the system to lock out accounts after a number of incorrect login attempts
using | ||||||||||||||||||||||||||||||||||||||||||||||||||
Rationale | By limiting the number of failed logon attempts, the risk of unauthorized system access via user password guessing, also known as brute-forcing, is reduced. Limits are imposed by locking the account. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Warnings | warning
If the system relies on authselect tool to manage PAM settings, the remediation
will also use authselect tool. However, if any manual modification was made in
PAM files, the authselect integrity check will fail and the remediation will be
aborted in order to preserve intentional changes. In this case, an informative message will
be shown in the remediation report.
If the system supports the /etc/security/faillock.conf file, the pam_faillock
parameters should be defined in faillock.conf file. | ||||||||||||||||||||||||||||||||||||||||||||||||||
OVAL details No more than one pam_unix.so is expected in auth section of common-auth failed because these items were missing:Object oval:ssg-object_accounts_passwords_pam_faillock_deny_common_pam_unix_auth:obj:1 of type textfilecontent54_object
One and only one occurrence is expected in auth section of common-auth failed because these items were missing:Object oval:ssg-object_accounts_passwords_pam_faillock_deny_common_pam_faillock_auth:obj:1 of type textfilecontent54_object
One and only one occurrence is expected in common-account failed because these items were missing:Object oval:ssg-object_accounts_passwords_pam_faillock_deny_common_pam_faillock_account:obj:1 of type textfilecontent54_object
Check the expected deny value in common-auth failed because these items were missing:Object oval:ssg-object_accounts_passwords_pam_faillock_deny_parameter_pamd_common:obj:1 of type textfilecontent54_object
State oval:ssg-state_accounts_passwords_pam_faillock_deny_parameter_upper_bound:ste:1 of type textfilecontent54_state
Check the absence of deny parameter in /etc/security/faillock.conf failed because these items were missing:Object oval:ssg-object_accounts_passwords_pam_faillock_deny_parameter_faillock_conf:obj:1 of type textfilecontent54_object
Check the absence of deny parameter in common-auth failed because these items were missing:Object oval:ssg-object_accounts_passwords_pam_faillock_deny_parameter_pamd_common:obj:1 of type textfilecontent54_object
Check the expected deny value in /etc/security/faillock.conf failed because these items were missing:Object oval:ssg-object_accounts_passwords_pam_faillock_deny_parameter_faillock_conf:obj:1 of type textfilecontent54_object
State oval:ssg-state_accounts_passwords_pam_faillock_deny_parameter_upper_bound:ste:1 of type textfilecontent54_state
| |||||||||||||||||||||||||||||||||||||||||||||||||||
Remediation Shell script: (show)
|
Set Interval For Counting Failed Password Attempts
Rule ID | xccdf_org.ssgproject.content_rule_accounts_passwords_pam_faillock_interval | ||||||||||||||||||||||||||||||||||||||||||||||||||
Result | fail | ||||||||||||||||||||||||||||||||||||||||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||||||||||||||||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||||||||||||||||||||||||||
Identifiers and References | References: 1, 12, 15, 16, DSS05.04, DSS05.10, DSS06.10, CCI-000044, CCI-002236, CCI-002237, CCI-002238, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, SR 1.1, SR 1.10, SR 1.2, SR 1.5, SR 1.7, SR 1.8, SR 1.9, 0421, 0422, 0431, 0974, 1173, 1401, 1504, 1505, 1546, 1557, 1558, 1559, 1560, 1561, A.18.1.4, A.9.2.1, A.9.2.4, A.9.3.1, A.9.4.2, A.9.4.3, CM-6(a), AC-7(a), PR.AC-7, FIA_AFL.1, SRG-OS-000329-GPOS-00128, SRG-OS-000021-GPOS-00005, UBTU-22-411045, 5.4.2, R31 | ||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Utilizing | ||||||||||||||||||||||||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Warnings | warning
If the system relies on authselect tool to manage PAM settings, the remediation
will also use authselect tool. However, if any manual modification was made in
PAM files, the authselect integrity check will fail and the remediation will be
aborted in order to preserve intentional changes. In this case, an informative message will
be shown in the remediation report.
If the system supports the /etc/security/faillock.conf file, the pam_faillock
parameters should be defined in faillock.conf file. | ||||||||||||||||||||||||||||||||||||||||||||||||||
OVAL details No more than one pam_unix.so is expected in auth section of common-auth failed because these items were missing:Object oval:ssg-object_accounts_passwords_pam_faillock_fail_interval_common_pam_unix_auth:obj:1 of type textfilecontent54_object
One and only one occurrence is expected in auth section of common-auth failed because these items were missing:Object oval:ssg-object_accounts_passwords_pam_faillock_fail_interval_common_pam_faillock_auth:obj:1 of type textfilecontent54_object
One and only one occurrence is expected in common-account failed because these items were missing:Object oval:ssg-object_accounts_passwords_pam_faillock_fail_interval_common_pam_faillock_account:obj:1 of type textfilecontent54_object
Check the expected fail_interval value in common-auth failed because these items were missing:Object oval:ssg-object_accounts_passwords_pam_faillock_fail_interval_parameter_pamd_common:obj:1 of type textfilecontent54_object
State oval:ssg-state_accounts_passwords_pam_faillock_fail_interval_parameter_lower_bound:ste:1 of type textfilecontent54_state
Check the absence of fail_interval parameter in /etc/security/faillock.conf failed because these items were missing:Object oval:ssg-object_accounts_passwords_pam_faillock_fail_interval_parameter_faillock_conf:obj:1 of type textfilecontent54_object
Check the absence of fail_interval parameter in common-auth failed because these items were missing:Object oval:ssg-object_accounts_passwords_pam_faillock_fail_interval_parameter_pamd_common:obj:1 of type textfilecontent54_object
Check the expected fail_interval value in /etc/security/faillock.conf failed because these items were missing:Object oval:ssg-object_accounts_passwords_pam_faillock_fail_interval_parameter_faillock_conf:obj:1 of type textfilecontent54_object
State oval:ssg-state_accounts_passwords_pam_faillock_fail_interval_parameter_lower_bound:ste:1 of type textfilecontent54_state
| |||||||||||||||||||||||||||||||||||||||||||||||||||
Remediation Shell script: (show)
|
Set Lockout Time for Failed Password Attempts
Rule ID | xccdf_org.ssgproject.content_rule_accounts_passwords_pam_faillock_unlock_time | ||||||||||||||||||||||||||||||||||||||||||||||||||
Result | fail | ||||||||||||||||||||||||||||||||||||||||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||||||||||||||||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||||||||||||||||||||||||||
Identifiers and References | References: 1, 12, 15, 16, 5.5.3, DSS05.04, DSS05.10, DSS06.10, 3.1.8, CCI-000044, CCI-002236, CCI-002237, CCI-002238, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, SR 1.1, SR 1.10, SR 1.2, SR 1.5, SR 1.7, SR 1.8, SR 1.9, 0421, 0422, 0431, 0974, 1173, 1401, 1504, 1505, 1546, 1557, 1558, 1559, 1560, 1561, A.18.1.4, A.9.2.1, A.9.2.4, A.9.3.1, A.9.4.2, A.9.4.3, CM-6(a), AC-7(b), PR.AC-7, FIA_AFL.1, Req-8.1.7, SRG-OS-000329-GPOS-00128, SRG-OS-000021-GPOS-00005, UBTU-22-411045, 5.4.2, R31, 8.3.4 | ||||||||||||||||||||||||||||||||||||||||||||||||||
Description | This rule configures the system to lock out accounts during a specified time period after a
number of incorrect login attempts using | ||||||||||||||||||||||||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Warnings | warning
If the system supports the new /etc/security/faillock.conf file but the
pam_faillock.so parameters are defined directly in /etc/pam.d/system-auth and
/etc/pam.d/password-auth , the remediation will migrate the unlock_time parameter
to /etc/security/faillock.conf to ensure compatibility with authselect tool.
The parameters deny and fail_interval , if used, also have to be migrated
by their respective remediation.warning
If the system relies on authselect tool to manage PAM settings, the remediation
will also use authselect tool. However, if any manual modification was made in
PAM files, the authselect integrity check will fail and the remediation will be
aborted in order to preserve intentional changes. In this case, an informative message will
be shown in the remediation report.
If the system supports the /etc/security/faillock.conf file, the pam_faillock
parameters should be defined in faillock.conf file. | ||||||||||||||||||||||||||||||||||||||||||||||||||
OVAL details No more than one pam_unix.so is expected in auth section of common-auth failed because these items were missing:Object oval:ssg-object_accounts_passwords_pam_faillock_unlock_time_common_pam_unix_auth:obj:1 of type textfilecontent54_object
One and only one occurrence is expected in auth section of common-auth failed because these items were missing:Object oval:ssg-object_accounts_passwords_pam_faillock_unlock_time_common_pam_faillock_auth:obj:1 of type textfilecontent54_object
One and only one occurrence is expected in common-account failed because these items were missing:Object oval:ssg-object_accounts_passwords_pam_faillock_unlock_time_common_pam_faillock_account:obj:1 of type textfilecontent54_object
Check the expected unlock_time value in common-auth failed because these items were missing:Object oval:ssg-object_accounts_passwords_pam_faillock_unlock_time_parameter_pamd_common:obj:1 of type textfilecontent54_object
State oval:ssg-state_accounts_passwords_pam_faillock_unlock_time_parameter_lower_bound:ste:1 of type textfilecontent54_state
Check the absence of unlock_time parameter in /etc/security/faillock.conf failed because these items were missing:Object oval:ssg-object_accounts_passwords_pam_faillock_unlock_time_parameter_faillock_conf:obj:1 of type textfilecontent54_object
Check the absence of unlock_time parameter in common-auth failed because these items were missing:Object oval:ssg-object_accounts_passwords_pam_faillock_unlock_time_parameter_pamd_common:obj:1 of type textfilecontent54_object
Check the expected unlock_time value in /etc/security/faillock.conf failed because these items were missing:Object oval:ssg-object_accounts_passwords_pam_faillock_unlock_time_parameter_faillock_conf:obj:1 of type textfilecontent54_object
State oval:ssg-state_accounts_passwords_pam_faillock_unlock_time_parameter_lower_bound:ste:1 of type textfilecontent54_state
| |||||||||||||||||||||||||||||||||||||||||||||||||||
Remediation Shell script: (show)
|
Ensure PAM Enforces Password Requirements - Minimum Digit Characters
Rule ID | xccdf_org.ssgproject.content_rule_accounts_password_pam_dcredit | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:10 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 12, 15, 16, 5, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.03, DSS06.10, CCI-000194, 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.2, 4.3.3.7.4, SR 1.1, SR 1.10, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.7, SR 1.8, SR 1.9, SR 2.1, 0421, 0422, 0431, 0974, 1173, 1401, 1504, 1505, 1546, 1557, 1558, 1559, 1560, 1561, A.18.1.4, A.7.1.1, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.2, A.9.4.3, IA-5(c), IA-5(1)(a), CM-6(a), IA-5(4), PR.AC-1, PR.AC-6, PR.AC-7, FMT_SMF_EXT.1, Req-8.2.3, SRG-OS-000071-GPOS-00039, UBTU-22-611020, 5.4.1, R31, 8.3.6 | ||||||||
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.
| ||||||||
OVAL details check the configuration of /etc/security/pwquality.conf failed because these items were missing:Object oval:ssg-obj_password_pam_pwquality_dcredit:obj:1 of type textfilecontent54_object
State oval:ssg-state_password_pam_dcredit:ste:1 of type textfilecontent54_state
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Ensure PAM Enforces Password Requirements - Minimum Lowercase Characters
Rule ID | xccdf_org.ssgproject.content_rule_accounts_password_pam_lcredit | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:10 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 12, 15, 16, 5, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.03, DSS06.10, CCI-000193, 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.2, 4.3.3.7.4, SR 1.1, SR 1.10, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.7, SR 1.8, SR 1.9, SR 2.1, 0421, 0422, 0431, 0974, 1173, 1401, 1504, 1505, 1546, 1557, 1558, 1559, 1560, 1561, A.18.1.4, A.7.1.1, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.2, A.9.4.3, IA-5(c), IA-5(1)(a), CM-6(a), IA-5(4), PR.AC-1, PR.AC-6, PR.AC-7, FMT_SMF_EXT.1, Req-8.2.3, SRG-OS-000070-GPOS-00038, UBTU-22-611015, 5.4.1, R31, 8.3.6 | ||||||||
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.
| ||||||||
OVAL details check the configuration of /etc/security/pwquality.conf failed because these items were missing:Object oval:ssg-obj_password_pam_pwquality_lcredit:obj:1 of type textfilecontent54_object
State oval:ssg-state_password_pam_lcredit:ste:1 of type textfilecontent54_state
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Ensure PAM Enforces Password Requirements - Minimum Different Categories
Rule ID | xccdf_org.ssgproject.content_rule_accounts_password_pam_minclass | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:10 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 12, 15, 16, 5, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.03, DSS06.10, CCI-000195, 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.2, 4.3.3.7.4, SR 1.1, SR 1.10, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.7, SR 1.8, SR 1.9, SR 2.1, 0421, 0422, 0431, 0974, 1173, 1401, 1504, 1505, 1546, 1557, 1558, 1559, 1560, 1561, A.18.1.4, A.7.1.1, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.2, A.9.4.3, IA-5(c), IA-5(1)(a), CM-6(a), IA-5(4), PR.AC-1, PR.AC-6, PR.AC-7, SRG-OS-000072-GPOS-00040, 5.4.1, R68 | ||||||||
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.
| ||||||||
OVAL details check the configuration of /etc/security/pwquality.conf failed because these items were missing:Object oval:ssg-obj_password_pam_pwquality_minclass:obj:1 of type textfilecontent54_object
State oval:ssg-state_password_pam_minclass:ste:1 of type textfilecontent54_state
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Ensure PAM Enforces Password Requirements - Minimum Length
Rule ID | xccdf_org.ssgproject.content_rule_accounts_password_pam_minlen | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:10 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 12, 15, 16, 5, 5.6.2.1.1, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.03, DSS06.10, CCI-000205, 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.2, 4.3.3.7.4, SR 1.1, SR 1.10, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.7, SR 1.8, SR 1.9, SR 2.1, 0421, 0422, 0431, 0974, 1173, 1401, 1504, 1505, 1546, 1557, 1558, 1559, 1560, 1561, A.18.1.4, A.7.1.1, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.2, A.9.4.3, IA-5(c), IA-5(1)(a), CM-6(a), IA-5(4), PR.AC-1, PR.AC-6, PR.AC-7, FMT_SMF_EXT.1, Req-8.2.3, SRG-OS-000078-GPOS-00046, UBTU-22-611035, 5.4.1, R31, R68, 8.3.6 | ||||||||
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.
| ||||||||
OVAL details check the configuration of /etc/security/pwquality.conf failed because these items were missing:Object oval:ssg-obj_password_pam_pwquality_minlen:obj:1 of type textfilecontent54_object
State oval:ssg-state_password_pam_minlen:ste:1 of type textfilecontent54_state
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Ensure PAM Enforces Password Requirements - Minimum Special Characters
Rule ID | xccdf_org.ssgproject.content_rule_accounts_password_pam_ocredit | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:10 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 12, 15, 16, 5, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.03, DSS06.10, CCI-001619, 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.2, 4.3.3.7.4, SR 1.1, SR 1.10, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.7, SR 1.8, SR 1.9, SR 2.1, 0421, 0422, 0431, 0974, 1173, 1401, 1504, 1505, 1546, 1557, 1558, 1559, 1560, 1561, A.18.1.4, A.7.1.1, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.2, A.9.4.3, IA-5(c), IA-5(1)(a), CM-6(a), IA-5(4), PR.AC-1, PR.AC-6, PR.AC-7, FMT_SMF_EXT.1, SRG-OS-000266-GPOS-00101, UBTU-22-611025, 5.4.1, R31 | ||||||||
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.
| ||||||||
OVAL details check the configuration of /etc/security/pwquality.conf failed because these items were missing:Object oval:ssg-obj_password_pam_pwquality_ocredit:obj:1 of type textfilecontent54_object
State oval:ssg-state_password_pam_ocredit:ste:1 of type textfilecontent54_state
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Ensure PAM Enforces Password Requirements - Authentication Retry Prompts Permitted Per-Session
Rule ID | xccdf_org.ssgproject.content_rule_accounts_password_pam_retry | ||||||||||||||||
Result | pass | ||||||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||||||
Severity | medium | ||||||||||||||||
Identifiers and References | References: 1, 11, 12, 15, 16, 3, 5, 9, 5.5.3, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.03, DSS06.10, CCI-000192, CCI-000366, 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.2, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.18.1.4, A.7.1.1, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.2, A.9.4.3, CM-6(a), AC-7(a), IA-5(4), PR.AC-1, PR.AC-6, PR.AC-7, PR.IP-1, FMT_MOF_EXT.1, SRG-OS-000069-GPOS-00037, SRG-OS-000480-GPOS-00227, UBTU-22-611045, 5.4.1, R68 | ||||||||||||||||
Description | To configure the number of retry prompts that are permitted per-session:
Edit the | ||||||||||||||||
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. | ||||||||||||||||
OVAL details check the configuration of /etc/pam.d/common-password passed because of these items:
check the configuration of /etc/pam.d/common-password passed because of these items:
check the configuration of /etc/security/pwquality.conf passed because these items were not found:Object oval:ssg-obj_password_pam_pwquality_retry_pwquality_conf:obj:1 of type textfilecontent54_object
State oval:ssg-state_password_pam_retry_upper_bound:ste:1 of type textfilecontent54_state
|
Ensure PAM Enforces Password Requirements - Minimum Uppercase Characters
Rule ID | xccdf_org.ssgproject.content_rule_accounts_password_pam_ucredit | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:10 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 12, 15, 16, 5, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.03, DSS06.10, CCI-000192, CCI-000193, 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.2, 4.3.3.7.4, SR 1.1, SR 1.10, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.7, SR 1.8, SR 1.9, SR 2.1, 0421, 0422, 0431, 0974, 1173, 1401, 1504, 1505, 1546, 1557, 1558, 1559, 1560, 1561, A.18.1.4, A.7.1.1, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.2, A.9.4.3, IA-5(c), IA-5(1)(a), CM-6(a), IA-5(4), PR.AC-1, PR.AC-6, PR.AC-7, FMT_SMF_EXT.1, Req-8.2.3, SRG-OS-000069-GPOS-00037, SRG-OS-000070-GPOS-00038, UBTU-22-611010, 5.4.1, R31 | ||||||||
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.
| ||||||||
OVAL details check the configuration of /etc/security/pwquality.conf failed because these items were missing:Object oval:ssg-obj_password_pam_pwquality_ucredit:obj:1 of type textfilecontent54_object
State oval:ssg-state_password_pam_ucredit:ste:1 of type textfilecontent54_state
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Set Password Hashing Algorithm in /etc/login.defs
Rule ID | xccdf_org.ssgproject.content_rule_set_password_hashing_algorithm_logindefs | ||||
Result | fail | ||||
Time | 2025-05-13T15:24:10 | ||||
Severity | medium | ||||
Identifiers and References | References: 1, 12, 15, 16, 5, 5.6.2.2, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.03, DSS06.10, 3.13.11, CCI-000196, 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.2, 4.3.3.7.4, SR 1.1, SR 1.10, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.7, SR 1.8, SR 1.9, SR 2.1, 0418, 1055, 1402, A.18.1.4, A.7.1.1, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.2, A.9.4.3, IA-5(c), IA-5(1)(c), CM-6(a), PR.AC-1, PR.AC-6, PR.AC-7, Req-8.2.1, SRG-OS-000073-GPOS-00041, UBTU-22-611070, 5.4.4, 8.3.2 | ||||
Description | In ENCRYPT_METHOD yescrypt | ||||
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.
| ||||
OVAL details The value of ENCRYPT_METHOD should be set appropriately in /etc/login.defs failed because of these items:
| |||||
Remediation Shell script: (show)
|
Set Account Expiration Following Inactivity
Rule ID | xccdf_org.ssgproject.content_rule_account_disable_post_pw_expiration | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:10 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 12, 13, 14, 15, 16, 18, 3, 5, 7, 8, 5.6.2.1.1, DSS01.03, DSS03.05, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.03, DSS06.10, 3.5.6, CCI-000017, CCI-000795, 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, SR 1.1, SR 1.10, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 6.2, A.12.4.1, A.12.4.3, A.18.1.4, A.6.1.2, A.7.1.1, A.9.1.2, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.1, A.9.4.2, A.9.4.3, A.9.4.4, A.9.4.5, CIP-004-6 R2.2.2, CIP-004-6 R2.2.3, CIP-007-3 R.1.3, CIP-007-3 R5, CIP-007-3 R5.1.1, CIP-007-3 R5.1.3, CIP-007-3 R5.2.1, CIP-007-3 R5.2.3, IA-4(e), AC-2(3), CM-6(a), DE.CM-1, DE.CM-3, PR.AC-1, PR.AC-4, PR.AC-6, PR.AC-7, Req-8.1.4, SRG-OS-000118-GPOS-00060, UBTU-22-411035, 5.5.1.4, 8.2.6 | ||||||||
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 line in INACTIVE=30If a password is currently on the verge of expiration, then 30
day(s) remain(s) until the account is automatically
disabled. However, if the password will not expire for another 60 days, then 60
days plus 30 day(s) could
elapse until the account would be automatically disabled. See the
useradd man page for more information. | ||||||||
Rationale | Inactive identifiers pose a risk to systems and applications because attackers may exploit an inactive identifier and potentially obtain undetected access to the system. Disabling inactive accounts ensures that accounts which may not have been responsibly removed are not available to attackers who may have compromised their credentials. Owners of inactive accounts will not notice if unauthorized access to their user account has been obtained. | ||||||||
OVAL details the value INACTIVE parameter should be set appropriately in /etc/default/useradd failed because these items were missing:Object oval:ssg-object_etc_default_useradd_inactive:obj:1 of type textfilecontent54_object
State oval:ssg-state_etc_default_useradd_inactive:ste:1 of type textfilecontent54_state
| |||||||||
Remediation Shell script: (show)
|
Ensure All Accounts on the System Have Unique Names
Rule ID | xccdf_org.ssgproject.content_rule_account_unique_name | ||||
Result | pass | ||||
Time | 2025-05-13T15:24:10 | ||||
Severity | medium | ||||
Identifiers and References | References: 5.5.2, CCI-000770, CCI-000804, Req-8.1.1, 6.2.7, 8.2.1 | ||||
Description | Ensure accounts on the system have unique names. To ensure all accounts have unique names, run the following command: $ sudo getent passwd | awk -F: '{ print $1}' | uniq -dIf a username is returned, change or delete the username. | ||||
Rationale | Unique usernames allow for accountability on the system. | ||||
OVAL details There should not exist duplicate user name entries in /etc/passwd passed because of these items:
|
Ensure shadow Group is Empty
Rule ID | xccdf_org.ssgproject.content_rule_ensure_shadow_group_empty | ||||||||||
Result | pass | ||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||
Severity | medium | ||||||||||
Identifiers and References | |||||||||||
Description | The shadow group allows system programs which require access the ability to read the /etc/shadow file. No users should be assigned to the shadow group. | ||||||||||
Rationale | Any users assigned to the shadow group would be granted read access to the /etc/shadow file. If attackers can gain read access to the /etc/shadow file, they can easily run a password cracking program against the hashed passwords to break them. Other security information that is stored in the /etc/shadow file (such as expiration) could also be useful to subvert additional user accounts. | ||||||||||
Warnings | warning
This rule remediation will ensure the group membership is empty in /etc/group. To avoid any
disruption the remediation won't change the primary group of users in /etc/passwd if any
user has the shadow GID as primary group. | ||||||||||
OVAL details shadow group is empty passed because of these items:
no user is assigned to the shadow group passed because these items were not found:Object oval:ssg-obj_etc_passwd_user_has_shadow_group:obj:1 of type textfilecontent54_object
|
Set Password Maximum Age
Rule ID | xccdf_org.ssgproject.content_rule_accounts_maximum_age_login_defs | ||||
Result | fail | ||||
Time | 2025-05-13T15:24:10 | ||||
Severity | medium | ||||
Identifiers and References | References: 1, 12, 15, 16, 5, 5.6.2.1, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.03, DSS06.10, 3.5.6, CCI-000199, 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.2, 4.3.3.7.4, SR 1.1, SR 1.10, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.7, SR 1.8, SR 1.9, SR 2.1, 0418, 1055, 1402, A.18.1.4, A.7.1.1, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.2, A.9.4.3, IA-5(f), IA-5(1)(d), CM-6(a), PR.AC-1, PR.AC-6, PR.AC-7, Req-8.2.4, SRG-OS-000076-GPOS-00044, UBTU-22-411030, 5.5.1.2, 8.3.9 | ||||
Description | To specify password maximum age for new accounts,
edit the file PASS_MAX_DAYS 365A value of 180 days is sufficient for many environments. The DoD requirement is 60. The profile requirement is 365 . | ||||
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.
| ||||
OVAL details The value of PASS_MAX_DAYS should be set appropriately in /etc/login.defs failed because of these items:
| |||||
Remediation Shell script: (show)
|
Set Password Minimum Age
Rule ID | xccdf_org.ssgproject.content_rule_accounts_minimum_age_login_defs | ||||
Result | fail | ||||
Time | 2025-05-13T15:24:10 | ||||
Severity | medium | ||||
Identifiers and References | References: 1, 12, 15, 16, 5, 5.6.2.1.1, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.03, DSS06.10, 3.5.8, CCI-000198, 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.2, 4.3.3.7.4, SR 1.1, SR 1.10, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.7, SR 1.8, SR 1.9, SR 2.1, 0418, 1055, 1402, A.18.1.4, A.7.1.1, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.2, A.9.4.3, IA-5(f), IA-5(1)(d), CM-6(a), PR.AC-1, PR.AC-6, PR.AC-7, SRG-OS-000075-GPOS-00043, UBTU-22-411025, 5.5.1.1 | ||||
Description | To specify password minimum age for new accounts,
edit the file PASS_MIN_DAYS 1A value of 1 day is considered sufficient for many environments. The DoD requirement is 1. The profile 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.
| ||||
OVAL details The value of PASS_MIN_DAYS should be set appropriately in /etc/login.defs failed because of these items:
| |||||
Remediation Shell script: (show)
|
Set Existing Passwords Maximum Age
Rule ID | xccdf_org.ssgproject.content_rule_accounts_password_set_max_life_existing | ||||||||||||||||||||||
Result | error | ||||||||||||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||
Identifiers and References | References: CCI-000199, IA-5(f), IA-5(1)(d), CM-6(a), SRG-OS-000076-GPOS-00044, 5.5.1.2, 8.3.9 | ||||||||||||||||||||||
Description | Configure non-compliant accounts to enforce a 365-day maximum password lifetime restriction by running the following command: $ sudo chage -M 365 USER | ||||||||||||||||||||||
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. | ||||||||||||||||||||||
OVAL details Compares a specific field in /etc/shadow with a specific variable value failed because these items were missing:Object oval:ssg-object_test_accounts_password_set_max_life_existing_password_max_life_existing:obj:1 of type textfilecontent54_object
State oval:ssg-state_test_accounts_password_set_max_life_existing_password_max_life_existing:ste:1 of type textfilecontent54_state
Compares a specific field in /etc/shadow with a specific variable value failed because these items were missing:Object oval:ssg-object_test_accounts_password_set_max_life_existing_password_max_life_existing_minimum:obj:1 of type textfilecontent54_object
State oval:ssg-state_test_accounts_password_set_max_life_existing_password_max_life_existing_minimum:ste:1 of type textfilecontent54_state
Passwords must have the maximum password age set non-empty in /etc/shadow. failed because these items were missing:Object oval:ssg-object_accounts_password_set_max_life_existing_shadow_password_users_max_life_not_existing:obj:1 of type textfilecontent54_object
| |||||||||||||||||||||||
Remediation Shell script: (show)
|
Set Existing Passwords Minimum Age
Rule ID | xccdf_org.ssgproject.content_rule_accounts_password_set_min_life_existing | ||||||||||||||||||||||
Result | error | ||||||||||||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||
Identifiers and References | References: CCI-000198, IA-5(f), IA-5(1)(d), CM-6(a), SRG-OS-000075-GPOS-00043, 5.5.1.1 | ||||||||||||||||||||||
Description | Configure non-compliant accounts to enforce a 24 hours/1 day minimum password lifetime by running the following command: $ sudo chage -m 1 USER | ||||||||||||||||||||||
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, the password could be repeatedly changed in a short period of time to defeat the organization's policy regarding password reuse. | ||||||||||||||||||||||
OVAL details Compares a specific field in /etc/shadow with a specific variable value failed because these items were missing:Object oval:ssg-object_test_accounts_password_set_min_life_existing_password_max_life_existing:obj:1 of type textfilecontent54_object
State oval:ssg-state_test_accounts_password_set_min_life_existing_password_max_life_existing:ste:1 of type textfilecontent54_state
Compares a specific field in /etc/shadow with a specific variable value failed because these items were missing:Object oval:ssg-object_test_accounts_password_set_min_life_existing_password_max_life_existing_minimum:obj:1 of type textfilecontent54_object
State oval:ssg-state_test_accounts_password_set_min_life_existing_password_max_life_existing_minimum:ste:1 of type textfilecontent54_state
Passwords must have the maximum password age set non-empty in /etc/shadow. failed because these items were missing:Object oval:ssg-object_accounts_password_set_min_life_existing_shadow_password_users_max_life_not_existing:obj:1 of type textfilecontent54_object
| |||||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||||
Remediation Shell script: (show)
|
Set Password Warning Age
Rule ID | xccdf_org.ssgproject.content_rule_accounts_password_warn_age_login_defs | ||||
Result | pass | ||||
Time | 2025-05-13T15:24:10 | ||||
Severity | medium | ||||
Identifiers and References | References: 1, 12, 13, 14, 15, 16, 18, 3, 5, 7, 8, DSS01.03, DSS03.05, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.03, DSS06.10, 3.5.8, 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, SR 1.1, SR 1.10, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 6.2, 0418, 1055, 1402, A.12.4.1, A.12.4.3, A.18.1.4, A.6.1.2, A.7.1.1, A.9.1.2, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.1, A.9.4.2, A.9.4.3, A.9.4.4, A.9.4.5, IA-5(f), IA-5(1)(d), CM-6(a), DE.CM-1, DE.CM-3, PR.AC-1, PR.AC-4, PR.AC-6, PR.AC-7, Req-8.2.4, 5.5.1.3, 8.3.9 | ||||
Description | To specify how many days prior to password
expiration that a warning will be issued to users,
edit the file PASS_WARN_AGE 7The DoD requirement is 7. The profile requirement is 7 . | ||||
Rationale | Setting the password warning age enables users to make the change at a practical time. | ||||
OVAL details The value of PASS_WARN_AGE should be set appropriately in /etc/login.defs passed because of these items:
|
Verify All Account Password Hashes are Shadowed
Rule ID | xccdf_org.ssgproject.content_rule_accounts_password_all_shadowed | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Result | pass | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Identifiers and References | References: 1, 12, 15, 16, 5, 5.5.2, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.03, DSS06.10, 3.5.10, 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.2, 4.3.3.7.4, SR 1.1, SR 1.10, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.7, SR 1.8, SR 1.9, SR 2.1, 1410, A.18.1.4, A.7.1.1, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.2, A.9.4.3, IA-5(h), CM-6(a), PR.AC-1, PR.AC-6, PR.AC-7, Req-8.2.1, 6.2.1, 8.3.2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | If any password hashes are stored in | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Rationale | The hashes for all user account passwords should be stored in
the file | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OVAL details password hashes are shadowed passed because of these items:
|
Ensure all users last password change date is in the past
Rule ID | xccdf_org.ssgproject.content_rule_accounts_password_last_change_is_in_past | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:24:10 | ||||||
Severity | medium | ||||||
Identifiers and References | |||||||
Description | All users should have a password change date in the past. | ||||||
Rationale | If a user recorded password change date is in the future then they could bypass any set password expiration. | ||||||
Warnings | warning
Automatic remediation is not available, in order to avoid any system disruption. | ||||||
OVAL details Check if the password last chage time is less than or equal today. passed because of these items:
Check the inexistence of users with a password defined passed because these items were not found:Object oval:ssg-object_accounts_password_all_chage_in_past:obj:1 of type shadow_object
|
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 | 2025-05-13T15:24:10 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Severity | low | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Identifiers and References | References: 1, 12, 15, 16, 5, 5.5.2, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.03, DSS06.10, CCI-000764, 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.2, 4.3.3.7.4, SR 1.1, SR 1.10, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.7, SR 1.8, SR 1.9, SR 2.1, A.18.1.4, A.7.1.1, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.2, A.9.4.3, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.2.3, CIP-004-6 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.2, CIP-007-3 R5.2, CIP-007-3 R5.3.1, CIP-007-3 R5.3.2, CIP-007-3 R5.3.3, IA-2, CM-6(a), PR.AC-1, PR.AC-6, PR.AC-7, Req-8.5.a, SRG-OS-000104-GPOS-00051, 6.2.3, 8.2.2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Group Identifier (GID) is subsequently created, the user may have unintended rights to any files associated with the group. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OVAL details Verify all GIDs referenced in /etc/passwd are defined in /etc/group passed because of these items:
|
Ensure There Are No Accounts With Blank or Null Passwords
Rule ID | xccdf_org.ssgproject.content_rule_no_empty_passwords_etc_shadow | ||||||||
Result | error | ||||||||
Time | 2025-05-13T15:24:10 | ||||||||
Severity | high | ||||||||
Identifiers and References | References: CCI-000366, CM-6(b), CM-6.1(iv), SRG-OS-000480-GPOS-00227, UBTU-22-611065, 6.2.2, 2.2.2 | ||||||||
Description | Check the "/etc/shadow" file for blank passwords with the following command: $ sudo awk -F: '!$2 {print $1}' /etc/shadowIf the command returns any results, this is a finding. Configure all accounts on the system to have a password or lock the account with the following commands: Perform a password reset: $ sudo passwd [username]Lock an account: $ sudo passwd -l [username] | ||||||||
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. | ||||||||
Warnings | warning
Note that this rule is not applicable for systems running within a container. Having user with empty password within a container is not considered a risk, because it should not be possible to directly login into a container anyway. | ||||||||
OVAL details make sure there aren't blank or null passwords in /etc/shadow failed because these items were missing:Object oval:ssg-obj_no_empty_passwords_etc_shadow:obj:1 of type textfilecontent54_object
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Verify No .forward Files Exist
Rule ID | xccdf_org.ssgproject.content_rule_no_forward_files | ||||
Result | pass | ||||
Time | 2025-05-13T15:24:10 | ||||
Severity | medium | ||||
Identifiers and References | References: 6.2.15 | ||||
Description | The | ||||
Rationale | Use of the | ||||
OVAL details .forward files are not group or world accessible passed because these items were not found:Object oval:ssg-object_accounts_users_home_forward_file_existance:obj:1 of type file_object
|
Verify No netrc Files Exist
Rule ID | xccdf_org.ssgproject.content_rule_no_netrc_files | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:24:10 | ||||||
Severity | medium | ||||||
Identifiers and References | References: 1, 11, 12, 14, 15, 16, 18, 3, 5, DSS05.02, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.03, DSS06.06, DSS06.10, CCI-000196, 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, A.18.1.4, A.6.1.2, A.7.1.1, A.9.1.2, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.1, A.9.4.2, A.9.4.3, A.9.4.4, A.9.4.5, CIP-003-8 R1.3, CIP-003-8 R3, CIP-003-8 R3.1, CIP-003-8 R3.2, CIP-003-8 R3.3, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.2.3, CIP-004-6 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.2, CIP-007-3 R5.2, CIP-007-3 R5.3.1, CIP-007-3 R5.3.2, CIP-007-3 R5.3.3, IA-5(h), IA-5(1)(c), CM-6(a), IA-5(7), PR.AC-1, PR.AC-4, PR.AC-6, PR.AC-7, PR.PT-3, 6.2.14 | ||||||
Description | The | ||||||
Rationale | Unencrypted passwords for remote FTP servers may be stored in | ||||||
OVAL details look for .netrc in /home passed because these items were not found:Object oval:ssg-object_no_netrc_files_home:obj:1 of type file_object
|
Verify Only Root Has UID 0
Rule ID | xccdf_org.ssgproject.content_rule_accounts_no_uid_except_zero | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:24:10 | ||||||
Severity | high | ||||||
Identifiers and References | References: 1, 12, 13, 14, 15, 16, 18, 3, 5, APO01.06, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.02, DSS06.03, DSS06.10, 3.1.1, 3.1.5, CCI-000366, 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, SR 1.1, SR 1.10, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.18.1.4, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.1, A.9.4.2, A.9.4.3, A.9.4.4, A.9.4.5, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.2.3, CIP-004-6 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.2, CIP-007-3 R5.2, CIP-007-3 R5.3.1, CIP-007-3 R5.3.2, CIP-007-3 R5.3.3, IA-2, AC-6(5), IA-4(b), PR.AC-1, PR.AC-4, PR.AC-6, PR.AC-7, PR.DS-5, Req-8.5, SRG-OS-000480-GPOS-00227, 6.2.10, 8.2.1 | ||||||
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. | ||||||
OVAL details test that there are no accounts with UID 0 except root in the /etc/passwd file passed because these items were not found:Object oval:ssg-object_accounts_no_uid_except_root:obj:1 of type textfilecontent54_object
|
Verify Root Has A Primary GID 0
Rule ID | xccdf_org.ssgproject.content_rule_accounts_root_gid_zero | ||||
Result | pass | ||||
Time | 2025-05-13T15:24:10 | ||||
Severity | high | ||||
Identifiers and References | |||||
Description | The | ||||
Rationale | To help ensure that root-owned files are not inadvertently exposed to other users. | ||||
OVAL details test that there are no accounts with UID 0 except root in the /etc/passwd file passed because of these items:
|
Ensure the Group Used by pam_wheel.so Module Exists on System and is Empty
Rule ID | xccdf_org.ssgproject.content_rule_ensure_pam_wheel_group_empty | ||||||||||||||||||
Result | fail | ||||||||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||||||||
Severity | medium | ||||||||||||||||||
Identifiers and References | |||||||||||||||||||
Description | Ensure that the group | ||||||||||||||||||
Rationale | The | ||||||||||||||||||
Warnings | warning
Note that this rule just ensures the group exists and has no members. This rule does not
configure pam_wheel.so module. The pam_wheel.so module configuration is
accomplished by use_pam_wheel_group_for_su rule. | ||||||||||||||||||
OVAL details check if group in var_pam_wheel_group_for_su variable used by pam_wheel.so exists failed because these items were missing:Object oval:ssg-object_ensure_pam_wheel_group_exists:obj:1 of type textfilecontent54_object
check if group defined by pam_wheel.so group option has no members failed because these items were missing:Object oval:ssg-object_ensure_pam_wheel_group_exists:obj:1 of type textfilecontent54_object
State oval:ssg-state_ensure_pam_wheel_group_has_no_members:ste:1 of type textfilecontent54_state
| |||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||
Remediation Shell script: (show)
|
Ensure Authentication Required for Single User Mode
Rule ID | xccdf_org.ssgproject.content_rule_ensure_root_password_configured | ||||||
Result | error | ||||||
Time | 2025-05-13T15:24:10 | ||||||
Severity | medium | ||||||
Identifiers and References | |||||||
Description | Single user mode is used for recovery when the system detects an issue during boot or by manual selection from the bootloader. | ||||||
Rationale | Requiring authentication in single user mode prevents an unauthorized user from rebooting the system into single user to gain root privileges without credentials. | ||||||
OVAL details make sure root password is set in /etc/shadow failed because these items were missing:Object oval:ssg-obj_root_password_etc_shadow:obj:1 of type textfilecontent54_object
|
Ensure that System Accounts Do Not Run a Shell Upon Login
Rule ID | xccdf_org.ssgproject.content_rule_no_shelllogin_for_systemaccounts | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Result | fail | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Identifiers and References | References: 1, 12, 13, 14, 15, 16, 18, 3, 5, 7, 8, DSS01.03, DSS03.05, DSS05.04, DSS05.05, DSS05.07, DSS06.03, CCI-000366, 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, SR 1.1, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 6.2, 1491, A.12.4.1, A.12.4.3, A.6.1.2, A.7.1.1, A.9.1.2, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.1, A.9.4.2, A.9.4.3, A.9.4.4, A.9.4.5, AC-6, CM-6(a), CM-6(b), CM-6.1(iv), DE.CM-1, DE.CM-3, PR.AC-1, PR.AC-4, PR.AC-6, SRG-OS-000480-GPOS-00227, 5.5.2, 8.2.2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Some accounts are not associated with a human user of the system, and exist to perform some
administrative functions. Should an attacker be able to log into these accounts, they should
not be granted access to a shell.
$ sudo usermod -s /sbin/nologin account | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OVAL details SYS_UID_MIN not defined in /etc/login.defs failed because these items were missing:Object oval:ssg-object_last_sys_uid_min_from_etc_login_defs:obj:1 of type textfilecontent54_object
SYS_UID_MAX not defined in /etc/login.defs failed because these items were missing:Object oval:ssg-object_last_sys_uid_max_from_etc_login_defs:obj:1 of type textfilecontent54_object
<0, UID_MIN - 1> system UIDs having shell set failed because of these items:
SYS_UID_MIN not defined in /etc/login.defs failed because these items were missing:Object oval:ssg-object_last_sys_uid_min_from_etc_login_defs:obj:1 of type textfilecontent54_object
SYS_UID_MAX not defined in /etc/login.defs failed because these items were missing:Object oval:ssg-object_last_sys_uid_max_from_etc_login_defs:obj:1 of type textfilecontent54_object
<0, SYS_UID_MIN> system UIDs having shell set failed because of these items:
<SYS_UID_MIN, SYS_UID_MAX> system UIDS having shell set failed because of these items:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Remediation Shell script: (show)
|
Enforce Usage of pam_wheel with Group Parameter for su Authentication
Rule ID | xccdf_org.ssgproject.content_rule_use_pam_wheel_group_for_su | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:10 | ||||||||
Severity | medium | ||||||||
Identifiers and References | |||||||||
Description | To ensure that only users who are members of the group set in the auth required pam_wheel.so use_uid group=sugroup | ||||||||
Rationale | The | ||||||||
Warnings | warning
Note that ensure_pam_wheel_group_empty rule complements this requirement by
ensuring the referenced group exists and has no members. | ||||||||
OVAL details check /etc/pam.d/su for correct setting failed because these items were missing:Object oval:ssg-object_use_pam_wheel_group_for_su:obj:1 of type textfilecontent54_object
State oval:ssg-state_use_pam_wheel_group_for_su:ste:1 of type textfilecontent54_state
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Ensure All Accounts on the System Have Unique User IDs
Rule ID | xccdf_org.ssgproject.content_rule_account_unique_id | ||||
Result | pass | ||||
Time | 2025-05-13T15:24:10 | ||||
Severity | medium | ||||
Identifiers and References | References: CCI-000135, CCI-000764, CCI-000804, Req-8.1.1, SRG-OS-000104-GPOS-00051, SRG-OS-000121-GPOS-00062, 6.2.5, 8.2.1 | ||||
Description | Change user IDs (UIDs), or delete accounts, so each has a unique name. | ||||
Rationale | To assure accountability and prevent unauthenticated access, interactive users must be identified and authenticated to prevent potential misuse and compromise of the system. | ||||
Warnings | warning
Automatic remediation of this control is not available due to unique requirements of each
system. | ||||
OVAL details There should not exist duplicate user ids in /etc/passwd passed because of these items:
|
Ensure All Groups on the System Have Unique Group ID
Rule ID | xccdf_org.ssgproject.content_rule_group_unique_id | ||||
Result | pass | ||||
Time | 2025-05-13T15:24:10 | ||||
Severity | medium | ||||
Identifiers and References | References: CCI-000764, SRG-OS-000104-GPOS-00051, 6.2.6, 8.2.1 | ||||
Description | Change the group name or delete groups, so each has a unique id. | ||||
Rationale | To assure accountability and prevent unauthenticated access, groups must be identified uniquely to prevent potential misuse and compromise of the system. | ||||
Warnings | warning
Automatic remediation of this control is not available due to the unique requirements of each system. | ||||
OVAL details There should not exist duplicate group ids in /etc/passwd passed because of these items:
|
Ensure All Groups on the System Have Unique Group Names
Rule ID | xccdf_org.ssgproject.content_rule_group_unique_name | ||||
Result | pass | ||||
Time | 2025-05-13T15:24:10 | ||||
Severity | medium | ||||
Identifiers and References | |||||
Description | Change the group name or delete groups, so each has a unique name. | ||||
Rationale | To assure accountability and prevent unauthenticated access, groups must be identified uniquely to prevent potential misuse and compromise of the system. | ||||
Warnings | warning
Automatic remediation of this control is not available due to the unique requirements of each system. | ||||
OVAL details There should not exist duplicate group names in /etc/passwd passed because of these items:
|
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 | 2025-05-13T15:24:35 | |||||||||||||||||
Severity | medium | |||||||||||||||||
Identifiers and References | References: 11, 3, 9, BAI10.01, BAI10.02, BAI10.03, BAI10.05, CCI-000366, 4.3.4.3.2, 4.3.4.3.3, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, CM-6(a), CM-6(a), PR.IP-1, 6.2.9 | |||||||||||||||||
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. | |||||||||||||||||
OVAL details Check if there aren't directories in root's path having write permission set for group or other passed because these items were not found:Object oval:ssg-object_accounts_root_path_dirs_no_group_other_write:obj:1 of type file_object
|
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 | 2025-05-13T15:24:35 | ||||||||||||||||||||||||||||||||||||
Severity | unknown | ||||||||||||||||||||||||||||||||||||
Identifiers and References | References: 11, 3, 9, BAI10.01, BAI10.02, BAI10.03, BAI10.05, CCI-000366, 4.3.4.3.2, 4.3.4.3.3, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, CM-6(a), CM-6(a), PR.IP-1, 6.2.9 | ||||||||||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||||||||||
OVAL details environment variable PATH starts with : or . passed because of these items:
environment variable PATH doesn't contain : twice in a row passed because of these items:
environment variable PATH doesn't contain . twice in a row passed because of these items:
environment variable PATH ends with : or . passed because of these items:
environment variable PATH starts with an absolute path / passed because of these items:
environment variable PATH contains relative paths passed because of these items:
|
Ensure the Default Bash Umask is Set Correctly
Rule ID | xccdf_org.ssgproject.content_rule_accounts_umask_etc_bashrc | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 18, APO13.01, BAI03.01, BAI03.02, BAI03.03, CCI-000366, 4.3.4.3.3, A.14.1.1, A.14.2.1, A.14.2.5, A.6.1.5, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, AC-6(1), CM-6(a), PR.IP-2, SRG-OS-000480-GPOS-00228, SRG-OS-000480-GPOS-00227, 5.5.4, R36 | ||||||||
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. | ||||||||
OVAL details Test the retrieved /etc/bash.bashrc umask value(s) match the var_accounts_user_umask requirement failed because these items were missing:Object oval:ssg-obj_accounts_umask_etc_bashrc:obj:1 of type variable_object
State oval:ssg-ste_accounts_umask_etc_bashrc:ste:1 of type variable_state
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Ensure the Default Umask is Set Correctly in login.defs
Rule ID | xccdf_org.ssgproject.content_rule_accounts_umask_etc_login_defs | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 11, 18, 3, 9, APO13.01, BAI03.01, BAI03.02, BAI03.03, BAI10.01, BAI10.02, BAI10.03, BAI10.05, CCI-000366, 4.3.4.3.2, 4.3.4.3.3, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.1.1, A.14.2.1, A.14.2.2, A.14.2.3, A.14.2.4, A.14.2.5, A.6.1.5, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, AC-6(1), CM-6(a), PR.IP-1, PR.IP-2, SRG-OS-000480-GPOS-00228, UBTU-22-412035, 5.5.4, R36 | ||||||||
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. | ||||||||
OVAL details Test the retrieved /etc/login.defs umask value(s) match the var_accounts_user_umask requirement failed because of these items:
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Ensure the Default Umask is Set Correctly in /etc/profile
Rule ID | xccdf_org.ssgproject.content_rule_accounts_umask_etc_profile | ||||||||
Result | unknown | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 18, APO13.01, BAI03.01, BAI03.02, BAI03.03, CCI-000366, 4.3.4.3.3, A.14.1.1, A.14.2.1, A.14.2.5, A.6.1.5, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, AC-6(1), CM-6(a), PR.IP-2, SRG-OS-000480-GPOS-00228, SRG-OS-000480-GPOS-00227, 5.5.4, R36 | ||||||||
Description | To ensure the default umask controlled by umask 027Note that /etc/profile also reads scrips within /etc/profile.d directory.
These scripts are also valid files to set umask value. Therefore, they should also be
considered during the check and properly remediated, if necessary. | ||||||||
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. | ||||||||
OVAL details umask value(s) from profile configuration files match the requirement failed because of these items:
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Ensure the Default Umask is Set Correctly For Interactive Users
Rule ID | xccdf_org.ssgproject.content_rule_accounts_umask_interactive_users | ||||||||||||
Result | pass | ||||||||||||
Time | 2025-05-13T15:24:35 | ||||||||||||
Severity | medium | ||||||||||||
Identifiers and References | References: CCI-000366, CCI-001814, SRG-OS-000480-GPOS-00227, SRG-OS-000480-GPOS-00228, 5.5.4 | ||||||||||||
Description | Remove the | ||||||||||||
Rationale | The umask controls the default access mode assigned to newly created files. A umask of 077 limits new files to mode 700 or less permissive. Although umask can be represented as a four-digit number, the first digit representing special access modes is typically ignored or required to be 0. This requirement applies to the globally configured system defaults and the local interactive user defaults for each account on the system. | ||||||||||||
OVAL details Umask must not be defined in user initialization files passed because these items were not found:Object oval:ssg-object_accounts_umask_interactive_users:obj:1 of type textfilecontent54_object
|
Set Interactive Session Timeout
Rule ID | xccdf_org.ssgproject.content_rule_accounts_tmout | ||||||||||||||||||||||||||||
Result | error | ||||||||||||||||||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||||
Identifiers and References | References: 1, 12, 15, 16, DSS05.04, DSS05.10, DSS06.10, 3.1.11, CCI-000057, CCI-001133, CCI-002361, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, SR 1.1, SR 1.10, SR 1.2, SR 1.5, SR 1.7, SR 1.8, SR 1.9, A.18.1.4, A.9.2.1, A.9.2.4, A.9.3.1, A.9.4.2, A.9.4.3, CIP-004-6 R2.2.3, CIP-007-3 R5.1, CIP-007-3 R5.2, CIP-007-3 R5.3.1, CIP-007-3 R5.3.2, CIP-007-3 R5.3.3, AC-12, SC-10, AC-2(5), CM-6(a), PR.AC-7, FMT_MOF_EXT.1, SRG-OS-000163-GPOS-00072, SRG-OS-000029-GPOS-00010, UBTU-22-412030, 5.5.5, R32, 8.6.1 | ||||||||||||||||||||||||||||
Description | Setting the TMOUT=900readonly TMOUT export TMOUT | ||||||||||||||||||||||||||||
Rationale | 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. | ||||||||||||||||||||||||||||
OVAL details TMOUT in /etc/bash.bashrc failed because these items were missing:Object oval:ssg-object_etc_bashrc_tmout:obj:1 of type textfilecontent54_object
State oval:ssg-state_etc_profile_tmout:ste:1 of type textfilecontent54_state
TMOUT in /etc/profile failed because these items were missing:Object oval:ssg-object_etc_profile_tmout:obj:1 of type textfilecontent54_object
State oval:ssg-state_etc_profile_tmout:ste:1 of type textfilecontent54_state
TMOUT in /etc/profile.d/*.sh failed because these items were missing:Object oval:ssg-object_etc_profiled_tmout:obj:1 of type textfilecontent54_object
State oval:ssg-state_etc_profile_tmout:ste:1 of type textfilecontent54_state
Check that at least one TMOUT is defined failed because of these items:
| |||||||||||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||||||||||
Remediation Shell script: (show)
|
User Initialization Files Must Be Group-Owned By The Primary Group
Rule ID | xccdf_org.ssgproject.content_rule_accounts_user_dot_group_ownership | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Result | pass | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Time | 2025-05-13T15:24:10 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Identifiers and References | References: CCI-000366, SRG-OS-000480-GPOS-00227, 6.2.17, R50 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Change the group owner of interactive users files to the group found in /etc/passwdfor the user. To change the group owner of a local interactive user home directory, use the following command: $ sudo chgrp USER_GROUP /home/USER/.INIT_FILEThis rule ensures every initialization file related to an interactive user is group-owned by an interactive user. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Rationale | Local initialization files for interactive users are used to configure the user's shell environment upon logon. Malicious modification of these files could compromise accounts upon logon. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Warnings | warning
Due to OVAL limitation, this rule can report a false negative in a
specific situation where two interactive users swap the group-ownership
of their respective initialization files. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OVAL details All user initialization files are group-owned by a local interactive user passed because of these items:
|
User Initialization Files Must Not Run World-Writable Programs
Rule ID | xccdf_org.ssgproject.content_rule_accounts_user_dot_no_world_writable_programs | ||||||||||||||||||||||||||
Result | pass | ||||||||||||||||||||||||||
Time | 2025-05-13T15:24:35 | ||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||
Identifiers and References | References: CCI-000366, SRG-OS-000480-GPOS-00227, 6.2.17 | ||||||||||||||||||||||||||
Description | Set the mode on files being executed by the user initialization files with the following command: $ sudo chmod o-w FILE | ||||||||||||||||||||||||||
Rationale | If user start-up files execute world-writable programs, especially in unprotected directories, they could be maliciously modified to destroy user files or otherwise compromise the system at the user level. If the system is compromised at the user level, it is easier to elevate privileges to eventually compromise the system at the root and network level. | ||||||||||||||||||||||||||
OVAL details Init files do not execute world-writable programs passed because these items were not found:Object oval:ssg-object_accounts_user_dot_no_world_writable_programs_init_files:obj:1 of type textfilecontent54_object
|
User Initialization Files Must Be Owned By the Primary User
Rule ID | xccdf_org.ssgproject.content_rule_accounts_user_dot_user_ownership | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Result | pass | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Time | 2025-05-13T15:24:35 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Identifiers and References | References: CCI-000366, SRG-OS-000480-GPOS-00227, 6.2.17, R50 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Set the owner of the user initialization files for interactive users to the primary owner with the following command: $ sudo chown USER /home/USER/.*This rule ensures every initialization file related to an interactive user is owned by an interactive user. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Rationale | Local initialization files are used to configure the user's shell environment upon logon. Malicious modification of these files could compromise accounts upon logon. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Warnings | warning
Due to OVAL limitation, this rule can report a false negative in a
specific situation where two interactive users swap the ownership of
their respective initialization files. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OVAL details All user initialization files are owned by a local interactive user passed because of these items:
|
All Interactive Users Home Directories Must Exist
Rule ID | xccdf_org.ssgproject.content_rule_accounts_user_interactive_home_directory_exists | ||||||||
Result | pass | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: CCI-000366, SRG-OS-000480-GPOS-00227, 6.2.11 | ||||||||
Description | Create home directories to all local interactive users that currently do not
have a home directory assigned. Use the following commands to create the user
home directory assigned in $ sudo mkdir /home/USER | ||||||||
Rationale | If a local interactive user has a home directory defined that does not exist, the user may be given access to the / directory as the current working directory upon logon. This could create a Denial of Service because the user would not be able to access their logon configuration files, and it may give them visibility to system files they normally would not be able to access. | ||||||||
OVAL details Check the existence of interactive users. passed because of these items:
Check the existence of interactive users. passed because of these items:
|
All Interactive User Home Directories Must Be Group-Owned By The Primary Group
Rule ID | xccdf_org.ssgproject.content_rule_file_groupownership_home_directories | ||||||||||||
Result | pass | ||||||||||||
Time | 2025-05-13T15:24:35 | ||||||||||||
Severity | medium | ||||||||||||
Identifiers and References | References: CCI-000366, SRG-OS-000480-GPOS-00227, 6.2.12 | ||||||||||||
Description | Change the group owner of interactive users home directory to the
group found in $ sudo chgrp USER_GROUP /home/USERThis rule ensures every home directory related to an interactive user is group-owned by an interactive user. It also ensures that interactive users are group-owners of one and only one home directory. | ||||||||||||
Rationale | If the Group Identifier (GID) of a local interactive users home directory is not the same as the primary GID of the user, this would allow unauthorized access to the users files, and users that share the same group may not be able to access files that they legitimately should. | ||||||||||||
Warnings | warning
Due to OVAL limitation, this rule can report a false negative in a
specific situation where two interactive users swap the group-ownership
of their respective home directories. | ||||||||||||
OVAL details All home directories are group-owned by a local interactive group passed because of these items:
|
All Interactive User Home Directories Must Be Owned By The Primary User
Rule ID | xccdf_org.ssgproject.content_rule_file_ownership_home_directories | ||||||||||||||||
Result | pass | ||||||||||||||||
Time | 2025-05-13T15:24:35 | ||||||||||||||||
Severity | medium | ||||||||||||||||
Identifiers and References | References: CCI-000366, SRG-OS-000480-GPOS-00227, 6.2.12 | ||||||||||||||||
Description | Change the owner of interactive users home directories to that correct owner. To change the owner of a interactive users home directory, use the following command: $ sudo chown USER /home/USERThis rule ensures every home directory related to an interactive user is owned by an interactive user. It also ensures that interactive users are owners of one and only one home directory. | ||||||||||||||||
Rationale | If a local interactive user does not own their home directory, unauthorized users could access or modify the user's files, and the users may not be able to access their own files. | ||||||||||||||||
Warnings | warning
Due to OVAL limitation, this rule can report a false negative in a
specific situation where two interactive users swap the ownership of
their respective home directories. | ||||||||||||||||
OVAL details All home directories are owned by a local interactive user passed because of these items:
It should not exist duplicated owners of home dirs passed because of these items:
|
Ensure AppArmor is installed
Rule ID | xccdf_org.ssgproject.content_rule_package_apparmor_installed | ||||||||||||
Result | pass | ||||||||||||
Time | 2025-05-13T15:24:35 | ||||||||||||
Severity | medium | ||||||||||||
Identifiers and References | References: CCI-001764, CCI-001774, CCI-002165, CCI-002235, SRG-OS-000368-GPOS-00154, SRG-OS-000312-GPOS-00122, SRG-OS-000312-GPOS-00123, SRG-OS-000312-GPOS-00124, SRG-OS-000324-GPOS-00125, SRG-OS-000370-GPOS-00155, UBTU-22-431010, 1.6.1.1 | ||||||||||||
Description | AppArmor provide Mandatory Access Controls. | ||||||||||||
Rationale | Without a Mandatory Access Control system installed only the default Discretionary Access Control system will be available. | ||||||||||||
OVAL details package apparmor is installed passed because of these items:
|
All AppArmor Profiles are in enforce or complain mode
Rule ID | xccdf_org.ssgproject.content_rule_all_apparmor_profiles_in_enforce_complain_mode | ||
Result | unknown | ||
Time | 2025-05-13T15:24:35 | ||
Severity | medium | ||
Identifiers and References | References: 1.6.1.3 | ||
Description | AppArmor profiles define what resources applications are able to access.
To set all profiles to either $ sudo aa-enforce /etc/apparmor.d/*run the following command to set all profiles to complain mode:
$ sudo aa-complain /etc/apparmor.d/*To list unconfined processes run the following command: $ sudo apparmor_status | grep processesAny unconfined processes may need to have a profile created or activated for them and then be restarted. | ||
Rationale | Security configuration requirements vary from site to site. Some sites may mandate a policy that is stricter than the default policy, which is perfectly acceptable. This recommendation is intended to ensure that any policies that exist on the system are activated. | ||
OVAL details Compare number of profiles with sum of complain and enforced failed because of these items:
| |||
Remediation Shell script: (show)
|
Ensure AppArmor is enabled in the bootloader configuration
Rule ID | xccdf_org.ssgproject.content_rule_grub2_enable_apparmor | ||||||||||||
Result | fail | ||||||||||||
Time | 2025-05-13T15:24:35 | ||||||||||||
Severity | medium | ||||||||||||
Identifiers and References | References: 1.6.1.2 | ||||||||||||
Description | Configure AppArmor to be enabled at boot time and verify that it has not been overwritten by the bootloader boot parameters. Note: This recommendation is designed around the grub bootloader, if LILO or another bootloader is in use in your environment, enact equivalent settings. | ||||||||||||
Rationale | AppArmor must be enabled at boot time in your bootloader configuration to ensure that the controls it provides are not overridden. | ||||||||||||
OVAL details apparmor is enabled in bootloader failed because these items were missing:Object oval:ssg-obj_apparmor_enabled_in_grubcfg:obj:1 of type textfilecontent54_object
security=apparmor is set in bootloader failed because these items were missing:Object oval:ssg-obj_apparmor_set_in_grubcfg:obj:1 of type textfilecontent54_object
| |||||||||||||
Remediation Shell script: (show)
|
Verify /boot/grub/grub.cfg User Ownership
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_grub2_cfg |
Result | notapplicable |
Time | 2025-05-13T15:24:35 |
Severity | medium |
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, 5.5.2.2, APO01.06, DSS05.04, DSS05.07, DSS06.02, 3.4.5, CCI-000225, 164.308(a)(1)(ii)(B), 164.308(a)(7)(i), 164.308(a)(7)(ii)(A), 164.310(a)(1), 164.310(a)(2)(i), 164.310(a)(2)(ii), 164.310(a)(2)(iii), 164.310(b), 164.310(c), 164.310(d)(1), 164.310(d)(2)(iii), 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, Req-7.1, SRG-OS-000480-GPOS-00227, 1.4.2, R29, 2.2.6 |
Description | The file $ sudo chown root /boot/grub/grub.cfg |
Rationale | Only root should be able to modify important boot parameters. |
Set Boot Loader Password in grub2
Rule ID | xccdf_org.ssgproject.content_rule_grub2_password |
Result | notapplicable |
Time | 2025-05-13T15:24:35 |
Severity | high |
Identifiers and References | References: 1, 11, 12, 14, 15, 16, 18, 3, 5, DSS05.02, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.03, DSS06.06, DSS06.10, 3.4.5, CCI-000213, 164.308(a)(1)(ii)(B), 164.308(a)(7)(i), 164.308(a)(7)(ii)(A), 164.310(a)(1), 164.310(a)(2)(i), 164.310(a)(2)(ii), 164.310(a)(2)(iii), 164.310(b), 164.310(c), 164.310(d)(1), 164.310(d)(2)(iii), 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, A.18.1.4, A.6.1.2, A.7.1.1, A.9.1.2, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.1, A.9.4.2, A.9.4.3, A.9.4.4, A.9.4.5, CM-6(a), PR.AC-1, PR.AC-4, PR.AC-6, PR.AC-7, PR.PT-3, FIA_UAU.1, SRG-OS-000080-GPOS-00048, UBTU-22-212010, 1.4.1, R5 |
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. Using the hash from the output, modify the /etc/grub.d/40_custom
file with the following content:
set superusers="boot" password_pbkdf2 boot grub.pbkdf2.sha512.VeryLongStringNOTE: the bootloader superuser account and password MUST differ from the root account and password. Once the superuser password has been added, update the grub.cfg file by running:
update-grub |
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. |
Warnings | warning
To prevent hard-coded passwords, automatic remediation of this control is not available. Remediation
must be automated as a component of machine provisioning, or followed manually as outlined above.
Also, do NOT manually add the superuser account and password to the
grub.cfg file as the grub2-mkconfig command overwrites this file. |
Set the UEFI Boot Loader Password
Rule ID | xccdf_org.ssgproject.content_rule_grub2_uefi_password | ||||||||||||
Result | fail | ||||||||||||
Time | 2025-05-13T15:24:35 | ||||||||||||
Severity | high | ||||||||||||
Identifiers and References | References: 11, 12, 14, 15, 16, 18, 3, 5, DSS05.02, DSS05.04, DSS05.05, DSS05.07, DSS06.03, DSS06.06, 3.4.5, CCI-000213, 164.308(a)(1)(ii)(B), 164.308(a)(7)(i), 164.308(a)(7)(ii)(A), 164.310(a)(1), 164.310(a)(2)(i), 164.310(a)(2)(ii), 164.310(a)(2)(iii), 164.310(b), 164.310(c), 164.310(d)(1), 164.310(d)(2)(iii), 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, A.6.1.2, A.7.1.1, A.9.1.2, A.9.2.1, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-6(a), PR.AC-4, PR.AC-6, PR.PT-3, FIA_UAU.1, SRG-OS-000080-GPOS-00048, UBTU-22-212010, 1.4.1, R5 | ||||||||||||
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. Using the hash from the output, modify the /etc/grub.d/40_custom
file with the following content:
set superusers="boot" password_pbkdf2 boot grub.pbkdf2.sha512.VeryLongStringNOTE: the bootloader superuser account and password MUST differ from the root account and password. Once the superuser password has been added, update the grub.cfg file by running:
update-grub | ||||||||||||
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. | ||||||||||||
Warnings | warning
To prevent hard-coded passwords, automatic remediation of this control is not available. Remediation
must be automated as a component of machine provisioning, or followed manually as outlined above.
Also, do NOT manually add the superuser account and password to the
grub.cfg file as the grub2-mkconfig command overwrites this file. | ||||||||||||
OVAL details make sure a password is defined in /boot/grub/grub.cfg failed because these items were missing:Object oval:ssg-object_grub2_uefi_password_grubcfg:obj:1 of type textfilecontent54_object
superuser is defined in /boot/grub/grub.cfg failed because these items were missing:Object oval:ssg-object_bootloader_uefi_superuser:obj:1 of type textfilecontent54_object
|
Install systemd-journal-remote Package
Rule ID | xccdf_org.ssgproject.content_rule_package_systemd-journal-remote_installed | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 4.2.1.1.1 | ||||||||
Description | Journald (via systemd-journal-remote ) supports the ability to send log events it gathers to a remote log host or to receive messages from remote hosts, thus enabling centralised log management. | ||||||||
Rationale | Storing log data on a remote host protects log integrity from local attacks. If an attacker gains root access on the local system, they could tamper with or remove log data that is stored on the local system. | ||||||||
OVAL details package systemd-journal-remote is installed failed because these items were missing:Object oval:ssg-obj_test_package_systemd-journal-remote_installed:obj:1 of type dpkginfo_object
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Puppet snippet: (show)
| |||||||||
Remediation Shell script: (show)
| |||||||||
Enable systemd-journald Service
Rule ID | xccdf_org.ssgproject.content_rule_service_systemd-journald_enabled | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Result | pass | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Time | 2025-05-13T15:24:35 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Severity | medium | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Identifiers and References | References: CCI-001665, SC-24, SRG-OS-000269-GPOS-00103, 4.2.1.2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | The $ sudo systemctl enable systemd-journald.service | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Rationale | In the event of a system failure, Ubuntu 22.04 must preserve any information necessary to determine cause of failure and any information necessary to return to operations with least disruption to system processes. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OVAL details package systemd is installed passed because of these items:
Test that the systemd-journald service is running passed because of these items:
systemd test passed because of these items:
systemd test passed because of these items:
|
Ensure journald is configured to compress large log files
Rule ID | xccdf_org.ssgproject.content_rule_journald_compress | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 4.2.1.3 | ||||||||
Description | The journald system can compress large log files to avoid fill the system disk. | ||||||||
Rationale | Log files that are not properly compressed run the risk of growing so large that they fill up the log partition. Valuable logging information could be lost if the log partition becomes full. | ||||||||
OVAL details tests the value of Compress setting in the /etc/systemd/journald.conf file failed because these items were missing:Object oval:ssg-obj_journald_compress:obj:1 of type textfilecontent54_object
State oval:ssg-state_journald_compress:ste:1 of type textfilecontent54_state
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Ensure journald is configured to write log files to persistent disk
Rule ID | xccdf_org.ssgproject.content_rule_journald_storage | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 4.2.1.4 | ||||||||
Description | The journald system may store log files in volatile memory or locally on disk. If the logs are only stored in volatile memory they will we lost upon reboot. | ||||||||
Rationale | Log files contain valuable data and need to be persistent to aid in possible investigations. | ||||||||
OVAL details tests the value of Storage setting in the /etc/systemd/journald.conf file failed because these items were missing:Object oval:ssg-obj_journald_storage:obj:1 of type textfilecontent54_object
State oval:ssg-state_journald_storage:ste:1 of type textfilecontent54_state
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Disable systemd-journal-remote Socket
Rule ID | xccdf_org.ssgproject.content_rule_socket_systemd-journal-remote_disabled | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:24:35 | ||||||
Severity | medium | ||||||
Identifiers and References | References: 4.2.1.1.4 | ||||||
Description | Journald supports the ability to receive messages from remote hosts, thus acting as a log server. Clients should not receive data from other hosts. NOTE: The same package, systemd-journal-remote , is used for both sending logs to remote hosts and receiving incoming logs. With regards to receiving logs, there are two Systemd unit files; systemd-journal-remote.socket and systemd-journal-remote.service. | ||||||
Rationale | If a client is configured to also receive data, thus turning it into a server, the client system is acting outside it's operational boundary. | ||||||
OVAL details Test that the property LoadState from the systemd-journal-remote.socket is masked passed because these items were not found:Object oval:ssg-obj_socket_loadstate_is_masked_systemd-journal-remote:obj:1 of type systemdunitproperty_object
State oval:ssg-state_socket_loadstate_is_masked_systemd-journal-remote:ste:1 of type systemdunitproperty_state
|
Ensure rsyslog Does Not Accept Remote Messages Unless Acting As Log Server
Rule ID | xccdf_org.ssgproject.content_rule_rsyslog_nolisten | ||||||||||||
Result | pass | ||||||||||||
Time | 2025-05-13T15:24:35 | ||||||||||||
Severity | medium | ||||||||||||
Identifiers and References | References: 1, 11, 12, 13, 14, 15, 16, 18, 3, 4, 5, 6, 8, 9, APO01.06, APO11.04, APO13.01, BAI03.05, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS01.05, DSS03.01, DSS05.02, DSS05.04, DSS05.07, DSS06.02, MEA02.01, CCI-000318, CCI-000366, CCI-000368, CCI-001812, CCI-001813, CCI-001814, 4.2.3.4, 4.3.3.3.9, 4.3.3.4, 4.3.3.5.8, 4.3.4.3.2, 4.3.4.3.3, 4.3.4.4.7, 4.4.2.1, 4.4.2.2, 4.4.2.4, 4.4.3.3, SR 2.10, SR 2.11, SR 2.12, SR 2.8, SR 2.9, SR 3.1, SR 3.5, SR 3.8, SR 4.1, SR 4.3, SR 5.1, SR 5.2, SR 5.3, SR 7.1, SR 7.6, 0988, 1405, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.12.1.1, A.12.1.2, A.12.4.1, A.12.4.2, A.12.4.3, A.12.4.4, A.12.5.1, A.12.6.2, A.12.7.1, A.13.1.1, A.13.1.2, A.13.1.3, A.13.2.1, A.13.2.2, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.14.2.2, A.14.2.3, A.14.2.4, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-7(a), CM-7(b), CM-6(a), DE.AE-1, ID.AM-3, PR.AC-5, PR.DS-5, PR.IP-1, PR.PT-1, PR.PT-4, SRG-OS-000480-GPOS-00227, 4.2.2.7 | ||||||||||||
Description | The $ModLoad imtcp $InputTCPServerRun port $ModLoad imudp $UDPServerRun port $ModLoad imrelp $InputRELPServerRun portIf using RainerScript syntax: module(load="imtcp") module(load="imudp") input(type="imtcp" port="514") input(type="imudp" port="514") | ||||||||||||
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. | ||||||||||||
OVAL details rsyslog configuration files don't contain $InputTCPServerRun | $UDPServerRun | $InputRELPServerRun | $ModLoad imtcp | $ModLoad imudp | $ModLoad imrelp passed because these items were not found:Object oval:ssg-object_rsyslog_nolisten_legacy:obj:1 of type textfilecontent54_object
rsyslog configuration files don't use imtcp or imudp modules passed because these items were not found:Object oval:ssg-object_rsyslog_nolisten_rainerscript:obj:1 of type textfilecontent54_object
|
Ensure Logs Sent To Remote Host
Rule ID | xccdf_org.ssgproject.content_rule_rsyslog_remote_loghost | ||||||||||||||
Result | fail | ||||||||||||||
Time | 2025-05-13T15:24:35 | ||||||||||||||
Severity | medium | ||||||||||||||
Identifiers and References | References: 1, 13, 14, 15, 16, 2, 3, 5, 6, APO11.04, APO13.01, BAI03.05, BAI04.04, DSS05.04, DSS05.07, MEA02.01, CCI-000366, CCI-001348, CCI-000136, CCI-001851, 164.308(a)(1)(ii)(D), 164.308(a)(5)(ii)(B), 164.308(a)(5)(ii)(C), 164.308(a)(6)(ii), 164.308(a)(8), 164.310(d)(2)(iii), 164.312(b), 164.314(a)(2)(i)(C), 164.314(a)(2)(iii), 4.3.3.3.9, 4.3.3.5.8, 4.3.4.4.7, 4.4.2.1, 4.4.2.2, 4.4.2.4, SR 2.10, SR 2.11, SR 2.12, SR 2.8, SR 2.9, SR 7.1, SR 7.2, 0988, 1405, A.12.1.3, A.12.4.1, A.12.4.2, A.12.4.3, A.12.4.4, A.12.7.1, A.17.2.1, CIP-003-8 R5.2, CIP-004-6 R3.3, CM-6(a), AU-4(1), AU-9(2), PR.DS-4, PR.PT-1, FAU_GEN.1.1.c, SRG-OS-000479-GPOS-00224, SRG-OS-000480-GPOS-00227, SRG-OS-000342-GPOS-00133, 4.2.2.6, R71 | ||||||||||||||
Description | To configure rsyslog to send logs to a remote log server,
open *.* @logcollector To use TCP for log message delivery: *.* @@logcollector To use RELP for log message delivery: *.* :omrelp:logcollector There must be a resolvable DNS CNAME or Alias record set to "logcollector" for logs to be sent correctly to the centralized logging utility. | ||||||||||||||
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. | ||||||||||||||
Warnings | warning
It is important to configure queues in case the client is sending log
messages to a remote server. If queues are not configured,
the system will stop functioning when the connection
to the remote server is not available. Please consult Rsyslog
documentation for more information about configuration of queues. The
example configuration which should go into /etc/rsyslog.conf
can look like the following lines:
$ActionQueueType LinkedList $ActionQueueFileName queuefilename $ActionQueueMaxDiskSpace 1g $ActionQueueSaveOnShutdown on $ActionResumeRetryCount -1 | ||||||||||||||
OVAL details Ensures system configured to export logs to remote host failed because these items were missing:Object oval:ssg-object_remote_loghost_rsyslog_conf:obj:1 of type textfilecontent54_object
Ensures system configured to export logs to remote host failed because these items were missing:Object oval:ssg-object_remote_loghost_rsyslog_d:obj:1 of type textfilecontent54_object
| |||||||||||||||
Remediation Shell script: (show)
|
Ensure rsyslog is Installed
Rule ID | xccdf_org.ssgproject.content_rule_package_rsyslog_installed | ||||||||||||
Result | pass | ||||||||||||
Time | 2025-05-13T15:24:35 | ||||||||||||
Severity | medium | ||||||||||||
Identifiers and References | References: 1, 14, 15, 16, 3, 5, 6, APO11.04, BAI03.05, DSS05.04, DSS05.07, MEA02.01, CCI-001311, CCI-001312, CCI-000366, 164.312(a)(2)(ii), 4.3.3.3.9, 4.3.3.5.8, 4.3.4.4.7, 4.4.2.1, 4.4.2.2, 4.4.2.4, SR 2.10, SR 2.11, SR 2.12, SR 2.8, SR 2.9, A.12.4.1, A.12.4.2, A.12.4.3, A.12.4.4, A.12.7.1, CM-6(a), PR.PT-1, FTP_ITC_EXT.1.1, SRG-OS-000479-GPOS-00224, SRG-OS-000051-GPOS-00024, SRG-OS-000480-GPOS-00227, 4.2.2.1 | ||||||||||||
Description | Rsyslog is installed by default. The $ apt-get install rsyslog | ||||||||||||
Rationale | The rsyslog package provides the rsyslog daemon, which provides system logging services. | ||||||||||||
OVAL details package rsyslog is installed passed because of these items:
|
Enable rsyslog Service
Rule ID | xccdf_org.ssgproject.content_rule_service_rsyslog_enabled | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Result | pass | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Time | 2025-05-13T15:24:35 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Identifiers and References | References: 1, 12, 13, 14, 15, 16, 2, 3, 5, 6, 7, 8, 9, APO10.01, APO10.03, APO10.04, APO10.05, APO11.04, APO13.01, BAI03.05, BAI04.04, DSS01.03, DSS03.05, DSS05.02, DSS05.04, DSS05.05, DSS05.07, MEA01.01, MEA01.02, MEA01.03, MEA01.04, MEA01.05, MEA02.01, CCI-001311, CCI-001312, CCI-001557, CCI-001851, CCI-000366, 164.312(a)(2)(ii), 4.3.2.6.7, 4.3.3.3.9, 4.3.3.5.8, 4.3.4.4.7, 4.4.2.1, 4.4.2.2, 4.4.2.4, SR 2.10, SR 2.11, SR 2.12, SR 2.8, SR 2.9, SR 6.1, SR 6.2, SR 7.1, SR 7.2, A.12.1.3, A.12.4.1, A.12.4.2, A.12.4.3, A.12.4.4, A.12.7.1, A.14.2.7, A.15.2.1, A.15.2.2, A.17.2.1, CM-6(a), AU-4(1), DE.CM-1, DE.CM-3, DE.CM-7, ID.SC-4, PR.DS-4, PR.PT-1, SRG-OS-000480-GPOS-00227, UBTU-22-652010, 4.2.2.2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | The $ sudo systemctl enable rsyslog.service | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Rationale | The | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OVAL details package rsyslog is installed passed because of these items:
Test that the rsyslog service is running passed because of these items:
systemd test passed because of these items:
systemd test passed because of these items:
|
Ensure rsyslog Default File Permissions Configured
Rule ID | xccdf_org.ssgproject.content_rule_rsyslog_filecreatemode | ||||||||
Result | pass | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 4.2.2.4 | ||||||||
Description | rsyslog will create logfiles that do not already exist on the system. This settings controls what permissions will be applied to these newly created files. | ||||||||
Rationale | It is important to ensure that log files have the correct permissions to ensure that sensitive data is archived and protected. | ||||||||
OVAL details rsyslog FileCreateMode is configured in only one place passed because of these items:
Test if FileCreateMode value is valid passed because of these items:
|
Set Default ip6tables Policy for Incoming Packets
Rule ID | xccdf_org.ssgproject.content_rule_set_ip6tables_default_rule |
Result | notapplicable |
Time | 2025-05-13T15:24:35 |
Severity | medium |
Identifiers and References | References: 11, 14, 3, 9, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS06.06, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.9.1.2, CIP-003-8 R4, CIP-003-8 R5, CIP-004-6 R3, AC-4, CM-7(b), CA-3(5), SC-7(21), CM-6(a), PR.IP-1, PR.PT-3, 3.5.3.3.1, 1.4.1 |
Description | To set the default policy to DROP (instead of ACCEPT) for
the built-in INPUT chain which processes incoming packets,
add or correct the following line in
:INPUT DROP [0:0]If changes were required, reload the ip6tables rules: $ sudo service ip6tables reload |
Rationale | In |
Set configuration for IPv6 loopback traffic
Rule ID | xccdf_org.ssgproject.content_rule_set_ipv6_loopback_traffic |
Result | notapplicable |
Time | 2025-05-13T15:24:35 |
Severity | medium |
Identifiers and References | |
Description | Configure the loopback interface to accept traffic. Configure all other interfaces to deny traffic to the loopback network. |
Rationale | Loopback traffic is generated between processes on machine and is typically critical to operation of the system. The loopback interface is the only place that loopback network traffic should be seen, all other interfaces should ignore traffic on this network as an anti-spoofing measure. |
Warnings | warning
Changing firewall settings while connected over network can
result in being locked out of the system. |
Set configuration for loopback traffic
Rule ID | xccdf_org.ssgproject.content_rule_set_loopback_traffic |
Result | notapplicable |
Time | 2025-05-13T15:24:35 |
Severity | medium |
Identifiers and References | |
Description | Configure the loopback interface to accept traffic. Configure all other interfaces to deny traffic to the loopback network. |
Rationale | Loopback traffic is generated between processes on machine and is typically critical to operation of the system. The loopback interface is the only place that loopback network traffic should be seen, all other interfaces should ignore traffic on this network as an anti-spoofing measure. |
Warnings | warning
Changing firewall settings while connected over network can
result in being locked out of the system. |
Ensure ip6tables Firewall Rules Exist for All Open Ports
Rule ID | xccdf_org.ssgproject.content_rule_ip6tables_rules_for_open_ports |
Result | notapplicable |
Time | 2025-05-13T15:24:35 |
Severity | medium |
Identifiers and References | References: 3.5.3.3.4 |
Description | Any ports that have been opened on non-loopback addresses need firewall rules to govern traffic. |
Rationale | Without a firewall rule configured for open ports default firewall policy will drop all packets to these ports. |
Warnings | warning
Changing firewall settings while connected over network can
result in being locked out of the system. |
Ensure iptables Firewall Rules Exist for All Open Ports
Rule ID | xccdf_org.ssgproject.content_rule_iptables_rules_for_open_ports |
Result | notapplicable |
Time | 2025-05-13T15:24:35 |
Severity | medium |
Identifiers and References | References: 3.5.3.2.4 |
Description | Any ports that have been opened on non-loopback addresses need firewall rules to govern traffic. |
Rationale | Without a firewall rule configured for open ports default firewall policy will drop all packets to these ports. |
Warnings | warning
Changing firewall settings while connected over network can
result in being locked out of the system. |
Set Default iptables Policy for Incoming Packets
Rule ID | xccdf_org.ssgproject.content_rule_set_iptables_default_rule |
Result | notapplicable |
Time | 2025-05-13T15:24:35 |
Severity | medium |
Identifiers and References | References: 11, 14, 3, 9, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS06.06, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.9.1.2, CA-3(5), CM-7(b), SC-7(23), CM-6(a), PR.IP-1, PR.PT-3, 3.5.3.2.1 |
Description | To set the default policy to DROP (instead of ACCEPT) for
the built-in INPUT chain which processes incoming packets,
add or correct the following line in
:INPUT DROP [0:0] |
Rationale | In |
Install iptables Package
Rule ID | xccdf_org.ssgproject.content_rule_package_iptables_installed |
Result | notapplicable |
Time | 2025-05-13T15:24:35 |
Severity | medium |
Identifiers and References | References: CM-6(a), Req-1.4.1, SRG-OS-000480-GPOS-00227, 3.5.3.1.1 |
Description | The $ apt-get install iptables |
Rationale |
|
Remove iptables-persistent Package
Rule ID | xccdf_org.ssgproject.content_rule_package_iptables-persistent_removed | ||
Result | pass | ||
Time | 2025-05-13T15:24:35 | ||
Severity | medium | ||
Identifiers and References | References: 3.5.1.2 | ||
Description | The $ apt-get remove iptables-persistent | ||
Rationale | Running both | ||
OVAL details package iptables-persistent is removed passed because these items were not found:Object oval:ssg-obj_test_package_iptables-persistent_removed:obj:1 of type dpkginfo_object
|
Configure Accepting Router Advertisements on All IPv6 Interfaces
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv6_conf_all_accept_ra | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 11, 14, 3, 9, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS06.06, 3.1.20, CCI-000366, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.9.1.2, CM-7(a), CM-7(b), CM-6(a), PR.IP-1, PR.PT-3, SRG-OS-000480-GPOS-00227, 3.3.9 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w net.ipv6.conf.all.accept_ra=0To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : net.ipv6.conf.all.accept_ra = 0 | ||||||||
Rationale | An illicit router advertisement message could result in a man-in-the-middle attack. | ||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Disable Accepting ICMP Redirects for All IPv6 Interfaces
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv6_conf_all_accept_redirects | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 11, 14, 3, 9, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS06.06, 3.1.20, CCI-000366, CCI-001551, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.9.1.2, CM-7(a), CM-7(b), CM-6(a), CM-6(b), CM-6.1(iv), PR.IP-1, PR.PT-3, SRG-OS-000480-GPOS-00227, 3.3.2, R13 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w net.ipv6.conf.all.accept_redirects=0To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : net.ipv6.conf.all.accept_redirects = 0 | ||||||||
Rationale | An illicit ICMP redirect message could result in a man-in-the-middle attack. | ||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Disable Kernel Parameter for Accepting Source-Routed Packets on all IPv6 Interfaces
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv6_conf_all_accept_source_route | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 12, 13, 14, 15, 16, 18, 4, 6, 8, 9, APO01.06, APO13.01, DSS01.05, DSS03.01, DSS05.02, DSS05.04, DSS05.07, DSS06.02, 3.1.20, CCI-000366, 4.2.3.4, 4.3.3.4, 4.4.3.3, SR 3.1, SR 3.5, SR 3.8, SR 4.1, SR 4.3, SR 5.1, SR 5.2, SR 5.3, SR 7.1, SR 7.6, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.12.1.1, A.12.1.2, A.13.1.1, A.13.1.2, A.13.1.3, A.13.2.1, A.13.2.2, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-7(a), CM-7(b), CM-6(a), DE.AE-1, ID.AM-3, PR.AC-5, PR.DS-5, PR.PT-4, SRG-OS-000480-GPOS-00227, 3.3.1, R13 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w net.ipv6.conf.all.accept_source_route=0To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : 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.
| ||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Disable Kernel Parameter for IPv6 Forwarding
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv6_conf_all_forwarding | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 11, 12, 13, 14, 15, 16, 2, 3, 7, 8, 9, APO13.01, BAI04.04, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS01.03, DSS03.05, DSS05.02, DSS05.05, DSS05.07, DSS06.06, CCI-000366, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 6.2, SR 7.1, SR 7.2, SR 7.6, A.12.1.2, A.12.1.3, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.17.2.1, A.9.1.2, CM-7(a), CM-7(b), CM-6(a), CM-6(b), CM-6.1(iv), DE.CM-1, PR.DS-4, PR.IP-1, PR.PT-3, SRG-OS-000480-GPOS-00227, 3.2.2 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w net.ipv6.conf.all.forwarding=0To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : 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. | ||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Disable Accepting Router Advertisements on all IPv6 Interfaces by Default
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv6_conf_default_accept_ra | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 11, 14, 3, 9, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS06.06, 3.1.20, CCI-000366, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.9.1.2, CM-7(a), CM-7(b), CM-6(a), PR.IP-1, PR.PT-3, SRG-OS-000480-GPOS-00227, 3.3.9 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w net.ipv6.conf.default.accept_ra=0To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : net.ipv6.conf.default.accept_ra = 0 | ||||||||
Rationale | An illicit router advertisement message could result in a man-in-the-middle attack. | ||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Disable Kernel Parameter for Accepting ICMP Redirects by Default on IPv6 Interfaces
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv6_conf_default_accept_redirects | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 11, 14, 3, 9, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS06.06, 3.1.20, CCI-000366, CCI-001551, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.9.1.2, CM-7(a), CM-7(b), CM-6(a), PR.IP-1, PR.PT-3, SRG-OS-000480-GPOS-00227, 3.3.2, R13 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w net.ipv6.conf.default.accept_redirects=0To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : net.ipv6.conf.default.accept_redirects = 0 | ||||||||
Rationale | An illicit ICMP redirect message could result in a man-in-the-middle attack. | ||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Disable Kernel Parameter for Accepting Source-Routed Packets on IPv6 Interfaces by Default
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv6_conf_default_accept_source_route | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 12, 13, 14, 15, 16, 18, 4, 6, 8, 9, APO01.06, APO13.01, DSS01.05, DSS03.01, DSS05.02, DSS05.04, DSS05.07, DSS06.02, 3.1.20, CCI-000366, 4.2.3.4, 4.3.3.4, 4.4.3.3, SR 3.1, SR 3.5, SR 3.8, SR 4.1, SR 4.3, SR 5.1, SR 5.2, SR 5.3, SR 7.1, SR 7.6, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.12.1.1, A.12.1.2, A.13.1.1, A.13.1.2, A.13.1.3, A.13.2.1, A.13.2.2, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-7(a), CM-7(b), CM-6(a), CM-6(b), CM-6.1(iv), DE.AE-1, ID.AM-3, PR.AC-5, PR.DS-5, PR.PT-4, Req-1.4.3, SRG-OS-000480-GPOS-00227, 3.3.1, R13, 1.4.2 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w net.ipv6.conf.default.accept_source_route=0To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : 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. | ||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Disable Accepting ICMP Redirects for All IPv4 Interfaces
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_all_accept_redirects | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 11, 12, 13, 14, 15, 16, 2, 3, 7, 8, 9, 5.10.1.1, APO13.01, BAI04.04, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS01.03, DSS03.05, DSS05.02, DSS05.05, DSS05.07, DSS06.06, 3.1.20, CCI-000366, CCI-001503, CCI-001551, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 6.2, SR 7.1, SR 7.2, SR 7.6, A.12.1.2, A.12.1.3, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.17.2.1, A.9.1.2, CM-7(a), CM-7(b), CM-6(a), SC-7(a), DE.CM-1, PR.DS-4, PR.IP-1, PR.PT-3, SRG-OS-000480-GPOS-00227, 3.3.2, R12 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.all.accept_redirects=0To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : 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.
| ||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Disable Kernel Parameter for Accepting Source-Routed Packets on all IPv4 Interfaces
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_all_accept_source_route | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 11, 12, 13, 14, 15, 16, 18, 2, 3, 4, 6, 7, 8, 9, APO01.06, APO13.01, BAI04.04, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS01.03, DSS01.05, DSS03.01, DSS03.05, DSS05.02, DSS05.04, DSS05.05, DSS05.07, DSS06.02, DSS06.06, 3.1.20, CCI-000366, 4.2.3.4, 4.3.3.4, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, 4.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 3.1, SR 3.5, SR 3.8, SR 4.1, SR 4.3, SR 5.1, SR 5.2, SR 5.3, SR 6.2, SR 7.1, SR 7.2, SR 7.6, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.12.1.1, A.12.1.2, A.12.1.3, A.12.5.1, A.12.6.2, A.13.1.1, A.13.1.2, A.13.1.3, A.13.2.1, A.13.2.2, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.14.2.2, A.14.2.3, A.14.2.4, A.17.2.1, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CIP-007-3 R4, CIP-007-3 R4.1, CIP-007-3 R4.2, CIP-007-3 R5.1, CM-7(a), CM-7(b), SC-5, CM-6(a), SC-7(a), DE.AE-1, DE.CM-1, ID.AM-3, PR.AC-5, PR.DS-4, PR.DS-5, PR.IP-1, PR.PT-3, PR.PT-4, SRG-OS-000480-GPOS-00227, 3.3.1, R12 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.all.accept_source_route=0To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : 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.
| ||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Enable Kernel Parameter to Log Martian Packets on all IPv4 Interfaces
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_all_log_martians | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | unknown | ||||||||
Identifiers and References | References: 1, 11, 12, 13, 14, 15, 16, 2, 3, 7, 8, 9, APO13.01, BAI04.04, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS01.03, DSS01.04, DSS03.05, DSS05.02, DSS05.03, DSS05.05, DSS05.07, DSS06.06, 3.1.20, CCI-000126, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 3.1, SR 3.5, SR 3.8, SR 4.1, SR 4.3, SR 5.1, SR 5.2, SR 5.3, SR 6.2, SR 7.1, SR 7.2, SR 7.6, A.11.2.6, A.12.1.2, A.12.1.3, A.12.5.1, A.12.6.2, A.13.1.1, A.13.2.1, A.14.1.3, A.14.2.2, A.14.2.3, A.14.2.4, A.17.2.1, A.6.2.1, A.6.2.2, A.9.1.2, CM-7(a), CM-7(b), SC-5(3)(a), DE.CM-1, PR.AC-3, PR.DS-4, PR.IP-1, PR.PT-3, PR.PT-4, SRG-OS-000480-GPOS-00227, 3.3.4 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.all.log_martians=1To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : 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. | ||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Enable Kernel Parameter to Use Reverse Path Filtering on all IPv4 Interfaces
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_all_rp_filter | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 12, 13, 14, 15, 16, 18, 2, 4, 6, 7, 8, 9, APO01.06, APO13.01, BAI04.04, DSS01.03, DSS01.05, DSS03.01, DSS03.05, DSS05.02, DSS05.04, DSS05.07, DSS06.02, 3.1.20, CCI-000366, CCI-001551, 4.2.3.4, 4.3.3.4, 4.4.3.3, SR 3.1, SR 3.5, SR 3.8, SR 4.1, SR 4.3, SR 5.1, SR 5.2, SR 5.3, SR 6.2, SR 7.1, SR 7.2, SR 7.6, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.12.1.1, A.12.1.2, A.12.1.3, A.13.1.1, A.13.1.2, A.13.1.3, A.13.2.1, A.13.2.2, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.17.2.1, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-7(a), CM-7(b), CM-6(a), SC-7(a), DE.AE-1, DE.CM-1, ID.AM-3, PR.AC-5, PR.DS-4, PR.DS-5, PR.PT-4, Req-1.4.3, SRG-OS-000480-GPOS-00227, 3.3.7, R12, 1.4.3 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.all.rp_filter=1To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : 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. | ||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Disable Kernel Parameter for Accepting Secure ICMP Redirects on all IPv4 Interfaces
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_all_secure_redirects | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 11, 12, 13, 14, 15, 16, 18, 2, 3, 4, 6, 7, 8, 9, APO01.06, APO13.01, BAI04.04, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS01.03, DSS01.05, DSS03.01, DSS03.05, DSS05.02, DSS05.04, DSS05.05, DSS05.07, DSS06.02, DSS06.06, 3.1.20, CCI-001503, CCI-001551, 4.2.3.4, 4.3.3.4, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, 4.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 3.1, SR 3.5, SR 3.8, SR 4.1, SR 4.3, SR 5.1, SR 5.2, SR 5.3, SR 6.2, SR 7.1, SR 7.2, SR 7.6, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.12.1.1, A.12.1.2, A.12.1.3, A.12.5.1, A.12.6.2, A.13.1.1, A.13.1.2, A.13.1.3, A.13.2.1, A.13.2.2, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.14.2.2, A.14.2.3, A.14.2.4, A.17.2.1, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-7(a), CM-7(b), CM-6(a), SC-7(a), DE.AE-1, DE.CM-1, ID.AM-3, PR.AC-5, PR.DS-4, PR.DS-5, PR.IP-1, PR.PT-3, PR.PT-4, Req-1.4.3, SRG-OS-000480-GPOS-00227, 3.3.3, R12, 1.4.3 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.all.secure_redirects=0To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : 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. | ||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Disable Kernel Parameter for Accepting ICMP Redirects by Default on IPv4 Interfaces
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_default_accept_redirects | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 11, 12, 13, 14, 15, 16, 18, 2, 3, 4, 6, 7, 8, 9, 5.10.1.1, APO01.06, APO13.01, BAI04.04, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS01.03, DSS01.05, DSS03.01, DSS03.05, DSS05.02, DSS05.04, DSS05.05, DSS05.07, DSS06.02, DSS06.06, 3.1.20, CCI-000366, CCI-001551, 4.2.3.4, 4.3.3.4, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, 4.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 3.1, SR 3.5, SR 3.8, SR 4.1, SR 4.3, SR 5.1, SR 5.2, SR 5.3, SR 6.2, SR 7.1, SR 7.2, SR 7.6, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.12.1.1, A.12.1.2, A.12.1.3, A.12.5.1, A.12.6.2, A.13.1.1, A.13.1.2, A.13.1.3, A.13.2.1, A.13.2.2, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.14.2.2, A.14.2.3, A.14.2.4, A.17.2.1, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-7(a), CM-7(b), CM-6(a), SC-7(a), DE.AE-1, DE.CM-1, ID.AM-3, PR.AC-5, PR.DS-4, PR.DS-5, PR.IP-1, PR.PT-3, PR.PT-4, Req-1.4.3, SRG-OS-000480-GPOS-00227, 3.3.2, R12, 1.4.3 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.default.accept_redirects=0To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : 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.
| ||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Disable Kernel Parameter for Accepting Source-Routed Packets on IPv4 Interfaces by Default
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_default_accept_source_route |
Result | pass |
Time | 2025-05-13T15:24:35 |
Severity | medium |
Identifiers and References | References: 1, 11, 12, 13, 14, 15, 16, 18, 2, 3, 4, 6, 7, 8, 9, 5.10.1.1, APO01.06, APO13.01, BAI04.04, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS01.03, DSS01.05, DSS03.01, DSS03.05, DSS05.02, DSS05.04, DSS05.05, DSS05.07, DSS06.02, DSS06.06, 3.1.20, CCI-000366, CCI-001551, 4.2.3.4, 4.3.3.4, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, 4.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 3.1, SR 3.5, SR 3.8, SR 4.1, SR 4.3, SR 5.1, SR 5.2, SR 5.3, SR 6.2, SR 7.1, SR 7.2, SR 7.6, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.12.1.1, A.12.1.2, A.12.1.3, A.12.5.1, A.12.6.2, A.13.1.1, A.13.1.2, A.13.1.3, A.13.2.1, A.13.2.2, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.14.2.2, A.14.2.3, A.14.2.4, A.17.2.1, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CIP-007-3 R4, CIP-007-3 R4.1, CIP-007-3 R4.2, CIP-007-3 R5.1, CM-7(a), CM-7(b), SC-5, SC-7(a), DE.AE-1, DE.CM-1, ID.AM-3, PR.AC-5, PR.DS-4, PR.DS-5, PR.IP-1, PR.PT-3, PR.PT-4, SRG-OS-000480-GPOS-00227, 3.3.1, R12 |
Description | To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.default.accept_source_route=0To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : net.ipv4.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.
|
Enable Kernel Paremeter to Log Martian Packets on all IPv4 Interfaces by Default
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_default_log_martians | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | unknown | ||||||||
Identifiers and References | References: 1, 11, 12, 13, 14, 15, 16, 2, 3, 7, 8, 9, APO13.01, BAI04.04, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS01.03, DSS01.04, DSS03.05, DSS05.02, DSS05.03, DSS05.05, DSS05.07, DSS06.06, 3.1.20, CCI-000126, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 3.1, SR 3.5, SR 3.8, SR 4.1, SR 4.3, SR 5.1, SR 5.2, SR 5.3, SR 6.2, SR 7.1, SR 7.2, SR 7.6, A.11.2.6, A.12.1.2, A.12.1.3, A.12.5.1, A.12.6.2, A.13.1.1, A.13.2.1, A.14.1.3, A.14.2.2, A.14.2.3, A.14.2.4, A.17.2.1, A.6.2.1, A.6.2.2, A.9.1.2, CM-7(a), CM-7(b), SC-5(3)(a), DE.CM-1, PR.AC-3, PR.DS-4, PR.IP-1, PR.PT-3, PR.PT-4, SRG-OS-000480-GPOS-00227, 3.3.4 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.default.log_martians=1To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : 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. | ||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Enable Kernel Parameter to Use Reverse Path Filtering on all IPv4 Interfaces by Default
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_default_rp_filter | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 12, 13, 14, 15, 16, 18, 2, 4, 6, 7, 8, 9, APO01.06, APO13.01, BAI04.04, DSS01.03, DSS01.05, DSS03.01, DSS03.05, DSS05.02, DSS05.04, DSS05.07, DSS06.02, 3.1.20, CCI-000366, 4.2.3.4, 4.3.3.4, 4.4.3.3, SR 3.1, SR 3.5, SR 3.8, SR 4.1, SR 4.3, SR 5.1, SR 5.2, SR 5.3, SR 6.2, SR 7.1, SR 7.2, SR 7.6, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.12.1.1, A.12.1.2, A.12.1.3, A.13.1.1, A.13.1.2, A.13.1.3, A.13.2.1, A.13.2.2, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.17.2.1, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-7(a), CM-7(b), CM-6(a), SC-7(a), DE.AE-1, DE.CM-1, ID.AM-3, PR.AC-5, PR.DS-4, PR.DS-5, PR.PT-4, SRG-OS-000480-GPOS-00227, 3.3.7, R12 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.default.rp_filter=1To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : 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. | ||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Configure Kernel Parameter for Accepting Secure Redirects By Default
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_default_secure_redirects | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 11, 12, 13, 14, 15, 16, 18, 2, 3, 4, 6, 7, 8, 9, APO01.06, APO13.01, BAI04.04, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS01.03, DSS01.05, DSS03.01, DSS03.05, DSS05.02, DSS05.04, DSS05.05, DSS05.07, DSS06.02, DSS06.06, 3.1.20, CCI-001551, 4.2.3.4, 4.3.3.4, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, 4.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 3.1, SR 3.5, SR 3.8, SR 4.1, SR 4.3, SR 5.1, SR 5.2, SR 5.3, SR 6.2, SR 7.1, SR 7.2, SR 7.6, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.12.1.1, A.12.1.2, A.12.1.3, A.12.5.1, A.12.6.2, A.13.1.1, A.13.1.2, A.13.1.3, A.13.2.1, A.13.2.2, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.14.2.2, A.14.2.3, A.14.2.4, A.17.2.1, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CIP-007-3 R4, CIP-007-3 R4.1, CIP-007-3 R4.2, CIP-007-3 R5.1, CM-7(a), CM-7(b), SC-5, SC-7(a), DE.AE-1, DE.CM-1, ID.AM-3, PR.AC-5, PR.DS-4, PR.DS-5, PR.IP-1, PR.PT-3, PR.PT-4, SRG-OS-000480-GPOS-00227, 3.3.3, R12 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.default.secure_redirects=0To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : 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. | ||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Enable Kernel Parameter to Ignore ICMP Broadcast Echo Requests on IPv4 Interfaces
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_icmp_echo_ignore_broadcasts | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 11, 12, 13, 14, 15, 16, 18, 2, 3, 4, 6, 7, 8, 9, 5.10.1.1, APO01.06, APO13.01, BAI04.04, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS01.03, DSS01.05, DSS03.01, DSS03.05, DSS05.02, DSS05.04, DSS05.05, DSS05.07, DSS06.02, DSS06.06, 3.1.20, CCI-000366, 4.2.3.4, 4.3.3.4, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, 4.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 3.1, SR 3.5, SR 3.8, SR 4.1, SR 4.3, SR 5.1, SR 5.2, SR 5.3, SR 6.2, SR 7.1, SR 7.2, SR 7.6, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.12.1.1, A.12.1.2, A.12.1.3, A.12.5.1, A.12.6.2, A.13.1.1, A.13.1.2, A.13.1.3, A.13.2.1, A.13.2.2, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.14.2.2, A.14.2.3, A.14.2.4, A.17.2.1, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CIP-007-3 R4, CIP-007-3 R4.1, CIP-007-3 R4.2, CIP-007-3 R5.1, CM-7(a), CM-7(b), SC-5, DE.AE-1, DE.CM-1, ID.AM-3, PR.AC-5, PR.DS-4, PR.DS-5, PR.IP-1, PR.PT-3, PR.PT-4, Req-1.4.3, SRG-OS-000480-GPOS-00227, 3.3.5, 1.4.2 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : net.ipv4.icmp_echo_ignore_broadcasts = 1 | ||||||||
Rationale | Responding to broadcast (ICMP) echoes facilitates network mapping
and provides a vector for amplification attacks.
| ||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Enable Kernel Parameter to Ignore Bogus ICMP Error Responses on IPv4 Interfaces
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_icmp_ignore_bogus_error_responses | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | unknown | ||||||||
Identifiers and References | References: 1, 11, 12, 13, 14, 15, 16, 2, 3, 7, 8, 9, APO13.01, BAI04.04, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS01.03, DSS03.05, DSS05.02, DSS05.05, DSS05.07, DSS06.06, 3.1.20, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 6.2, SR 7.1, SR 7.2, SR 7.6, A.12.1.2, A.12.1.3, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.17.2.1, A.9.1.2, CIP-007-3 R4, CIP-007-3 R4.1, CIP-007-3 R4.2, CIP-007-3 R5.1, CM-7(a), CM-7(b), SC-5, DE.CM-1, PR.DS-4, PR.IP-1, PR.PT-3, Req-1.4.3, SRG-OS-000480-GPOS-00227, 3.3.6, R12, 1.4.2 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : net.ipv4.icmp_ignore_bogus_error_responses = 1 | ||||||||
Rationale | Ignoring bogus ICMP error responses reduces log size, although some activity would not be logged. | ||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Disable Kernel Parameter for Sending ICMP Redirects on all IPv4 Interfaces
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_all_send_redirects | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 11, 12, 13, 14, 15, 16, 18, 2, 3, 4, 6, 7, 8, 9, 5.10.1.1, APO01.06, APO13.01, BAI04.04, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS01.03, DSS01.05, DSS03.01, DSS03.05, DSS05.02, DSS05.04, DSS05.05, DSS05.07, DSS06.02, DSS06.06, 3.1.20, CCI-000366, 4.2.3.4, 4.3.3.4, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, 4.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 3.1, SR 3.5, SR 3.8, SR 4.1, SR 4.3, SR 5.1, SR 5.2, SR 5.3, SR 6.2, SR 7.1, SR 7.2, SR 7.6, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.12.1.1, A.12.1.2, A.12.1.3, A.12.5.1, A.12.6.2, A.13.1.1, A.13.1.2, A.13.1.3, A.13.2.1, A.13.2.2, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.14.2.2, A.14.2.3, A.14.2.4, A.17.2.1, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CIP-007-3 R4, CIP-007-3 R4.1, CIP-007-3 R4.2, CIP-007-3 R5.1, CM-7(a), CM-7(b), SC-5, CM-6(a), SC-7(a), DE.AE-1, DE.CM-1, ID.AM-3, PR.AC-5, PR.DS-4, PR.DS-5, PR.IP-1, PR.PT-3, PR.PT-4, SRG-OS-000480-GPOS-00227, 3.2.1, R12, 1.4.5 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.all.send_redirects=0To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : 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.
| ||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Disable Kernel Parameter for Sending ICMP Redirects on all IPv4 Interfaces by Default
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_default_send_redirects | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 11, 12, 13, 14, 15, 16, 18, 2, 3, 4, 6, 7, 8, 9, 5.10.1.1, APO01.06, APO13.01, BAI04.04, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS01.03, DSS01.05, DSS03.01, DSS03.05, DSS05.02, DSS05.04, DSS05.05, DSS05.07, DSS06.02, DSS06.06, 3.1.20, CCI-000366, 4.2.3.4, 4.3.3.4, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, 4.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 3.1, SR 3.5, SR 3.8, SR 4.1, SR 4.3, SR 5.1, SR 5.2, SR 5.3, SR 6.2, SR 7.1, SR 7.2, SR 7.6, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.12.1.1, A.12.1.2, A.12.1.3, A.12.5.1, A.12.6.2, A.13.1.1, A.13.1.2, A.13.1.3, A.13.2.1, A.13.2.2, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.14.2.2, A.14.2.3, A.14.2.4, A.17.2.1, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CIP-007-3 R4, CIP-007-3 R4.1, CIP-007-3 R4.2, CIP-007-3 R5.1, CM-7(a), CM-7(b), SC-5, CM-6(a), SC-7(a), DE.AE-1, DE.CM-1, ID.AM-3, PR.AC-5, PR.DS-4, PR.DS-5, PR.IP-1, PR.PT-3, PR.PT-4, SRG-OS-000480-GPOS-00227, 3.2.1, R12, 1.4.5 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w net.ipv4.conf.default.send_redirects=0To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : 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.
| ||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Disable Kernel Parameter for IP Forwarding on IPv4 Interfaces
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_ip_forward | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 1, 11, 12, 13, 14, 15, 16, 2, 3, 7, 8, 9, APO13.01, BAI04.04, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS01.03, DSS03.05, DSS05.02, DSS05.05, DSS05.07, DSS06.06, 3.1.20, CCI-000366, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 3.1, SR 3.5, SR 3.8, SR 4.1, SR 4.3, SR 5.1, SR 5.2, SR 5.3, SR 6.2, SR 7.1, SR 7.2, SR 7.6, A.12.1.2, A.12.1.3, A.12.5.1, A.12.6.2, A.13.1.1, A.13.2.1, A.14.1.3, A.14.2.2, A.14.2.3, A.14.2.4, A.17.2.1, A.9.1.2, CIP-007-3 R4, CIP-007-3 R4.1, CIP-007-3 R4.2, CIP-007-3 R5.1, CM-7(a), CM-7(b), SC-5, CM-6(a), SC-7(a), DE.CM-1, PR.DS-4, PR.IP-1, PR.PT-3, PR.PT-4, Req-1.3.1, Req-1.3.2, SRG-OS-000480-GPOS-00227, 3.2.2, R12, 1.4.3 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w net.ipv4.ip_forward=0To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : net.ipv4.ip_forward = 0 | ||||||||
Rationale | Routing protocol daemons are typically used on routers to exchange network topology information with other routers. If this capability is used when not required, system network information may be unnecessarily transmitted across the network. | ||||||||
Warnings | warning
Certain technologies such as virtual machines, containers, etc. rely on IPv4 forwarding to enable and use networking.
Disabling IPv4 forwarding would cause those technologies to stop working. Therefore, this rule should not be used in
profiles or benchmarks that target usage of IPv4 forwarding. | ||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Install nftables Package
Rule ID | xccdf_org.ssgproject.content_rule_package_nftables_installed |
Result | notapplicable |
Time | 2025-05-13T15:24:35 |
Severity | medium |
Identifiers and References | |
Description | nftables provides a new in-kernel packet classification framework that is based on a
network-specific Virtual Machine (VM) and a new nft userspace command line tool.
nftables reuses the existing Netfilter subsystems such as the existing hook infrastructure,
the connection tracking system, NAT, userspace queuing and logging subsystem.
The $ apt-get install nftables |
Rationale |
|
Verify nftables Service is Enabled
Rule ID | xccdf_org.ssgproject.content_rule_service_nftables_enabled | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Result | fail | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Time | 2025-05-13T15:24:35 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Identifiers and References | References: 3.5.2.9 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | The nftables service allows for the loading of nftables rulesets during boot,
or starting on the nftables service
The $ sudo systemctl enable nftables.service | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Rationale | The nftables service restores the nftables rules from the rules files referenced
in the | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OVAL details package nftables is installed failed because of these items:
Test that the nftables service is running failed because these items were missing:Object oval:ssg-obj_service_running_nftables:obj:1 of type systemdunitproperty_object
State oval:ssg-state_service_running_nftables:ste:1 of type systemdunitproperty_state
systemd test failed because of these items:
systemd test failed because of these items:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Remediation Puppet snippet: (show)
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Remediation Shell script: (show)
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ensure nftables Default Deny Firewall Policy
Rule ID | xccdf_org.ssgproject.content_rule_nftables_ensure_default_deny_policy |
Result | notchecked |
Time | 2025-05-13T15:24:35 |
Severity | medium |
Identifiers and References | |
Description | Base chain policy is the default verdict that will be applied to packets reaching the end of the chain. There are two policies: accept (Default) and drop. If the policy is set to accept, the firewall will accept any packet that is not configured to be denied and the packet will continue traversing the network stack. |
Rationale | It is easier to allow acceptable usage than to block unacceptable usage. |
Warnings | warning
Changing firewall settings while connected over network can result in being locked out
of the system. |
Ensure nftables Rules are Permanent
Rule ID | xccdf_org.ssgproject.content_rule_nftables_rules_permanent | ||||||||||||
Result | fail | ||||||||||||
Time | 2025-05-13T15:24:35 | ||||||||||||
Severity | medium | ||||||||||||
Identifiers and References | References: 3.5.2.10 | ||||||||||||
Description | nftables is a subsystem of the Linux kernel providing filtering and classification of network packets/datagrams/frames. The nftables service reads the /etc/nftables.conf file for a nftables file or files to include in the nftables ruleset. A nftables ruleset containing the input, forward, and output base chains allow network traffic to be filtered. | ||||||||||||
Rationale | Changes made to nftables ruleset only affect the live system, you will also need to configure the nftables ruleset to apply on boot | ||||||||||||
OVAL details Check the existence of /etc/nftables.conf file failed because these items were missing:Object oval:ssg-object_etc_nftables_conf_file:obj:1 of type textfilecontent54_object
Check if file in include entry exists in system failed because these items were missing:Object oval:ssg-object_etc_nftables_conf_include_file_exists:obj:1 of type textfilecontent54_object
| |||||||||||||
Remediation Shell script: (show)
|
Ensure Base Chains Exist for Nftables
Rule ID | xccdf_org.ssgproject.content_rule_set_nftables_base_chain |
Result | notchecked |
Time | 2025-05-13T15:24:35 |
Severity | medium |
Identifiers and References | References: 3.5.2.5 |
Description | Tables in nftables hold chains. Each table only has one address family and only applies to packets of this family. Tables can have one of six families. Chains are containers for rules. They exist in two kinds, base chains and regular chains. A base chain is an entry point for packets from the networking stack, a regular chain may be used as jump target and is used for better rule organization. |
Rationale | If a base chain doesn't exist with a hook for input, forward, and delete, packets that would flow through those chains will not be touched by nftables. |
Warnings | warning
Configuring rules over ssh, by creating a base chain with policy drop will cause loss of connectivity. Ensure that a rule allowing ssh has been added to the base chain prior to setting the base cahin's policy to drop |
Set nftables Configuration for Loopback Traffic
Rule ID | xccdf_org.ssgproject.content_rule_set_nftables_loopback_traffic |
Result | notchecked |
Time | 2025-05-13T15:24:35 |
Severity | medium |
Identifiers and References | |
Description | Configure the loopback interface to accept traffic. Configure all other interfaces to deny traffic to the loopback network. |
Rationale | Loopback traffic is generated between processes on machine and is typically critical to operation of the system. The loopback interface is the only place that loopback network traffic should be seen, all other interfaces should ignore traffic on this network as an anti-spoofing measure. |
Warnings | warning
Changing firewall settings while connected over network can
result in being locked out of the system.
Keep in mind the remediation makes changes only to the running
system, in order to keep the changes need to take care to save
the nft settings to the relvant configutation files. |
Ensure a Table Exists for Nftables
Rule ID | xccdf_org.ssgproject.content_rule_set_nftables_table |
Result | notchecked |
Time | 2025-05-13T15:24:35 |
Severity | medium |
Identifiers and References | References: 3.5.2.4 |
Description | Tables in nftables hold chains. Each table only has one address family and only applies to packets of this family. Tables can have one of six families. |
Rationale | Nftables doesn't have any default tables. Without a table being built, nftables will not filter network traffic. Note: adding rules to a running nftables can cause loss of connectivity to the system. |
Warnings | warning
Adding rules to a running nftables can cause loss of connectivity to the system. |
Remove ufw Package
Rule ID | xccdf_org.ssgproject.content_rule_package_ufw_removed | ||||||||||||
Result | fail | ||||||||||||
Time | 2025-05-13T15:24:35 | ||||||||||||
Severity | medium | ||||||||||||
Identifiers and References | References: 3.5.3.1.3 | ||||||||||||
Description | The $ apt-get remove ufw | ||||||||||||
Rationale | Running | ||||||||||||
OVAL details package ufw is removed failed because of these items:
| |||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||
Remediation Puppet snippet: (show)
| |||||||||||||
Remediation Shell script: (show)
|
Verify ufw Enabled
Rule ID | xccdf_org.ssgproject.content_rule_service_ufw_enabled | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Result | pass | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Time | 2025-05-13T15:24:35 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Identifiers and References | References: CCI-002314, SRG-OS-000297-GPOS-00115, UBTU-22-251015, 3.5.1.3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description |
The $ sudo systemctl enable ufw.service | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Rationale | The ufw service must be enabled and running in order for ufw to protect the system | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OVAL details package ufw is installed passed because of these items:
Test that the ufw service is running passed because of these items:
systemd test passed because of these items:
systemd test passed because of these items:
|
Ensure ufw Default Deny Firewall Policy
Rule ID | xccdf_org.ssgproject.content_rule_set_ufw_default_rule |
Result | notchecked |
Time | 2025-05-13T15:24:35 |
Severity | medium |
Identifiers and References | References: 3.5.1.7 |
Description | A default deny policy on connections ensures that any unconfigured network usage will be rejected. Note: Any port or protocol without a explicit allow before the default deny will be blocked. |
Rationale | With a default accept policy the firewall will accept any packet that is not configured to be denied. It is easier to allow acceptable usage than to block unacceptable usage. |
Warnings | warning
Changing firewall settings while connected over network can
result in being locked out of the system. |
Set UFW Loopback Traffic
Rule ID | xccdf_org.ssgproject.content_rule_set_ufw_loopback_traffic |
Result | notchecked |
Time | 2025-05-13T15:24:35 |
Severity | medium |
Identifiers and References | References: 3.5.1.4 |
Description | Configure the loopback interface to accept traffic. Configure all other interfaces to deny traffic to the loopback network. |
Rationale | Loopback traffic is generated between processes on machine and is typically critical to operation of the system. The loopback interface is the only place that loopback network traffic should be seen, all other interfaces should ignore traffic on this network as an anti-spoofing measure. |
Warnings | warning
Changing firewall settings while connected over network can
result in being locked out of the system. |
Ensure ufw Firewall Rules Exist for All Open Ports
Rule ID | xccdf_org.ssgproject.content_rule_ufw_rules_for_open_ports |
Result | notchecked |
Time | 2025-05-13T15:24:35 |
Severity | medium |
Identifiers and References | References: 3.5.1.6 |
Description | Any ports that have been opened on non-loopback addresses need firewall rules to govern traffic. |
Rationale | Without a firewall rule configured for open ports default firewall policy will drop all packets to these ports. |
Warnings | warning
Changing firewall settings while connected over network can
result in being locked out of the system. |
Deactivate Wireless Network Interfaces
Rule ID | xccdf_org.ssgproject.content_rule_wireless_disable_interfaces | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:24:35 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 11, 12, 14, 15, 3, 8, 9, APO13.01, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS01.04, DSS05.02, DSS05.03, DSS05.05, DSS06.06, 3.1.16, CCI-000085, CCI-002418, CCI-002421, CCI-001443, CCI-001444, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 3.1, SR 3.5, SR 3.8, SR 4.1, SR 4.3, SR 5.1, SR 5.2, SR 5.3, SR 7.1, SR 7.6, 1315, 1319, A.11.2.6, A.12.1.2, A.12.5.1, A.12.6.2, A.13.1.1, A.13.2.1, A.14.1.3, A.14.2.2, A.14.2.3, A.14.2.4, A.6.2.1, A.6.2.2, A.9.1.2, AC-18(a), AC-18(3), CM-7(a), CM-7(b), CM-6(a), MP-7, PR.AC-3, PR.IP-1, PR.PT-3, PR.PT-4, Req-1.3.3, SRG-OS-000299-GPOS-00117, SRG-OS-000300-GPOS-00118, SRG-OS-000424-GPOS-00188, SRG-OS-000481-GPOS-000481, UBTU-22-291015, 3.1.2, 1.3.3 | ||||||||
Description | Deactivating wireless network interfaces should prevent normal usage of the wireless
capability.
$ ls -L -d /sys/class/net/*/wireless | xargs dirname | xargs basename -a | ||||||||
Rationale | The use of wireless networking can introduce many different attack vectors into the organization's network. Common attack vectors such as malicious association and ad hoc networks will allow an attacker to spoof a wireless access point (AP), allowing validated systems to connect to the malicious AP and enabling the attacker to monitor and record network traffic. These malicious APs can also serve to create a man-in-the-middle attack or be used to create a denial of service to valid network resources. | ||||||||
OVAL details query /proc/net/wireless failed because of these items:
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Verify Group Who Owns Backup group File
Rule ID | xccdf_org.ssgproject.content_rule_file_groupowner_backup_etc_group | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | References: CCI-002223, AC-6 (1), Req-8.7, SRG-OS-000480-GPOS-00227, 6.1.4, 2.2.6 | ||||||
Description | To properly set the group owner of $ sudo chgrp root /etc/group- | ||||||
Rationale | The | ||||||
OVAL details Testing group ownership of /etc/group- passed because these items were not found:Object oval:ssg-object_file_groupowner_backup_etc_group_0:obj:1 of type file_object
|
Verify Group Who Owns Backup gshadow File
Rule ID | xccdf_org.ssgproject.content_rule_file_groupowner_backup_etc_gshadow | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | References: CCI-002223, AC-6 (1), Req-8.7, SRG-OS-000480-GPOS-00227, 6.1.8 | ||||||
Description | To properly set the group owner of $ sudo chgrp shadow /etc/gshadow- | ||||||
Rationale | The | ||||||
OVAL details Testing group ownership of /etc/gshadow- passed because these items were not found:Object oval:ssg-object_file_groupowner_backup_etc_gshadow_0:obj:1 of type file_object
|
Verify Group Who Owns Backup passwd File
Rule ID | xccdf_org.ssgproject.content_rule_file_groupowner_backup_etc_passwd | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | References: CCI-002223, AC-6 (1), Req-8.7, SRG-OS-000480-GPOS-00227, 6.1.2, 2.2.6 | ||||||
Description | To properly set the group owner of $ sudo chgrp root /etc/passwd- | ||||||
Rationale | The | ||||||
OVAL details Testing group ownership of /etc/passwd- passed because these items were not found:Object oval:ssg-object_file_groupowner_backup_etc_passwd_0:obj:1 of type file_object
|
Verify User Who Owns Backup shadow File
Rule ID | xccdf_org.ssgproject.content_rule_file_groupowner_backup_etc_shadow | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | References: Req-8.7, SRG-OS-000480-GPOS-00227, 6.1.6, 2.2.6 | ||||||
Description | To properly set the group owner of $ sudo chgrp shadow /etc/shadow- | ||||||
Rationale | The | ||||||
OVAL details Testing group ownership of /etc/shadow- passed because these items were not found:Object oval:ssg-object_file_groupowner_backup_etc_shadow_0:obj:1 of type file_object
|
Verify Group Who Owns group File
Rule ID | xccdf_org.ssgproject.content_rule_file_groupowner_etc_group | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, 5.5.2.2, APO01.06, DSS05.04, DSS05.07, DSS06.02, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, Req-8.7.c, SRG-OS-000480-GPOS-00227, 6.1.3, R50, 2.2.6 | ||||||
Description | To properly set the group owner of $ sudo chgrp root /etc/group | ||||||
Rationale | The | ||||||
OVAL details Testing group ownership of /etc/group passed because these items were not found:Object oval:ssg-object_file_groupowner_etc_group_0:obj:1 of type file_object
|
Verify Group Who Owns gshadow File
Rule ID | xccdf_org.ssgproject.content_rule_file_groupowner_etc_gshadow | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, APO01.06, DSS05.04, DSS05.07, DSS06.02, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, SRG-OS-000480-GPOS-00227, 6.1.7, R50 | ||||||
Description | To properly set the group owner of $ sudo chgrp shadow /etc/gshadow | ||||||
Rationale | The | ||||||
OVAL details Testing group ownership of /etc/gshadow passed because these items were not found:Object oval:ssg-object_file_groupowner_etc_gshadow_0:obj:1 of type file_object
|
Verify Group Who Owns passwd File
Rule ID | xccdf_org.ssgproject.content_rule_file_groupowner_etc_passwd | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, 5.5.2.2, APO01.06, DSS05.04, DSS05.07, DSS06.02, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, Req-8.7.c, SRG-OS-000480-GPOS-00227, 6.1.1, R50, 2.2.6 | ||||||
Description | To properly set the group owner of $ sudo chgrp root /etc/passwd | ||||||
Rationale | The | ||||||
OVAL details Testing group ownership of /etc/passwd passed because these items were not found:Object oval:ssg-object_file_groupowner_etc_passwd_0:obj:1 of type file_object
|
Verify Group Who Owns shadow File
Rule ID | xccdf_org.ssgproject.content_rule_file_groupowner_etc_shadow | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, 5.5.2.2, APO01.06, DSS05.04, DSS05.07, DSS06.02, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, Req-8.7.c, SRG-OS-000480-GPOS-00227, 6.1.5, R50, 2.2.6 | ||||||
Description | To properly set the group owner of $ sudo chgrp shadow /etc/shadow | ||||||
Rationale | The | ||||||
OVAL details Testing group ownership of /etc/shadow passed because these items were not found:Object oval:ssg-object_file_groupowner_etc_shadow_0:obj:1 of type file_object
|
Verify User Who Owns Backup group File
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_backup_etc_group | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | References: CCI-002223, AC-6 (1), Req-8.7.c, SRG-OS-000480-GPOS-00227, 6.1.4, 2.2.6 | ||||||
Description | To properly set the owner of $ sudo chown root /etc/group- | ||||||
Rationale | The | ||||||
OVAL details Testing user ownership of /etc/group- passed because these items were not found:Object oval:ssg-object_file_owner_backup_etc_group_0:obj:1 of type file_object
|
Verify User Who Owns Backup gshadow File
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_backup_etc_gshadow | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | References: CCI-002223, AC-6 (1), Req-8.7, SRG-OS-000480-GPOS-00227, 6.1.8 | ||||||
Description | To properly set the owner of $ sudo chown root /etc/gshadow- | ||||||
Rationale | The | ||||||
OVAL details Testing user ownership of /etc/gshadow- passed because these items were not found:Object oval:ssg-object_file_owner_backup_etc_gshadow_0:obj:1 of type file_object
|
Verify User Who Owns Backup passwd File
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_backup_etc_passwd | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | References: CCI-002223, AC-6 (1), Req-8.7.c, SRG-OS-000480-GPOS-00227, 6.1.2, 2.2.6 | ||||||
Description | To properly set the owner of $ sudo chown root /etc/passwd- | ||||||
Rationale | The | ||||||
OVAL details Testing user ownership of /etc/passwd- passed because these items were not found:Object oval:ssg-object_file_owner_backup_etc_passwd_0:obj:1 of type file_object
|
Verify Group Who Owns Backup shadow File
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_backup_etc_shadow | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | References: CCI-002223, AC-6 (1), Req-8.7.c, SRG-OS-000480-GPOS-00227, 6.1.6, 2.2.6 | ||||||
Description | To properly set the owner of $ sudo chown root /etc/shadow- | ||||||
Rationale | The | ||||||
OVAL details Testing user ownership of /etc/shadow- passed because these items were not found:Object oval:ssg-object_file_owner_backup_etc_shadow_0:obj:1 of type file_object
|
Verify User Who Owns group File
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_etc_group | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, 5.5.2.2, APO01.06, DSS05.04, DSS05.07, DSS06.02, CCI-002223, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, Req-8.7.c, SRG-OS-000480-GPOS-00227, 6.1.3, R50, 2.2.6 | ||||||
Description | To properly set the owner of $ sudo chown root /etc/group | ||||||
Rationale | The | ||||||
OVAL details Testing user ownership of /etc/group passed because these items were not found:Object oval:ssg-object_file_owner_etc_group_0:obj:1 of type file_object
|
Verify User Who Owns gshadow File
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_etc_gshadow | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, APO01.06, DSS05.04, DSS05.07, DSS06.02, CCI-002223, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, SRG-OS-000480-GPOS-00227, 6.1.7, R50 | ||||||
Description | To properly set the owner of $ sudo chown root /etc/gshadow | ||||||
Rationale | The | ||||||
OVAL details Testing user ownership of /etc/gshadow passed because these items were not found:Object oval:ssg-object_file_owner_etc_gshadow_0:obj:1 of type file_object
|
Verify User Who Owns passwd File
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_etc_passwd | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, 5.5.2.2, APO01.06, DSS05.04, DSS05.07, DSS06.02, CCI-002223, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, Req-8.7.c, SRG-OS-000480-GPOS-00227, 6.1.1, R50, 2.2.6 | ||||||
Description | To properly set the owner of $ sudo chown root /etc/passwd | ||||||
Rationale | The | ||||||
OVAL details Testing user ownership of /etc/passwd passed because these items were not found:Object oval:ssg-object_file_owner_etc_passwd_0:obj:1 of type file_object
|
Verify User Who Owns shadow File
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_etc_shadow | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, 5.5.2.2, APO01.06, DSS05.04, DSS05.07, DSS06.02, CCI-002223, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, Req-8.7.c, SRG-OS-000480-GPOS-00227, 6.1.5, R50, 2.2.6 | ||||||
Description | To properly set the owner of $ sudo chown root /etc/shadow | ||||||
Rationale | The | ||||||
OVAL details Testing user ownership of /etc/shadow passed because these items were not found:Object oval:ssg-object_file_owner_etc_shadow_0:obj:1 of type file_object
|
Verify that audit tools are owned by group root
Rule ID | xccdf_org.ssgproject.content_rule_file_groupownership_audit_binaries | ||||||||||||||||||||||||||||||||||||||||||
Result | pass | ||||||||||||||||||||||||||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||||||||||||||||||
Identifiers and References | References: CCI-001493, CCI-001494, SRG-OS-000256-GPiOS-00097, SRG-OS-000257-GPOS-00098, 4.1.4.10 | ||||||||||||||||||||||||||||||||||||||||||
Description | The Ubuntu 22.04 operating system audit tools must have the proper ownership configured to protected against unauthorized access. Verify it by running the following command: $ stat -c "%n %G" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/audispd /sbin/augenrules /sbin/auditctl root /sbin/aureport root /sbin/ausearch root /sbin/autrace root /sbin/auditd root /sbin/audispd root /sbin/augenrules rootAudit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators | ||||||||||||||||||||||||||||||||||||||||||
Rationale | Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information. Operating systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools and the corresponding rights the user enjoys to make access decisions regarding the access to audit tools. | ||||||||||||||||||||||||||||||||||||||||||
OVAL details Testing group ownership of /sbin/auditctl passed because these items were not found:Object oval:ssg-object_file_groupownership_audit_binaries_0:obj:1 of type file_object
Testing group ownership of /sbin/aureport passed because these items were not found:Object oval:ssg-object_file_groupownership_audit_binaries_1:obj:1 of type file_object
Testing group ownership of /sbin/ausearch passed because these items were not found:Object oval:ssg-object_file_groupownership_audit_binaries_2:obj:1 of type file_object
Testing group ownership of /sbin/autrace passed because these items were not found:Object oval:ssg-object_file_groupownership_audit_binaries_3:obj:1 of type file_object
Testing group ownership of /sbin/auditd passed because these items were not found:Object oval:ssg-object_file_groupownership_audit_binaries_4:obj:1 of type file_object
Testing group ownership of /sbin/audispd passed because these items were not found:Object oval:ssg-object_file_groupownership_audit_binaries_5:obj:1 of type file_object
Testing group ownership of /sbin/augenrules passed because these items were not found:Object oval:ssg-object_file_groupownership_audit_binaries_6:obj:1 of type file_object
|
Verify that audit tools are owned by root
Rule ID | xccdf_org.ssgproject.content_rule_file_ownership_audit_binaries | ||||||||||||||||||||||||||||||||||||||||||
Result | pass | ||||||||||||||||||||||||||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||||||||||||||||||
Identifiers and References | References: CCI-001493, CCI-001494, SRG-OS-000256-GPiOS-00097, SRG-OS-000257-GPOS-00098, UBTU-22-232110, 4.1.4.9 | ||||||||||||||||||||||||||||||||||||||||||
Description | The Ubuntu 22.04 operating system audit tools must have the proper ownership configured to protected against unauthorized access. Verify it by running the following command: $ stat -c "%n %U" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/audispd /sbin/augenrules /sbin/auditctl root /sbin/aureport root /sbin/ausearch root /sbin/autrace root /sbin/auditd root /sbin/audispd root /sbin/augenrules rootAudit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators | ||||||||||||||||||||||||||||||||||||||||||
Rationale | Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information. Operating systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools and the corresponding rights the user enjoys to make access decisions regarding the access to audit tools. | ||||||||||||||||||||||||||||||||||||||||||
OVAL details Testing user ownership of /sbin/auditctl passed because these items were not found:Object oval:ssg-object_file_ownership_audit_binaries_0:obj:1 of type file_object
Testing user ownership of /sbin/aureport passed because these items were not found:Object oval:ssg-object_file_ownership_audit_binaries_1:obj:1 of type file_object
Testing user ownership of /sbin/ausearch passed because these items were not found:Object oval:ssg-object_file_ownership_audit_binaries_2:obj:1 of type file_object
Testing user ownership of /sbin/autrace passed because these items were not found:Object oval:ssg-object_file_ownership_audit_binaries_3:obj:1 of type file_object
Testing user ownership of /sbin/auditd passed because these items were not found:Object oval:ssg-object_file_ownership_audit_binaries_4:obj:1 of type file_object
Testing user ownership of /sbin/audispd passed because these items were not found:Object oval:ssg-object_file_ownership_audit_binaries_5:obj:1 of type file_object
Testing user ownership of /sbin/augenrules passed because these items were not found:Object oval:ssg-object_file_ownership_audit_binaries_6:obj:1 of type file_object
|
Ensure All Files Are Owned by a User
Rule ID | xccdf_org.ssgproject.content_rule_no_files_unowned_by_user | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Result | pass | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Time | 2025-05-13T15:26:36 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Severity | medium | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Identifiers and References | References: 11, 12, 13, 14, 15, 16, 18, 3, 5, 9, APO01.06, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.04, DSS05.05, DSS05.07, DSS06.02, DSS06.03, DSS06.06, CCI-000366, CCI-002165, 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 5.2, SR 7.6, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.12.1.2, A.12.5.1, A.12.6.2, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.14.2.2, A.14.2.3, A.14.2.4, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.1, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-6(a), AC-6(1), PR.AC-4, PR.AC-6, PR.DS-5, PR.IP-1, PR.PT-3, SRG-OS-000480-GPOS-00227, 6.1.10, R53, 2.2.6 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. Locate the mount points related to local devices by the following command: $ findmnt -n -l -k -it $(awk '/nodev/ { print $2 }' /proc/filesystems | paste -sd,)For all mount points listed by the previous command, it is necessary to search for files which do not belong to a valid user using the following command: $ sudo find MOUNTPOINT -xdev -nouser 2>/dev/null | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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, or other similar cases. 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Warnings | warning
For this rule to evaluate centralized user accounts, getent must be working properly
so that running the command getent passwdreturns a list of all users in your organization. If using the System Security Services Daemon (SSSD), enumerate = truemust be configured in your organization's domain to return a complete list of users warning
This rule can take a long time to perform the check and might consume a considerable
amount of resources depending on the number of files present on the system. It is not a
problem in most cases, but especially systems with a large number of files can be affected.
See https://access.redhat.com/articles/6999111 . | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OVAL details there are no files without a known owner passed because these items were not found:Object oval:ssg-object_no_files_unowned_by_user:obj:1 of type file_object
|
Disable the Automounter
Rule ID | xccdf_org.ssgproject.content_rule_service_autofs_disabled |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | References: 1, 12, 15, 16, 5, APO13.01, DSS01.04, DSS05.03, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.03, DSS06.10, 3.4.6, CCI-000366, CCI-000778, CCI-001958, 164.308(a)(3)(i), 164.308(a)(3)(ii)(A), 164.310(d)(1), 164.310(d)(2), 164.312(a)(1), 164.312(a)(2)(iv), 164.312(b), 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.2, 4.3.3.7.4, SR 1.1, SR 1.10, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.6, A.11.2.6, A.13.1.1, A.13.2.1, A.18.1.4, A.6.2.1, A.6.2.2, A.7.1.1, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.2, A.9.4.3, CM-7(a), CM-7(b), CM-6(a), MP-7, PR.AC-1, PR.AC-3, PR.AC-6, PR.AC-7, SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163, SRG-OS-000480-GPOS-00227, 1.1.9 |
Description | The $ sudo systemctl mask --now 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 | fail | ||||||||||||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||||||||||||
Severity | low | ||||||||||||||||||||||||||||
Identifiers and References | References: 11, 14, 3, 9, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS06.06, 3.4.6, CCI-000381, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.9.1.2, CM-7(a), CM-7(b), CM-6(a), PR.IP-1, PR.PT-3, SRG-OS-000095-GPOS-00049, 1.1.1.1 | ||||||||||||||||||||||||||||
Description |
To configure the system to prevent the install cramfs /bin/trueThis effectively prevents usage of this uncommon filesystem. The cramfs filesystem type is a compressed read-only
Linux filesystem embedded in small footprint systems. A
cramfs image can be used without having to first
decompress the image. | ||||||||||||||||||||||||||||
Rationale | Removing support for unneeded filesystem types reduces the local attack surface of the server. | ||||||||||||||||||||||||||||
OVAL details kernel module cramfs blacklisted failed because these items were missing:Object oval:ssg-obj_kernmod_cramfs_blacklisted:obj:1 of type textfilecontent54_object
kernel module cramfs disabled failed because these items were missing:Object oval:ssg-obj_kernmod_cramfs_disabled:obj:1 of type textfilecontent54_object
| |||||||||||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||||||||||
Remediation Shell script: (show)
|
Disable Modprobe Loading of USB Storage Driver
Rule ID | xccdf_org.ssgproject.content_rule_kernel_module_usb-storage_disabled | ||||||||||||||||||||||||||||
Result | fail | ||||||||||||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||||
Identifiers and References | References: 1, 12, 15, 16, 5, APO13.01, DSS01.04, DSS05.03, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.03, DSS06.10, 3.1.21, CCI-000366, CCI-000778, CCI-001958, 164.308(a)(3)(i), 164.308(a)(3)(ii)(A), 164.310(d)(1), 164.310(d)(2), 164.312(a)(1), 164.312(a)(2)(iv), 164.312(b), 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.2, 4.3.3.7.4, SR 1.1, SR 1.10, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.6, A.11.2.6, A.13.1.1, A.13.2.1, A.18.1.4, A.6.2.1, A.6.2.2, A.7.1.1, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.2, A.9.4.3, CM-7(a), CM-7(b), CM-6(a), MP-7, PR.AC-1, PR.AC-3, PR.AC-6, PR.AC-7, SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163, SRG-OS-000480-GPOS-00227, SRG-APP-000141-CTR-000315, UBTU-22-291010, 1.1.10, 3.4.2 | ||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||
OVAL details kernel module usb-storage blacklisted failed because these items were missing:Object oval:ssg-obj_kernmod_usb-storage_blacklisted:obj:1 of type textfilecontent54_object
kernel module usb-storage disabled failed because these items were missing:Object oval:ssg-obj_kernmod_usb-storage_disabled:obj:1 of type textfilecontent54_object
| |||||||||||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||||||||||
Remediation Shell script: (show)
|
Add nodev Option to /dev/shm
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_dev_shm_nodev | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Result | fail | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Identifiers and References | References: 11, 13, 14, 3, 8, 9, APO13.01, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS05.06, DSS06.06, CCI-001764, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.11.2.9, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.8.2.1, A.8.2.2, A.8.2.3, A.8.3.1, A.8.3.3, A.9.1.2, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-7(a), CM-7(b), CM-6(a), AC-6, AC-6(1), MP-7, PR.IP-1, PR.PT-2, PR.PT-3, SRG-OS-000368-GPOS-00154, 1.1.8.1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | The | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Rationale | The only legitimate location for device files is the | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
OVAL details nodev on /dev/shm failed because of these items:
/dev/shm exists failed because of these items:
nodev on /dev/shm in /etc/fstab failed because these items were missing:Object oval:ssg-object_dev_shm_partition_nodev_expected_in_fstab:obj:1 of type textfilecontent54_object
State oval:ssg-state_dev_shm_partition_nodev_expected_in_fstab:ste:1 of type textfilecontent54_state
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Remediation Shell script: (show)
|
Add noexec Option to /dev/shm
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_dev_shm_noexec | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Result | fail | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Identifiers and References | References: 11, 13, 14, 3, 8, 9, APO13.01, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS05.06, DSS06.06, CCI-001764, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.11.2.9, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.8.2.1, A.8.2.2, A.8.2.3, A.8.3.1, A.8.3.3, A.9.1.2, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-7(a), CM-7(b), CM-6(a), AC-6, AC-6(1), MP-7, PR.IP-1, PR.PT-2, PR.PT-3, SRG-OS-000368-GPOS-00154, 1.1.8.2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | The | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Rationale | Allowing users to execute binaries from world-writable directories
such as | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
OVAL details noexec on /dev/shm failed because of these items:
/dev/shm exists failed because of these items:
noexec on /dev/shm in /etc/fstab failed because these items were missing:Object oval:ssg-object_dev_shm_partition_noexec_expected_in_fstab:obj:1 of type textfilecontent54_object
State oval:ssg-state_dev_shm_partition_noexec_expected_in_fstab:ste:1 of type textfilecontent54_state
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Remediation Shell script: (show)
|
Add nosuid Option to /dev/shm
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_dev_shm_nosuid | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Result | fail | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Identifiers and References | References: 11, 13, 14, 3, 8, 9, APO13.01, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS05.06, DSS06.06, CCI-001764, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.11.2.9, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.8.2.1, A.8.2.2, A.8.2.3, A.8.3.1, A.8.3.3, A.9.1.2, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-7(a), CM-7(b), CM-6(a), AC-6, AC-6(1), MP-7, PR.IP-1, PR.PT-2, PR.PT-3, SRG-OS-000368-GPOS-00154, 1.1.8.3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
OVAL details nosuid on /dev/shm failed because of these items:
/dev/shm exists failed because of these items:
nosuid on /dev/shm in /etc/fstab failed because these items were missing:Object oval:ssg-object_dev_shm_partition_nosuid_expected_in_fstab:obj:1 of type textfilecontent54_object
State oval:ssg-state_dev_shm_partition_nosuid_expected_in_fstab:ste:1 of type textfilecontent54_state
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Remediation Shell script: (show)
|
Add nodev Option to /home
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_home_nodev |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | unknown |
Identifiers and References | References: SRG-OS-000368-GPOS-00154, 1.1.7.2 |
Description | The |
Rationale | The only legitimate location for device files is the |
Add nosuid Option to /home
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_home_nosuid |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | References: 11, 13, 14, 3, 8, 9, APO13.01, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS05.06, DSS06.06, CCI-000366, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.11.2.9, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.8.2.1, A.8.2.2, A.8.2.3, A.8.3.1, A.8.3.3, A.9.1.2, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-7(a), CM-7(b), CM-6(a), AC-6, AC-6(1), MP-7, PR.IP-1, PR.PT-2, PR.PT-3, SRG-OS-000368-GPOS-00154, SRG-OS-000480-GPOS-00227, 1.1.7.3, R28 |
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 user home directory partitions. |
Add nodev Option to /tmp
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_tmp_nodev |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | References: 11, 13, 14, 3, 8, 9, APO13.01, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS05.06, DSS06.06, CCI-001764, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.11.2.9, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.8.2.1, A.8.2.2, A.8.2.3, A.8.3.1, A.8.3.3, A.9.1.2, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-7(a), CM-7(b), CM-6(a), AC-6, AC-6(1), MP-7, PR.IP-1, PR.PT-2, PR.PT-3, SRG-OS-000368-GPOS-00154, 1.1.2.2 |
Description | The |
Rationale | The only legitimate location for device files is the |
Add noexec Option to /tmp
Add nosuid Option to /tmp
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_tmp_nosuid |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | References: 11, 13, 14, 3, 8, 9, APO13.01, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS05.06, DSS06.06, CCI-001764, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.11.2.9, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.8.2.1, A.8.2.2, A.8.2.3, A.8.3.1, A.8.3.3, A.9.1.2, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-7(a), CM-7(b), CM-6(a), AC-6, AC-6(1), MP-7, PR.IP-1, PR.PT-2, PR.PT-3, SRG-OS-000368-GPOS-00154, 1.1.2.4, R28 |
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 /var/log/audit
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_var_log_audit_nodev |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | References: CCI-001764, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-7(a), CM-7(b), CM-6(a), AC-6, AC-6(1), MP-7, PR.IP-1, PR.PT-2, PR.PT-3, SRG-OS-000368-GPOS-00154, 1.1.6.3 |
Description | The |
Rationale | The only legitimate location for device files is the |
Add noexec Option to /var/log/audit
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_var_log_audit_noexec |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | References: CCI-001764, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-7(a), CM-7(b), CM-6(a), AC-6, AC-6(1), MP-7, PR.IP-1, PR.PT-2, PR.PT-3, SRG-OS-000368-GPOS-00154, 1.1.6.2 |
Description | The |
Rationale | Allowing users to execute binaries from directories containing audit log files
such as |
Add nosuid Option to /var/log/audit
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_var_log_audit_nosuid |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | References: CCI-001764, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-7(a), CM-7(b), CM-6(a), AC-6, AC-6(1), MP-7, PR.IP-1, PR.PT-2, PR.PT-3, SRG-OS-000368-GPOS-00154, 1.1.6.4 |
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 partitions designated for audit log files. |
Add nodev Option to /var/log
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_var_log_nodev |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | References: CCI-001764, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-7(a), CM-7(b), CM-6(a), AC-6, AC-6(1), MP-7, PR.IP-1, PR.PT-2, PR.PT-3, SRG-OS-000368-GPOS-00154, 1.1.5.2 |
Description | The |
Rationale | The only legitimate location for device files is the |
Add noexec Option to /var/log
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_var_log_noexec |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | References: CCI-001764, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-7(a), CM-7(b), CM-6(a), AC-6, AC-6(1), MP-7, PR.IP-1, PR.PT-2, PR.PT-3, SRG-OS-000368-GPOS-00154, 1.1.5.3, R28 |
Description | The |
Rationale | Allowing users to execute binaries from directories containing log files
such as |
Add nosuid Option to /var/log
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_var_log_nosuid |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | References: CCI-001764, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-7(a), CM-7(b), CM-6(a), AC-6, AC-6(1), MP-7, PR.IP-1, PR.PT-2, PR.PT-3, SRG-OS-000368-GPOS-00154, 1.1.5.4, R28 |
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 partitions designated for log files. |
Add nodev Option to /var
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_var_nodev |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | References: CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-7(a), CM-7(b), CM-6(a), AC-6, AC-6(1), MP-7, PR.IP-1, PR.PT-2, PR.PT-3, SRG-OS-000368-GPOS-00154, 1.1.3.2 |
Description | The |
Rationale | The only legitimate location for device files is the |
Add nosuid Option to /var
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_var_nosuid |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | |
Description | The |
Rationale | The presence of SUID and SGID executables should be tightly controlled. |
Add nodev Option to /var/tmp
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_var_tmp_nodev |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | References: CCI-001764, SRG-OS-000368-GPOS-00154, 1.1.4.4 |
Description | The |
Rationale | The only legitimate location for device files is the |
Add noexec Option to /var/tmp
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_var_tmp_noexec |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | References: CCI-001764, SRG-OS-000368-GPOS-00154, 1.1.4.2, R28 |
Description | The |
Rationale | Allowing users to execute binaries from world-writable directories
such as |
Add nosuid Option to /var/tmp
Rule ID | xccdf_org.ssgproject.content_rule_mount_option_var_tmp_nosuid |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | References: CCI-001764, SRG-OS-000368-GPOS-00154, 1.1.4.3, R28 |
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. |
Disable Core Dumps for All Users
Rule ID | xccdf_org.ssgproject.content_rule_disable_users_coredumps | ||||||||||||||||||||||||||
Result | fail | ||||||||||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||
Identifiers and References | References: 1, 12, 13, 15, 16, 2, 7, 8, APO13.01, BAI04.04, DSS01.03, DSS03.05, DSS05.07, CCI-000366, SR 6.2, SR 7.1, SR 7.2, A.12.1.3, A.17.2.1, CM-6, SC-7(10), DE.CM-1, PR.DS-4, SRG-OS-000480-GPOS-00227, 1.5.4, 3.3.1.1 | ||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||
OVAL details Tests the value of the ^[\s]*\*[\s]+(hard|-)[\s]+core[\s]+([\d]+) setting in the /etc/security/limits.d directory failed because these items were missing:Object oval:ssg-object_core_dumps_limits_d:obj:1 of type textfilecontent54_object
State oval:ssg-state_core_dumps_limits_d:ste:1 of type textfilecontent54_state
Tests for existance of the ^[\s]*\*[\s]+(hard|-)[\s]+core setting in the /etc/security/limits.d directory failed because these items were missing:Object oval:ssg-object_core_dumps_limits_d_exists:obj:1 of type textfilecontent54_object
Tests the value of the ^[\s]*\*[\s]+(hard|-)[\s]+core[\s]+([\d]+) setting in the /etc/security/limits.conf file failed because these items were missing:Object oval:ssg-object_core_dumps_limitsconf:obj:1 of type textfilecontent54_object
State oval:ssg-state_core_dumps_limitsconf:ste:1 of type textfilecontent54_state
| |||||||||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||||||||
Remediation Shell script: (show)
|
Disable Core Dumps for SUID programs
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_fs_suid_dumpable | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:26:36 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 164.308(a)(1)(ii)(D), 164.308(a)(3), 164.308(a)(4), 164.310(b), 164.310(c), 164.312(a), 164.312(e), SI-11(a), SI-11(b), 1.5.4, R14, 3.3.1.1 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w fs.suid_dumpable=0To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : 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. | ||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Enable Randomized Layout of Virtual Address Space
Rule ID | xccdf_org.ssgproject.content_rule_sysctl_kernel_randomize_va_space | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:26:36 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 3.1.7, CCI-000366, CCI-002824, 164.308(a)(1)(ii)(D), 164.308(a)(3), 164.308(a)(4), 164.310(b), 164.310(c), 164.312(a), 164.312(e), CIP-002-5 R1.1, CIP-002-5 R1.2, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 4.1, CIP-004-6 4.2, CIP-004-6 R2.2.3, CIP-004-6 R2.2.4, CIP-004-6 R2.3, CIP-004-6 R4, CIP-005-6 R1, CIP-005-6 R1.1, CIP-005-6 R1.2, CIP-007-3 R3, CIP-007-3 R3.1, CIP-007-3 R5.1, CIP-007-3 R5.1.2, CIP-007-3 R5.1.3, CIP-007-3 R5.2.1, CIP-007-3 R5.2.3, CIP-007-3 R8.4, CIP-009-6 R.1.1, CIP-009-6 R4, SC-30, SC-30(2), CM-6(a), Req-2.2.1, SRG-OS-000433-GPOS-00193, SRG-OS-000480-GPOS-00227, SRG-APP-000450-CTR-001105, UBTU-22-213020, 1.5.1, R9, 3.3.1.1 | ||||||||
Description | To set the runtime status of the $ sudo sysctl -w kernel.randomize_va_space=2To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d : 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 Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Disable Apport Service
Rule ID | xccdf_org.ssgproject.content_rule_service_apport_disabled | ||||||||||||||||||||||||
Result | fail | ||||||||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||||||||
Severity | unknown | ||||||||||||||||||||||||
Identifiers and References | References: 1.5.3 | ||||||||||||||||||||||||
Description | The Apport modifies certain kernel configuration values at
runtime which may decrease the overall security of the system and expose sensitive data.
The $ sudo systemctl mask --now apport.service | ||||||||||||||||||||||||
Rationale | The Apport service modifies the kernel
| ||||||||||||||||||||||||
OVAL details package apport is removed failed because of these items:
Test that the apport service is not running failed because of these items:
Test that the property LoadState from the service apport is masked failed because of these items:
| |||||||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||||||
Remediation Puppet snippet: (show)
| |||||||||||||||||||||||||
Remediation Shell script: (show)
| |||||||||||||||||||||||||
Remediation script: (show)
| |||||||||||||||||||||||||
Uninstall avahi Server Package
Rule ID | xccdf_org.ssgproject.content_rule_package_avahi_removed | ||||||||||||
Result | fail | ||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||
Severity | medium | ||||||||||||
Identifiers and References | References: 11, 14, 3, 9, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS06.06, CCI-000366, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.9.1.2, CM-7(a), CM-7(b), CM-6(a), PR.IP-1, PR.PT-3, 2.2.2 | ||||||||||||
Description | If the system does not need to have an Avahi server which implements the DNS Service Discovery and Multicast DNS protocols, the avahi-autoipd and avahi packages can be uninstalled. | ||||||||||||
Rationale | Automatic discovery of network services is not normally required for system functionality. It is recommended to remove this package to reduce the potential attack surface. | ||||||||||||
OVAL details package avahi-daemon is removed failed because of these items:
| |||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||
Remediation Puppet snippet: (show)
| |||||||||||||
Remediation Shell script: (show)
|
Disable Avahi Server Software
Rule ID | xccdf_org.ssgproject.content_rule_service_avahi-daemon_disabled | ||||||||||||||||||||||||||||||
Result | fail | ||||||||||||||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||||||
Identifiers and References | References: 11, 14, 3, 9, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS06.06, CCI-000366, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.9.1.2, CM-7(a), CM-7(b), CM-6(a), PR.IP-1, PR.PT-3, 2.2.2, 2.2.4 | ||||||||||||||||||||||||||||||
Description |
The $ sudo systemctl mask --now 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. | ||||||||||||||||||||||||||||||
OVAL details package avahi-daemon is removed failed because of these items:
Test that the avahi-daemon service is not running failed because of these items:
Test that the property LoadState from the service avahi-daemon is masked failed because of these items:
| |||||||||||||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||||||||||||
Remediation Puppet snippet: (show)
| |||||||||||||||||||||||||||||||
Remediation Shell script: (show)
| |||||||||||||||||||||||||||||||
Remediation script: (show)
| |||||||||||||||||||||||||||||||
Ensure that /etc/at.deny does not exist
Rule ID | xccdf_org.ssgproject.content_rule_file_at_deny_not_exist | ||
Result | pass | ||
Time | 2025-05-13T15:26:36 | ||
Severity | medium | ||
Identifiers and References | |||
Description | The file | ||
Rationale | Access to | ||
OVAL details Test that that /etc/at.deny does not exist passed because these items were not found:Object oval:ssg-object_file_at_deny_not_exist:obj:1 of type file_object
|
Ensure that /etc/cron.deny does not exist
Rule ID | xccdf_org.ssgproject.content_rule_file_cron_deny_not_exist | ||
Result | pass | ||
Time | 2025-05-13T15:26:36 | ||
Severity | medium | ||
Identifiers and References | |||
Description | The file | ||
Rationale | Access to | ||
OVAL details Test that that /etc/cron.deny does not exist passed because these items were not found:Object oval:ssg-object_file_cron_deny_not_exist:obj:1 of type file_object
|
Verify Group Who Owns /etc/at.allow file
Rule ID | xccdf_org.ssgproject.content_rule_file_groupowner_at_allow | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | |||||||
Description | If $ sudo chgrp root /etc/at.allow | ||||||
Rationale | If the owner of the at.allow file is not set to root, the possibility exists for an unauthorized user to view or edit sensitive information. | ||||||
OVAL details Testing group ownership of /etc/at.allow passed because these items were not found:Object oval:ssg-object_file_groupowner_at_allow_0:obj:1 of type file_object
|
Verify Group Who Owns /etc/cron.allow file
Rule ID | xccdf_org.ssgproject.content_rule_file_groupowner_cron_allow | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, APO01.06, DSS05.04, DSS05.07, DSS06.02, CCI-000366, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, SRG-OS-000480-GPOS-00227, 5.1.8, 2.2.6 | ||||||
Description | If $ sudo chgrp crontab /etc/cron.allow | ||||||
Rationale | If the owner of the cron.allow file is not set to crontab, the possibility exists for an unauthorized user to view or edit sensitive information. | ||||||
OVAL details Testing group ownership of /etc/cron.allow passed because these items were not found:Object oval:ssg-object_file_groupowner_cron_allow_0:obj:1 of type file_object
|
Verify User Who Owns /etc/at.allow file
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_at_allow | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | |||||||
Description | If $ sudo chown root /etc/at.allow | ||||||
Rationale | If the owner of the at.allow file is not set to root, the possibility exists for an unauthorized user to view or edit sensitive information. | ||||||
OVAL details Testing user ownership of /etc/at.allow passed because these items were not found:Object oval:ssg-object_file_owner_at_allow_0:obj:1 of type file_object
|
Verify User Who Owns /etc/cron.allow file
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_cron_allow | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, APO01.06, DSS05.04, DSS05.07, DSS06.02, CCI-000366, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, SRG-OS-000480-GPOS-00227, 5.1.8, 2.2.6 | ||||||
Description | If $ sudo chown root /etc/cron.allow | ||||||
Rationale | If the owner of the cron.allow file is not set to root, the possibility exists for an unauthorized user to view or edit sensitive information. | ||||||
OVAL details Testing user ownership of /etc/cron.allow passed because these items were not found:Object oval:ssg-object_file_owner_cron_allow_0:obj:1 of type file_object
|
Enable cron Service
Rule ID | xccdf_org.ssgproject.content_rule_service_cron_enabled | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Result | pass | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Identifiers and References | References: 11, 14, 3, 9, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS06.06, 164.308(a)(4)(i), 164.308(b)(1), 164.308(b)(3), 164.310(b), 164.312(e)(1), 164.312(e)(2)(ii), 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.9.1.2, CM-6(a), PR.IP-1, PR.PT-3, 5.1.1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | The $ sudo systemctl enable cron.service | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Rationale | Due to its usage for maintenance and security-supporting tasks, enabling the cron daemon is essential. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OVAL details package cron is installed passed because of these items:
Test that the cron service is running passed because of these items:
systemd test passed because of these items:
systemd test passed because of these items:
|
Verify Group Who Owns cron.d
Rule ID | xccdf_org.ssgproject.content_rule_file_groupowner_cron_d | ||||||||
Result | pass | ||||||||
Time | 2025-05-13T15:26:36 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, APO01.06, DSS05.04, DSS05.07, DSS06.02, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, SRG-OS-000480-GPOS-00227, 5.1.7, 2.2.6 | ||||||||
Description |
To properly set the group owner of $ sudo chgrp root /etc/cron.d | ||||||||
Rationale | Service configuration files enable or disable features of their respective services that if configured incorrectly can lead to insecure and vulnerable configurations. Therefore, service configuration files should be owned by the correct group to prevent unauthorized changes. | ||||||||
OVAL details Testing group ownership of /etc/cron.d/ passed because these items were not found:Object oval:ssg-object_file_groupowner_cron_d_0:obj:1 of type file_object
|
Verify Group Who Owns cron.daily
Rule ID | xccdf_org.ssgproject.content_rule_file_groupowner_cron_daily | ||||||||
Result | pass | ||||||||
Time | 2025-05-13T15:26:36 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, APO01.06, DSS05.04, DSS05.07, DSS06.02, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, SRG-OS-000480-GPOS-00227, 5.1.4, 2.2.6 | ||||||||
Description |
To properly set the group owner of $ sudo chgrp root /etc/cron.daily | ||||||||
Rationale | Service configuration files enable or disable features of their respective services that if configured incorrectly can lead to insecure and vulnerable configurations. Therefore, service configuration files should be owned by the correct group to prevent unauthorized changes. | ||||||||
OVAL details Testing group ownership of /etc/cron.daily/ passed because these items were not found:Object oval:ssg-object_file_groupowner_cron_daily_0:obj:1 of type file_object
|
Verify Group Who Owns cron.hourly
Rule ID | xccdf_org.ssgproject.content_rule_file_groupowner_cron_hourly | ||||||||
Result | pass | ||||||||
Time | 2025-05-13T15:26:36 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, APO01.06, DSS05.04, DSS05.07, DSS06.02, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, SRG-OS-000480-GPOS-00227, 5.1.3, 2.2.6 | ||||||||
Description |
To properly set the group owner of $ sudo chgrp root /etc/cron.hourly | ||||||||
Rationale | Service configuration files enable or disable features of their respective services that if configured incorrectly can lead to insecure and vulnerable configurations. Therefore, service configuration files should be owned by the correct group to prevent unauthorized changes. | ||||||||
OVAL details Testing group ownership of /etc/cron.hourly/ passed because these items were not found:Object oval:ssg-object_file_groupowner_cron_hourly_0:obj:1 of type file_object
|
Verify Group Who Owns cron.monthly
Rule ID | xccdf_org.ssgproject.content_rule_file_groupowner_cron_monthly | ||||||||
Result | pass | ||||||||
Time | 2025-05-13T15:26:36 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, APO01.06, DSS05.04, DSS05.07, DSS06.02, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, SRG-OS-000480-GPOS-00227, 5.1.6, 2.2.6 | ||||||||
Description |
To properly set the group owner of $ sudo chgrp root /etc/cron.monthly | ||||||||
Rationale | Service configuration files enable or disable features of their respective services that if configured incorrectly can lead to insecure and vulnerable configurations. Therefore, service configuration files should be owned by the correct group to prevent unauthorized changes. | ||||||||
OVAL details Testing group ownership of /etc/cron.monthly/ passed because these items were not found:Object oval:ssg-object_file_groupowner_cron_monthly_0:obj:1 of type file_object
|
Verify Group Who Owns cron.weekly
Rule ID | xccdf_org.ssgproject.content_rule_file_groupowner_cron_weekly | ||||||||
Result | pass | ||||||||
Time | 2025-05-13T15:26:36 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, APO01.06, DSS05.04, DSS05.07, DSS06.02, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, SRG-OS-000480-GPOS-00227, 5.1.5, 2.2.6 | ||||||||
Description |
To properly set the group owner of $ sudo chgrp root /etc/cron.weekly | ||||||||
Rationale | Service configuration files enable or disable features of their respective services that if configured incorrectly can lead to insecure and vulnerable configurations. Therefore, service configuration files should be owned by the correct group to prevent unauthorized changes. | ||||||||
OVAL details Testing group ownership of /etc/cron.weekly/ passed because these items were not found:Object oval:ssg-object_file_groupowner_cron_weekly_0:obj:1 of type file_object
|
Verify Group Who Owns Crontab
Rule ID | xccdf_org.ssgproject.content_rule_file_groupowner_crontab | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, APO01.06, DSS05.04, DSS05.07, DSS06.02, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, SRG-OS-000480-GPOS-00227, 5.1.2, 2.2.6 | ||||||
Description |
To properly set the group owner of $ sudo chgrp root /etc/crontab | ||||||
Rationale | Service configuration files enable or disable features of their respective services that if configured incorrectly can lead to insecure and vulnerable configurations. Therefore, service configuration files should be owned by the correct group to prevent unauthorized changes. | ||||||
OVAL details Testing group ownership of /etc/crontab passed because these items were not found:Object oval:ssg-object_file_groupowner_crontab_0:obj:1 of type file_object
|
Verify Owner on cron.d
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_cron_d | ||||||||
Result | pass | ||||||||
Time | 2025-05-13T15:26:36 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, APO01.06, DSS05.04, DSS05.07, DSS06.02, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, SRG-OS-000480-GPOS-00227, 5.1.7, 2.2.6 | ||||||||
Description |
To properly set the owner of $ sudo chown root /etc/cron.d | ||||||||
Rationale | Service configuration files enable or disable features of their respective services that if configured incorrectly can lead to insecure and vulnerable configurations. Therefore, service configuration files should be owned by the correct user to prevent unauthorized changes. | ||||||||
OVAL details Testing user ownership of /etc/cron.d/ passed because these items were not found:Object oval:ssg-object_file_owner_cron_d_0:obj:1 of type file_object
|
Verify Owner on cron.daily
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_cron_daily | ||||||||
Result | pass | ||||||||
Time | 2025-05-13T15:26:36 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, APO01.06, DSS05.04, DSS05.07, DSS06.02, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, SRG-OS-000480-GPOS-00227, 5.1.4, 2.2.6 | ||||||||
Description |
To properly set the owner of $ sudo chown root /etc/cron.daily | ||||||||
Rationale | Service configuration files enable or disable features of their respective services that if configured incorrectly can lead to insecure and vulnerable configurations. Therefore, service configuration files should be owned by the correct user to prevent unauthorized changes. | ||||||||
OVAL details Testing user ownership of /etc/cron.daily/ passed because these items were not found:Object oval:ssg-object_file_owner_cron_daily_0:obj:1 of type file_object
|
Verify Owner on cron.hourly
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_cron_hourly | ||||||||
Result | pass | ||||||||
Time | 2025-05-13T15:26:36 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, APO01.06, DSS05.04, DSS05.07, DSS06.02, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, SRG-OS-000480-GPOS-00227, 5.1.3, 2.2.6 | ||||||||
Description |
To properly set the owner of $ sudo chown root /etc/cron.hourly | ||||||||
Rationale | Service configuration files enable or disable features of their respective services that if configured incorrectly can lead to insecure and vulnerable configurations. Therefore, service configuration files should be owned by the correct user to prevent unauthorized changes. | ||||||||
OVAL details Testing user ownership of /etc/cron.hourly/ passed because these items were not found:Object oval:ssg-object_file_owner_cron_hourly_0:obj:1 of type file_object
|
Verify Owner on cron.monthly
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_cron_monthly | ||||||||
Result | pass | ||||||||
Time | 2025-05-13T15:26:36 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, APO01.06, DSS05.04, DSS05.07, DSS06.02, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, SRG-OS-000480-GPOS-00227, 5.1.6, 2.2.6 | ||||||||
Description |
To properly set the owner of $ sudo chown root /etc/cron.monthly | ||||||||
Rationale | Service configuration files enable or disable features of their respective services that if configured incorrectly can lead to insecure and vulnerable configurations. Therefore, service configuration files should be owned by the correct user to prevent unauthorized changes. | ||||||||
OVAL details Testing user ownership of /etc/cron.monthly/ passed because these items were not found:Object oval:ssg-object_file_owner_cron_monthly_0:obj:1 of type file_object
|
Verify Owner on cron.weekly
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_cron_weekly | ||||||||
Result | pass | ||||||||
Time | 2025-05-13T15:26:36 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, APO01.06, DSS05.04, DSS05.07, DSS06.02, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, SRG-OS-000480-GPOS-00227, 5.1.5, 2.2.6 | ||||||||
Description |
To properly set the owner of $ sudo chown root /etc/cron.weekly | ||||||||
Rationale | Service configuration files enable or disable features of their respective services that if configured incorrectly can lead to insecure and vulnerable configurations. Therefore, service configuration files should be owned by the correct user to prevent unauthorized changes. | ||||||||
OVAL details Testing user ownership of /etc/cron.weekly/ passed because these items were not found:Object oval:ssg-object_file_owner_cron_weekly_0:obj:1 of type file_object
|
Verify Owner on crontab
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_crontab | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, APO01.06, DSS05.04, DSS05.07, DSS06.02, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, SRG-OS-000480-GPOS-00227, 5.1.2, 2.2.6 | ||||||
Description |
To properly set the owner of $ sudo chown root /etc/crontab | ||||||
Rationale | Service configuration files enable or disable features of their respective services that if configured incorrectly can lead to insecure and vulnerable configurations. Therefore, service configuration files should be owned by the correct user to prevent unauthorized changes. | ||||||
OVAL details Testing user ownership of /etc/crontab passed because these items were not found:Object oval:ssg-object_file_owner_crontab_0:obj:1 of type file_object
|
Uninstall the nis package
Rule ID | xccdf_org.ssgproject.content_rule_package_nis_removed | ||
Result | pass | ||
Time | 2025-05-13T15:26:36 | ||
Severity | low | ||
Identifiers and References | References: 2.2.14 | ||
Description | The support for Yellowpages should not be installed unless it is required. | ||
Rationale | NIS is the historical SUN service for central account management, more and more replaced by LDAP. NIS does not support efficiently security constraints, ACL, etc. and should not be used. | ||
OVAL details package nis is removed passed because these items were not found:Object oval:ssg-obj_test_package_nis_removed:obj:1 of type dpkginfo_object
|
Uninstall DHCP Server Package
Rule ID | xccdf_org.ssgproject.content_rule_package_dhcp_removed | ||
Result | pass | ||
Time | 2025-05-13T15:26:36 | ||
Severity | medium | ||
Identifiers and References | References: 11, 14, 3, 9, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS06.06, CCI-000366, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.9.1.2, CM-7(a), CM-7(b), CM-6(a), PR.IP-1, PR.PT-3, 2.2.4, R62, 2.2.4 | ||
Description | If the system does not need to act as a DHCP server,
the dhcp package can be uninstalled.
The $ apt-get remove isc-dhcp-server | ||
Rationale | Removing the DHCP server ensures that it cannot be easily or accidentally reactivated and disrupt network operation. | ||
OVAL details package isc-dhcp-server is removed passed because these items were not found:Object oval:ssg-obj_test_package_isc-dhcp-server_removed:obj:1 of type dpkginfo_object
|
Uninstall bind Package
Rule ID | xccdf_org.ssgproject.content_rule_package_bind_removed | ||
Result | pass | ||
Time | 2025-05-13T15:26:36 | ||
Severity | low | ||
Identifiers and References | References: 11, 14, 3, 9, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS06.06, CCI-000366, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.9.1.2, CM-7(a), CM-7(b), CM-6(a), PR.IP-1, PR.PT-3, 2.2.7 | ||
Description | The $ apt-get remove bind | ||
Rationale | If there is no need to make DNS server software available, removing it provides a safeguard against its activation. | ||
OVAL details package bind9 is removed passed because these items were not found:Object oval:ssg-obj_test_package_bind9_removed:obj:1 of type dpkginfo_object
|
Uninstall vsftpd Package
Rule ID | xccdf_org.ssgproject.content_rule_package_vsftpd_removed | ||
Result | pass | ||
Time | 2025-05-13T15:26:36 | ||
Severity | high | ||
Identifiers and References | References: 11, 14, 3, 9, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS06.06, CCI-000197, CCI-000366, CCI-000381, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.9.1.2, CM-7(a), CM-7(b), CM-6(a), IA-5(1)(c), IA-5(1).1(v), CM-7, CM-7.1(ii), PR.IP-1, PR.PT-3, SRG-OS-000074-GPOS-00042, SRG-OS-000095-GPOS-00049, SRG-OS-000480-GPOS-00227, 2.2.8 | ||
Description | The $ apt-get remove vsftpd | ||
Rationale | Removing the | ||
OVAL details package vsftpd is removed passed because these items were not found:Object oval:ssg-obj_test_package_vsftpd_removed:obj:1 of type dpkginfo_object
|
Uninstall httpd Package
Rule ID | xccdf_org.ssgproject.content_rule_package_httpd_removed | ||||||||||||
Result | fail | ||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||
Severity | unknown | ||||||||||||
Identifiers and References | References: 11, 14, 3, 9, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS06.06, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.9.1.2, CM-7(a), CM-7(b), CM-6(a), PR.IP-1, PR.PT-3, 2.2.9 | ||||||||||||
Description |
The $ apt-get remove apache2 | ||||||||||||
Rationale | If there is no need to make the web server software available, removing it provides a safeguard against its activation. | ||||||||||||
OVAL details package apache2 is removed failed because of these items:
| |||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||
Remediation Puppet snippet: (show)
| |||||||||||||
Remediation Shell script: (show)
|
Uninstall nginx Package
Rule ID | xccdf_org.ssgproject.content_rule_package_nginx_removed | ||
Result | pass | ||
Time | 2025-05-13T15:26:36 | ||
Severity | unknown | ||
Identifiers and References | References: BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS06.06, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.9.1.2, CM-7(a), CM-7(b), CM-6(a), PR.IP-1, PR.PT-3, 2.2.9 | ||
Description | The $ apt-get remove nginx | ||
Rationale | If there is no need to make the web server software available, removing it provides a safeguard against its activation. | ||
OVAL details package nginx is removed passed because these items were not found:Object oval:ssg-obj_test_package_nginx_removed:obj:1 of type dpkginfo_object
|
Uninstall cyrus-imapd Package
Rule ID | xccdf_org.ssgproject.content_rule_package_cyrus-imapd_removed | ||
Result | pass | ||
Time | 2025-05-13T15:26:36 | ||
Severity | unknown | ||
Identifiers and References | References: 2.2.10 | ||
Description | The $ apt-get remove cyrus-imapd | ||
Rationale | If there is no need to make the cyrus-imapd software available, removing it provides a safeguard against its activation. | ||
OVAL details package cyrus-imapd is removed passed because these items were not found:Object oval:ssg-obj_test_package_cyrus-imapd_removed:obj:1 of type dpkginfo_object
|
Uninstall dovecot Package
Rule ID | xccdf_org.ssgproject.content_rule_package_dovecot_removed | ||
Result | pass | ||
Time | 2025-05-13T15:26:36 | ||
Severity | unknown | ||
Identifiers and References | References: 2.2.10 | ||
Description |
The $ apt-get remove dovecot-core | ||
Rationale | If there is no need to make the Dovecot software available, removing it provides a safeguard against its activation. | ||
OVAL details package dovecot-core is removed passed because these items were not found:Object oval:ssg-obj_test_package_dovecot-core_removed:obj:1 of type dpkginfo_object
|
Ensure LDAP client is not installed
Rule ID | xccdf_org.ssgproject.content_rule_package_openldap-clients_removed | ||||||||||||
Result | fail | ||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||
Severity | low | ||||||||||||
Identifiers and References | References: 2.3.5 | ||||||||||||
Description | The Lightweight Directory Access Protocol (LDAP) is a service that provides
a method for looking up information from a central database.
The $ apt-get remove lapd-utils | ||||||||||||
Rationale | If the system does not need to act as an LDAP client, it is recommended that the software is removed to reduce the potential attack surface. | ||||||||||||
OVAL details package ldap-utils is removed failed because of these items:
| |||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||
Remediation Puppet snippet: (show)
| |||||||||||||
Remediation Shell script: (show)
|
Uninstall openldap-servers Package
Rule ID | xccdf_org.ssgproject.content_rule_package_openldap-servers_removed | ||
Result | pass | ||
Time | 2025-05-13T15:26:36 | ||
Severity | low | ||
Identifiers and References | References: 11, 14, 3, 9, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS06.06, CCI-000366, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.9.1.2, CM-7(a), CM-7(b), CM-6(a), PR.IP-1, PR.PT-3, 2.2.5 | ||
Description | The slapd package is not installed by default on a Ubuntu 22.04 system. 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. | ||
OVAL details package slapd is removed passed because these items were not found:Object oval:ssg-obj_test_package_slapd_removed:obj:1 of type dpkginfo_object
|
Disable Postfix Network Listening
Rule ID | xccdf_org.ssgproject.content_rule_postfix_network_listening_disabled |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | References: 11, 14, 3, 9, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS06.06, CCI-000382, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.9.1.2, CM-7(a), CM-7(b), CM-6(a), PR.IP-1, PR.PT-3, 2.2.15, R74, 1.4.2 |
Description | Edit the file inet_interfaces = loopback-only |
Rationale | This ensures |
Ensure Mail Transfer Agent is not Listening on any non-loopback Address
Rule ID | xccdf_org.ssgproject.content_rule_has_nonlocal_mta | ||||||||||
Result | pass | ||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||
Severity | medium | ||||||||||
Identifiers and References | References: 2.2.15 | ||||||||||
Description | Mail Transfer Agents (MTA), such as sendmail and Postfix, are used to listen for incoming mail and transfer the messages to the appropriate user or mail server. If the system is not intended to be a mail server, it is recommended that the MTA be configured to only process local mail. | ||||||||||
Rationale | The software for all Mail Transfer Agents is complex and most have a long history of security issues. While it is important to ensure that the system can process local mail messages, it is not necessary to have the MTA's daemon listening on a port unless the server is intended to be a mail server that receives and processes mail from other systems. | ||||||||||
OVAL details mta is not listening on any non-loopback address passed because these items were not found:Object oval:ssg-obj_listening_port_25:obj:1 of type inetlisteningservers_object
|
Uninstall rpcbind Package
Rule ID | xccdf_org.ssgproject.content_rule_package_rpcbind_removed | ||
Result | pass | ||
Time | 2025-05-13T15:26:36 | ||
Severity | low | ||
Identifiers and References | References: 2.3.6 | ||
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 $ apt-get remove rpcbind | ||
Rationale | If the system does not require rpc based services, it is recommended that rpcbind be disabled to reduce the attack surface. | ||
OVAL details package rpcbind is removed passed because these items were not found:Object oval:ssg-obj_test_package_rpcbind_removed:obj:1 of type dpkginfo_object
|
Uninstall nfs-kernel-server Package
Rule ID | xccdf_org.ssgproject.content_rule_package_nfs-kernel-server_removed | ||
Result | pass | ||
Time | 2025-05-13T15:26:36 | ||
Severity | low | ||
Identifiers and References | References: 2.2.6 | ||
Description | The $ apt-get remove nfs-kernel-server | ||
Rationale | If the system does not export NFS shares or act as an NFS client, it is recommended that these services be removed to reduce the remote attack surface. | ||
OVAL details package nfs-kernel-server is removed passed because these items were not found:Object oval:ssg-obj_test_package_nfs-kernel-server_removed:obj:1 of type dpkginfo_object
|
Install the systemd_timesyncd Service
Rule ID | xccdf_org.ssgproject.content_rule_package_timesyncd_installed | ||||||||||||
Result | pass | ||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||
Severity | high | ||||||||||||
Identifiers and References | References: 1, 14, 15, 16, 3, 5, 6, APO11.04, BAI03.05, DSS05.04, DSS05.07, MEA02.01, CCI-000160, 4.3.3.3.9, 4.3.3.5.8, 4.3.4.4.7, 4.4.2.1, 4.4.2.2, 4.4.2.4, SR 2.10, SR 2.11, SR 2.12, SR 2.8, SR 2.9, A.12.4.1, A.12.4.2, A.12.4.3, A.12.4.4, A.12.7.1, CM-6(a), PR.PT-1, Req-10.4, 2.1.1.1 | ||||||||||||
Description | The systemd_timesyncd service should be installed. | ||||||||||||
Rationale | Time synchronization (using NTP) is required by almost all network and administrative tasks (syslog, cryptographic based services (authentication, etc.), etc.). systemd_timesyncd is a part of the systemd suite and acts as a NTP client. | ||||||||||||
OVAL details package systemd-timesyncd is installed passed because of these items:
|
The Chronyd service is enabled
Rule ID | xccdf_org.ssgproject.content_rule_service_chronyd_enabled |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | References: 0988, 1405, SRG-OS-000355-GPOS-00143, 2.1.2.3 |
Description | chrony is a daemon which implements the Network Time Protocol (NTP) is designed to
synchronize system clocks across a variety of systems and use a source that is highly
accurate. More information on chrony can be found at
https://chrony-project.org/.
Chrony can be configured to be a client and/or a server.
To enable Chronyd service, you can run:
|
Rationale | If chrony is in use on the system proper configuration is vital to ensuring time synchronization is working properly. |
Enable the NTP Daemon
Rule ID | xccdf_org.ssgproject.content_rule_service_ntp_enabled |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | high |
Identifiers and References | References: 1, 14, 15, 16, 3, 5, 6, APO11.04, BAI03.05, DSS05.04, DSS05.07, MEA02.01, CCI-000160, 4.3.3.3.9, 4.3.3.5.8, 4.3.4.4.7, 4.4.2.1, 4.4.2.2, 4.4.2.4, SR 2.10, SR 2.11, SR 2.12, SR 2.8, SR 2.9, A.12.4.1, A.12.4.2, A.12.4.3, A.12.4.4, A.12.7.1, CM-6(a), AU-8(1)(a), PR.PT-1, Req-10.4, 2.1.4.4, 10.6.1 |
Description |
The $ sudo systemctl enable ntp.service |
Rationale | Enabling the |
Enable systemd_timesyncd Service
Rule ID | xccdf_org.ssgproject.content_rule_service_timesyncd_enabled | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Result | pass | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Severity | high | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Identifiers and References | References: 1, 14, 15, 16, 3, 5, 6, APO11.04, BAI03.05, DSS05.04, DSS05.07, MEA02.01, CCI-000160, 4.3.3.3.9, 4.3.3.5.8, 4.3.4.4.7, 4.4.2.1, 4.4.2.2, 4.4.2.4, SR 2.10, SR 2.11, SR 2.12, SR 2.8, SR 2.9, A.12.4.1, A.12.4.2, A.12.4.3, A.12.4.4, A.12.7.1, CM-6(a), AU-8(1)(a), PR.PT-1, Req-10.4, 2.1.3.2, 10.6.1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description |
The $ sudo systemctl enable systemd_timesyncd.service | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Rationale | Enabling the | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OVAL details package systemd is installed passed because of these items:
Test that the systemd-timesyncd service is running passed because of these items:
systemd test passed because of these items:
systemd test passed because of these items:
|
Ensure that chronyd is running under chrony user account
Rule ID | xccdf_org.ssgproject.content_rule_chronyd_run_as_chrony_user |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | |
Description | chrony is a daemon which implements the Network Time Protocol (NTP). It is designed to
synchronize system clocks across a variety of systems and use a source that is highly
accurate. More information on chrony can be found at
https://chrony-project.org/.
Chrony can be configured to be a client and/or a server.
To ensure that chronyd is running under chrony user account,
user _chronyThis recommendation only applies if chrony is in use on the system. |
Rationale | If chrony is in use on the system proper configuration is vital to ensuring time synchronization is working properly. |
Configure server restrictions for ntpd
Rule ID | xccdf_org.ssgproject.content_rule_ntpd_configure_restrictions |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | References: 2.1.4.1 |
Description | ntpd is a daemon which implements the Network Time Protocol (NTP). It is designed to
synchronize system clocks across a variety of systems and use a source that is highly
accurate. More information on NTP can be found at
http://www.ntp.org.
ntp can be configured to be a client and/or a server.
To ensure that ntpd implements correct server restrictions, make sure that the following lines exist in the file restrict -4 default kod nomodify notrap nopeer noquery restrict -6 default kod nomodify notrap nopeer noqueryThis recommendation only applies if ntp is in use on the system. |
Rationale | If ntp is in use on the system proper configuration is vital to ensuring time synchronization is working properly. |
Configure ntpd To Run As ntp User
Rule ID | xccdf_org.ssgproject.content_rule_ntpd_run_as_ntp_user |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | References: 2.1.4.3 |
Description | ntp is a daemon which implements the Network Time Protocol (NTP). It is designed to
synchronize system clocks across a variety of systems and use a source that is highly
accurate. More information on NTP can be found at
http://www.ntp.org.
ntp can be configured to be a client and/or a server.
To ensure that ntpd is running as ntp user, Add or edit the
OPTIONS="-u ntp:ntp"This recommendation only applies if ntp is in use on the system. |
Rationale | If ntp is in use on the system proper configuration is vital to ensuring time synchronization is working properly. Running ntpd under dedicated user accounts limits the attack surface for potential attacker exploiting security flaws in the daemon or the protocol. |
Uninstall rsh Package
Rule ID | xccdf_org.ssgproject.content_rule_package_rsh_removed | ||
Result | pass | ||
Time | 2025-05-13T15:26:36 | ||
Severity | unknown | ||
Identifiers and References | References: 3.1.13, 164.308(a)(4)(i), 164.308(b)(1), 164.308(b)(3), 164.310(b), 164.312(e)(1), 164.312(e)(2)(ii), A.8.2.3, A.13.1.1, A.13.2.1, A.13.2.3, A.14.1.2, A.14.1.3, 2.3.2, R62, 2.2.4 | ||
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 | ||
OVAL details package rsh-client is removed passed because these items were not found:Object oval:ssg-obj_test_package_rsh-client_removed:obj:1 of type dpkginfo_object
|
Remove Rsh Trust Files
Rule ID | xccdf_org.ssgproject.content_rule_no_rsh_trust_files |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | high |
Identifiers and References | References: 11, 12, 14, 15, 3, 8, 9, APO13.01, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS01.04, DSS05.02, DSS05.03, DSS05.05, DSS06.06, CCI-001436, 164.308(a)(4)(i), 164.308(b)(1), 164.308(b)(3), 164.310(b), 164.312(e)(1), 164.312(e)(2)(ii), 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 3.1, SR 3.5, SR 3.8, SR 4.1, SR 4.3, SR 5.1, SR 5.2, SR 5.3, SR 7.1, SR 7.6, A.11.2.6, A.12.1.2, A.12.5.1, A.12.6.2, A.13.1.1, A.13.2.1, A.14.1.3, A.14.2.2, A.14.2.3, A.14.2.4, A.6.2.1, A.6.2.2, A.9.1.2, CM-7(a), CM-7(b), CM-6(a), PR.AC-3, PR.IP-1, PR.PT-3, PR.PT-4, 6.2.16 |
Description | The files $ sudo rm /etc/hosts.equiv $ rm ~/.rhosts |
Rationale | This action is only meaningful if |
Uninstall talk Package
Rule ID | xccdf_org.ssgproject.content_rule_package_talk_removed | ||
Result | pass | ||
Time | 2025-05-13T15:26:36 | ||
Severity | medium | ||
Identifiers and References | References: 164.308(a)(4)(i), 164.308(b)(1), 164.308(b)(3), 164.310(b), 164.312(e)(1), 164.312(e)(2)(ii), 2.3.3, R62, 2.2.4 | ||
Description | The $ apt-get remove talk | ||
Rationale | The talk software presents a security risk as it uses unencrypted protocols
for communications. Removing the | ||
OVAL details package talk is removed passed because these items were not found:Object oval:ssg-obj_test_package_talk_removed:obj:1 of type dpkginfo_object
|
Remove telnet Clients
Rule ID | xccdf_org.ssgproject.content_rule_package_telnet_removed | ||||||||||||
Result | fail | ||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||
Severity | low | ||||||||||||
Identifiers and References | References: 3.1.13, 164.308(a)(4)(i), 164.308(b)(1), 164.308(b)(3), 164.310(b), 164.312(e)(1), 164.312(e)(2)(ii), A.8.2.3, A.13.1.1, A.13.2.1, A.13.2.3, A.14.1.2, A.14.1.3, 2.3.4, R62, 2.2.4 | ||||||||||||
Description | The telnet client allows users to start connections to other systems via the telnet protocol. | ||||||||||||
Rationale | The | ||||||||||||
OVAL details package telnet is removed failed because of these items:
| |||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||
Remediation Puppet snippet: (show)
| |||||||||||||
Remediation Shell script: (show)
|
Uninstall rsync Package
Rule ID | xccdf_org.ssgproject.content_rule_package_rsync_removed | ||||||||||||
Result | fail | ||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||
Severity | medium | ||||||||||||
Identifiers and References | References: 2.2.16 | ||||||||||||
Description | The rsyncd service can be used to synchronize files between systems over network links.
The $ apt-get remove rsync | ||||||||||||
Rationale | The rsyncd service presents a security risk as it uses unencrypted protocols for communication. | ||||||||||||
OVAL details package rsync is removed failed because of these items:
| |||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||
Remediation Puppet snippet: (show)
| |||||||||||||
Remediation Shell script: (show)
|
Uninstall CUPS Package
Rule ID | xccdf_org.ssgproject.content_rule_package_cups_removed | ||||||||||||
Result | fail | ||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||
Severity | unknown | ||||||||||||
Identifiers and References | References: 11, 14, 3, 9, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS06.06, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.9.1.2, CM-7(a), CM-7(b), CM-6(a), PR.IP-1, PR.PT-3, 2.2.3 | ||||||||||||
Description | The $ apt-get remove cups | ||||||||||||
Rationale | If the system does not need to print jobs or accept print jobs from other systems, it is recommended that CUPS be removed to reduce the potential attack surface. | ||||||||||||
OVAL details package cups is removed failed because of these items:
| |||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||
Remediation Puppet snippet: (show)
| |||||||||||||
Remediation Shell script: (show)
|
Disable the CUPS Service
Rule ID | xccdf_org.ssgproject.content_rule_service_cups_disabled | ||||||||||||||||||||||||||||||
Result | fail | ||||||||||||||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||||||||||||||
Severity | unknown | ||||||||||||||||||||||||||||||
Identifiers and References | References: 11, 14, 3, 9, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.05, DSS06.06, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.9.1.2, CM-7(a), CM-7(b), CM-6(a), PR.IP-1, PR.PT-3, 2.2.3 | ||||||||||||||||||||||||||||||
Description |
The $ sudo systemctl mask --now cups.service | ||||||||||||||||||||||||||||||
Rationale | Turn off unneeded services to reduce attack surface. | ||||||||||||||||||||||||||||||
OVAL details package cups is removed failed because of these items:
Test that the cups service is not running failed because of these items:
Test that the property LoadState from the service cups is masked failed because of these items:
| |||||||||||||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||||||||||||
Remediation Puppet snippet: (show)
| |||||||||||||||||||||||||||||||
Remediation Shell script: (show)
| |||||||||||||||||||||||||||||||
Remediation script: (show)
| |||||||||||||||||||||||||||||||
Uninstall squid Package
Rule ID | xccdf_org.ssgproject.content_rule_package_squid_removed | ||
Result | pass | ||
Time | 2025-05-13T15:26:36 | ||
Severity | unknown | ||
Identifiers and References | References: 2.2.12 | ||
Description | The $ apt-get remove squid | ||
Rationale | If there is no need to make the proxy server software available, removing it provides a safeguard against its activation. | ||
OVAL details package squid is removed passed because these items were not found:Object oval:ssg-obj_test_package_squid_removed:obj:1 of type dpkginfo_object
|
Uninstall Samba Package
Rule ID | xccdf_org.ssgproject.content_rule_package_samba_removed | ||
Result | pass | ||
Time | 2025-05-13T15:26:36 | ||
Severity | unknown | ||
Identifiers and References | References: 2.2.11 | ||
Description | The $ apt-get remove samba | ||
Rationale | If there is no need to make the Samba software available, removing it provides a safeguard against its activation. | ||
OVAL details package samba is removed passed because these items were not found:Object oval:ssg-obj_test_package_samba_removed:obj:1 of type dpkginfo_object
|
Uninstall net-snmp Package
Rule ID | xccdf_org.ssgproject.content_rule_package_net-snmp_removed | ||
Result | pass | ||
Time | 2025-05-13T15:26:36 | ||
Severity | unknown | ||
Identifiers and References | |||
Description |
The $ apt-get remove snmp | ||
Rationale | If there is no need to run SNMP server software, removing the package provides a safeguard against its activation. | ||
OVAL details package snmp is removed passed because these items were not found:Object oval:ssg-obj_test_package_snmp_removed:obj:1 of type dpkginfo_object
|
Set SSH Client Alive Count Max
Rule ID | xccdf_org.ssgproject.content_rule_sshd_set_keepalive | ||||||||||||||||||
Result | fail | ||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||
Severity | medium | ||||||||||||||||||
Identifiers and References | References: 1, 12, 13, 14, 15, 16, 18, 3, 5, 7, 8, 5.5.6, APO13.01, BAI03.01, BAI03.02, BAI03.03, DSS01.03, DSS03.05, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.03, DSS06.10, 3.1.11, CCI-000879, CCI-001133, CCI-002361, 164.308(a)(4)(i), 164.308(b)(1), 164.308(b)(3), 164.310(b), 164.312(e)(1), 164.312(e)(2)(ii), 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 6.2, A.12.4.1, A.12.4.3, A.14.1.1, A.14.2.1, A.14.2.5, A.18.1.4, A.6.1.2, A.6.1.5, A.7.1.1, A.9.1.2, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.1, A.9.4.2, A.9.4.3, A.9.4.4, A.9.4.5, CIP-004-6 R2.2.3, CIP-007-3 R5.1, CIP-007-3 R5.2, CIP-007-3 R5.3.1, CIP-007-3 R5.3.2, CIP-007-3 R5.3.3, AC-2(5), AC-12, AC-17(a), SC-10, CM-6(a), DE.CM-1, DE.CM-3, PR.AC-1, PR.AC-4, PR.AC-6, PR.AC-7, PR.IP-2, Req-8.1.8, SRG-OS-000163-GPOS-00072, SRG-OS-000279-GPOS-00109, UBTU-22-255030, 5.2.22, 8.2.8 | ||||||||||||||||||
Description | The SSH server sends at most | ||||||||||||||||||
Rationale | This ensures a user login will be terminated as soon as the | ||||||||||||||||||
OVAL details Check the value of ClientAliveCountMax setting in the /etc/ssh/sshd_config file failed because these items were missing:Object oval:ssg-object_sshd_set_keepalive_clientalivecountmax:obj:1 of type textfilecontent54_object
State oval:ssg-state_sshd_set_keepalive_clientalivecountmax:ste:1 of type textfilecontent54_state
Check the value of ClientAliveCountMax setting in /etc/ssh/sshd_config.d/ files failed because these items were missing:Object oval:ssg-object_sshd_set_keepalive_clientalivecountmax_dir:obj:1 of type textfilecontent54_object
State oval:ssg-state_sshd_set_keepalive_clientalivecountmax:ste:1 of type textfilecontent54_state
| |||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||
Remediation Shell script: (show)
|
Set SSH Client Alive Interval
Rule ID | xccdf_org.ssgproject.content_rule_sshd_set_idle_timeout | ||||||||||||||||||
Result | fail | ||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||
Severity | medium | ||||||||||||||||||
Identifiers and References | References: 1, 12, 13, 14, 15, 16, 18, 3, 5, 7, 8, 5.5.6, APO13.01, BAI03.01, BAI03.02, BAI03.03, DSS01.03, DSS03.05, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.03, DSS06.10, 3.1.11, CCI-000879, CCI-001133, CCI-002361, 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 6.2, A.12.4.1, A.12.4.3, A.14.1.1, A.14.2.1, A.14.2.5, A.18.1.4, A.6.1.2, A.6.1.5, A.7.1.1, A.9.1.2, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.1, A.9.4.2, A.9.4.3, A.9.4.4, A.9.4.5, CIP-004-6 R2.2.3, CIP-007-3 R5.1, CIP-007-3 R5.2, CIP-007-3 R5.3.1, CIP-007-3 R5.3.2, CIP-007-3 R5.3.3, CM-6(a), AC-17(a), AC-2(5), AC-12, AC-17(a), SC-10, CM-6(a), DE.CM-1, DE.CM-3, PR.AC-1, PR.AC-4, PR.AC-6, PR.AC-7, PR.IP-2, Req-8.1.8, SRG-OS-000126-GPOS-00066, SRG-OS-000163-GPOS-00072, SRG-OS-000279-GPOS-00109, SRG-OS-000395-GPOS-00175, UBTU-22-255035, 5.2.22, 8.2.8 | ||||||||||||||||||
Description | SSH allows administrators to set a network responsiveness timeout interval.
After this interval has passed, the unresponsive client will be automatically logged out.
ClientAliveInterval 300 The timeout interval is given in seconds. For example, 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 in /etc/ssh/sshd_config . 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. | ||||||||||||||||||
Warnings | warning
SSH disconnecting unresponsive clients will not have desired effect without also
configuring ClientAliveCountMax in the SSH service configuration. warning
Following conditions may prevent the SSH session to time out:
| ||||||||||||||||||
OVAL details timeout is configured failed because these items were missing:Object oval:ssg-object_sshd_idle_timeout:obj:1 of type textfilecontent54_object
State oval:ssg-state_timeout_value_upper_bound:ste:1 of type textfilecontent54_state
timeout is configured in config directory failed because these items were missing:Object oval:ssg-object_sshd_idle_timeout_config_dir:obj:1 of type textfilecontent54_object
State oval:ssg-state_timeout_value_upper_bound:ste:1 of type textfilecontent54_state
| |||||||||||||||||||
Remediation Shell script: (show)
|
Disable Host-Based Authentication
Rule ID | xccdf_org.ssgproject.content_rule_disable_host_auth | ||||||||||||||||||||
Result | fail | ||||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||||
Severity | medium | ||||||||||||||||||||
Identifiers and References | References: 11, 12, 14, 15, 16, 18, 3, 5, 9, 5.5.6, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.04, DSS05.05, DSS05.07, DSS06.03, DSS06.06, 3.1.12, CCI-000366, 164.308(a)(4)(i), 164.308(b)(1), 164.308(b)(3), 164.310(b), 164.312(e)(1), 164.312(e)(2)(ii), 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, 0421, 0422, 0431, 0974, 1173, 1401, 1504, 1505, 1546, 1557, 1558, 1559, 1560, 1561, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.6.1.2, A.7.1.1, A.9.1.2, A.9.2.1, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.2.3, CIP-004-6 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.2, CIP-007-3 R5.2, CIP-007-3 R5.3.1, CIP-007-3 R5.3.2, CIP-007-3 R5.3.3, AC-3, AC-17(a), CM-7(a), CM-7(b), CM-6(a), PR.AC-4, PR.AC-6, PR.IP-1, PR.PT-3, FIA_UAU.1, SRG-OS-000480-GPOS-00229, 5.2.8, 8.3.1 | ||||||||||||||||||||
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. | ||||||||||||||||||||
OVAL details tests the value of HostbasedAuthentication setting in the /etc/ssh/sshd_config file failed because these items were missing:Object oval:ssg-obj_disable_host_auth:obj:1 of type textfilecontent54_object
State oval:ssg-state_disable_host_auth:ste:1 of type textfilecontent54_state
tests the value of HostbasedAuthentication setting in the /etc/ssh/sshd_config.d file failed because these items were missing:Object oval:ssg-obj_disable_host_auth_config_dir:obj:1 of type textfilecontent54_object
State oval:ssg-state_disable_host_auth_config_dir:ste:1 of type textfilecontent54_state
Verify that the value of HostbasedAuthentication is present failed because these items were missing:Object oval:ssg-obj_collection_obj_disable_host_auth:obj:1 of type textfilecontent54_object
| |||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||
Remediation Shell script: (show)
|
Disable SSH Access via Empty Passwords
Rule ID | xccdf_org.ssgproject.content_rule_sshd_disable_empty_passwords | ||||||||||||||||||||
Result | fail | ||||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||||
Severity | high | ||||||||||||||||||||
Identifiers and References | References: 11, 12, 13, 14, 15, 16, 18, 3, 5, 9, 5.5.6, APO01.06, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.04, DSS05.05, DSS05.07, DSS06.02, DSS06.03, DSS06.06, 3.1.1, 3.1.5, CCI-000366, CCI-000766, 164.308(a)(4)(i), 164.308(b)(1), 164.308(b)(3), 164.310(b), 164.312(e)(1), 164.312(e)(2)(ii), 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 5.2, SR 7.6, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.12.1.2, A.12.5.1, A.12.6.2, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.14.2.2, A.14.2.3, A.14.2.4, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.1, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, AC-17(a), CM-7(a), CM-7(b), CM-6(a), PR.AC-4, PR.AC-6, PR.DS-5, PR.IP-1, PR.PT-3, FIA_UAU.1, Req-2.2.4, SRG-OS-000106-GPOS-00053, SRG-OS-000480-GPOS-00229, SRG-OS-000480-GPOS-00227, UBTU-22-255025, 5.2.9, 2.2.6 | ||||||||||||||||||||
Description | Disallow SSH login with empty passwords.
The default SSH configuration disables logins with empty passwords. The appropriate
configuration is used if no value is set for PermitEmptyPasswords noAny 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. | ||||||||||||||||||||
OVAL details tests the value of PermitEmptyPasswords setting in the /etc/ssh/sshd_config file failed because these items were missing:Object oval:ssg-obj_sshd_disable_empty_passwords:obj:1 of type textfilecontent54_object
State oval:ssg-state_sshd_disable_empty_passwords:ste:1 of type textfilecontent54_state
tests the value of PermitEmptyPasswords setting in the /etc/ssh/sshd_config.d file failed because these items were missing:Object oval:ssg-obj_sshd_disable_empty_passwords_config_dir:obj:1 of type textfilecontent54_object
State oval:ssg-state_sshd_disable_empty_passwords_config_dir:ste:1 of type textfilecontent54_state
Verify that the value of PermitEmptyPasswords is present failed because these items were missing:Object oval:ssg-obj_collection_obj_sshd_disable_empty_passwords:obj:1 of type textfilecontent54_object
| |||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||
Remediation Shell script: (show)
|
Disable SSH Support for .rhosts Files
Rule ID | xccdf_org.ssgproject.content_rule_sshd_disable_rhosts | ||||||||||||||||||||
Result | fail | ||||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||||
Severity | medium | ||||||||||||||||||||
Identifiers and References | References: 11, 12, 14, 15, 16, 18, 3, 5, 9, 5.5.6, BAI10.01, BAI10.02, BAI10.03, BAI10.05, DSS05.02, DSS05.04, DSS05.05, DSS05.07, DSS06.03, DSS06.06, 3.1.12, CCI-000366, 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, 4.3.4.3.2, 4.3.4.3.3, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, A.6.1.2, A.7.1.1, A.9.1.2, A.9.2.1, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, AC-17(a), CM-7(a), CM-7(b), CM-6(a), PR.AC-4, PR.AC-6, PR.IP-1, PR.PT-3, FIA_UAU.1, SRG-OS-000480-GPOS-00227, 5.2.11, 2.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. | ||||||||||||||||||||
OVAL details tests the value of IgnoreRhosts setting in the /etc/ssh/sshd_config file failed because these items were missing:Object oval:ssg-obj_sshd_disable_rhosts:obj:1 of type textfilecontent54_object
State oval:ssg-state_sshd_disable_rhosts:ste:1 of type textfilecontent54_state
tests the value of IgnoreRhosts setting in the /etc/ssh/sshd_config.d file failed because these items were missing:Object oval:ssg-obj_sshd_disable_rhosts_config_dir:obj:1 of type textfilecontent54_object
State oval:ssg-state_sshd_disable_rhosts_config_dir:ste:1 of type textfilecontent54_state
Verify that the value of IgnoreRhosts is present failed because these items were missing:Object oval:ssg-obj_collection_obj_sshd_disable_rhosts:obj:1 of type textfilecontent54_object
| |||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||
Remediation Shell script: (show)
|
Disable SSH Root Login
Rule ID | xccdf_org.ssgproject.content_rule_sshd_disable_root_login | ||||||||||||||||||||
Result | fail | ||||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||||
Severity | medium | ||||||||||||||||||||
Identifiers and References | References: 1, 11, 12, 13, 14, 15, 16, 18, 3, 5, 5.5.6, APO01.06, DSS05.02, DSS05.04, DSS05.05, DSS05.07, DSS05.10, DSS06.02, DSS06.03, DSS06.06, DSS06.10, 3.1.1, 3.1.5, CCI-000366, CCI-000770, 164.308(a)(4)(i), 164.308(b)(1), 164.308(b)(3), 164.310(b), 164.312(e)(1), 164.312(e)(2)(ii), 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.18.1.4, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.1, A.9.2.2, A.9.2.3, A.9.2.4, A.9.2.6, A.9.3.1, A.9.4.1, A.9.4.2, A.9.4.3, A.9.4.4, A.9.4.5, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.2.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CIP-007-3 R5.2, CIP-007-3 R5.3.1, CIP-007-3 R5.3.2, CIP-007-3 R5.3.3, AC-6(2), AC-17(a), IA-2, IA-2(5), CM-7(a), CM-7(b), CM-6(a), PR.AC-1, PR.AC-4, PR.AC-6, PR.AC-7, PR.DS-5, PR.PT-3, FAU_GEN.1, Req-2.2.4, SRG-OS-000109-GPOS-00056, SRG-OS-000480-GPOS-00227, SRG-APP-000148-CTR-000335, SRG-APP-000190-CTR-000500, 5.2.7, R33, 2.2.6 | ||||||||||||||||||||
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. | ||||||||||||||||||||
OVAL details tests the value of PermitRootLogin setting in the /etc/ssh/sshd_config file failed because these items were missing:Object oval:ssg-obj_sshd_disable_root_login:obj:1 of type textfilecontent54_object
State oval:ssg-state_sshd_disable_root_login:ste:1 of type textfilecontent54_state
tests the value of PermitRootLogin setting in the /etc/ssh/sshd_config.d file failed because these items were missing:Object oval:ssg-obj_sshd_disable_root_login_config_dir:obj:1 of type textfilecontent54_object
State oval:ssg-state_sshd_disable_root_login_config_dir:ste:1 of type textfilecontent54_state
Verify that the value of PermitRootLogin is present failed because these items were missing:Object oval:ssg-obj_collection_obj_sshd_disable_root_login:obj:1 of type textfilecontent54_object
| |||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||
Remediation Shell script: (show)
|
Do Not Allow SSH Environment Options
Rule ID | xccdf_org.ssgproject.content_rule_sshd_do_not_permit_user_env | ||||||||||||||||||||
Result | fail | ||||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||||
Severity | medium | ||||||||||||||||||||
Identifiers and References | References: 11, 3, 9, 5.5.6, BAI10.01, BAI10.02, BAI10.03, BAI10.05, 3.1.12, CCI-000366, 164.308(a)(4)(i), 164.308(b)(1), 164.308(b)(3), 164.310(b), 164.312(e)(1), 164.312(e)(2)(ii), 4.3.4.3.2, 4.3.4.3.3, SR 7.6, A.12.1.2, A.12.5.1, A.12.6.2, A.14.2.2, A.14.2.3, A.14.2.4, AC-17(a), CM-7(a), CM-7(b), CM-6(a), PR.IP-1, Req-2.2.4, SRG-OS-000480-GPOS-00229, UBTU-22-255025, 5.2.10, 2.2.6 | ||||||||||||||||||||
Description | Ensure that users are not able to override environment variables of the SSH daemon.
PermitUserEnvironment no | ||||||||||||||||||||
Rationale | SSH environment options potentially allow users to bypass access restriction in some configurations. | ||||||||||||||||||||
OVAL details tests the value of PermitUserEnvironment setting in the /etc/ssh/sshd_config file failed because these items were missing:Object oval:ssg-obj_sshd_do_not_permit_user_env:obj:1 of type textfilecontent54_object
State oval:ssg-state_sshd_do_not_permit_user_env:ste:1 of type textfilecontent54_state
tests the value of PermitUserEnvironment setting in the /etc/ssh/sshd_config.d file failed because these items were missing:Object oval:ssg-obj_sshd_do_not_permit_user_env_config_dir:obj:1 of type textfilecontent54_object
State oval:ssg-state_sshd_do_not_permit_user_env_config_dir:ste:1 of type textfilecontent54_state
Verify that the value of PermitUserEnvironment is present failed because these items were missing:Object oval:ssg-obj_collection_obj_sshd_do_not_permit_user_env:obj:1 of type textfilecontent54_object
| |||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||
Remediation Shell script: (show)
|
Enable PAM
Rule ID | xccdf_org.ssgproject.content_rule_sshd_enable_pam | ||||||||||||||||||
Result | pass | ||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||
Severity | medium | ||||||||||||||||||
Identifiers and References | References: CCI-000877, SRG-OS-000125-GPOS-00065, UBTU-22-255065, 5.2.6, 2.2.6 | ||||||||||||||||||
Description | UsePAM Enables the Pluggable Authentication Module interface. If set to “yes” this will
enable PAM authentication using ChallengeResponseAuthentication and
PasswordAuthentication in addition to PAM account and session module processing for all
authentication types.
To enable PAM authentication, add or correct the following line in
UsePAM yes | ||||||||||||||||||
Rationale | When UsePAM is set to yes, PAM runs through account and session types properly. This is important if you want to restrict access to services based off of IP, time or other factors of the account. Additionally, you can make sure users inherit certain environment variables on login or disallow access to the server. | ||||||||||||||||||
OVAL details tests the value of UsePAM setting in the /etc/ssh/sshd_config file passed because of these items:
tests the value of UsePAM setting in the /etc/ssh/sshd_config.d file passed because these items were not found:Object oval:ssg-obj_sshd_enable_pam_config_dir:obj:1 of type textfilecontent54_object
State oval:ssg-state_sshd_enable_pam_config_dir:ste:1 of type textfilecontent54_state
Verify that the value of UsePAM is present passed because of these items:
|
Limit Users' SSH Access
Rule ID | xccdf_org.ssgproject.content_rule_sshd_limit_user_access | ||||||||||||||||||||||||
Result | fail | ||||||||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||||||||
Severity | unknown | ||||||||||||||||||||||||
Identifiers and References | References: 11, 12, 14, 15, 16, 18, 3, 5, DSS05.02, DSS05.04, DSS05.05, DSS05.07, DSS06.03, DSS06.06, 3.1.12, 4.3.3.2.2, 4.3.3.5.1, 4.3.3.5.2, 4.3.3.5.3, 4.3.3.5.4, 4.3.3.5.5, 4.3.3.5.6, 4.3.3.5.7, 4.3.3.5.8, 4.3.3.6.1, 4.3.3.6.2, 4.3.3.6.3, 4.3.3.6.4, 4.3.3.6.5, 4.3.3.6.6, 4.3.3.6.7, 4.3.3.6.8, 4.3.3.6.9, 4.3.3.7.1, 4.3.3.7.2, 4.3.3.7.3, 4.3.3.7.4, SR 1.1, SR 1.10, SR 1.11, SR 1.12, SR 1.13, SR 1.2, SR 1.3, SR 1.4, SR 1.5, SR 1.6, SR 1.7, SR 1.8, SR 1.9, SR 2.1, SR 2.2, SR 2.3, SR 2.4, SR 2.5, SR 2.6, SR 2.7, A.6.1.2, A.7.1.1, A.9.1.2, A.9.2.1, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.2.3, CIP-004-6 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.2, CIP-007-3 R5.2, CIP-007-3 R5.3.1, CIP-007-3 R5.3.2, CIP-007-3 R5.3.3, AC-3, CM-6(a), PR.AC-4, PR.AC-6, PR.PT-3, Req-2.2.4, 5.2.4, 2.2.6 | ||||||||||||||||||||||||
Description | By default, the SSH configuration allows any user with an account to access the system. There are several options available to limit which users and group can access the system via SSH. It is recommended that at least one of the following options be leveraged: - AllowUsers variable gives the system administrator the option of allowing specific users to ssh into the system. The list consists of space separated user names. Numeric user IDs are not recognized with this variable. If a system administrator wants to restrict user access further by specifically allowing a user's access only from a particular host, the entry can be specified in the form of user@host. - AllowGroups variable gives the system administrator the option of allowing specific groups of users to ssh into the system. The list consists of space separated group names. Numeric group IDs are not recognized with this variable. - DenyUsers variable gives the system administrator the option of denying specific users to ssh into the system. The list consists of space separated user names. Numeric user IDs are not recognized with this variable. If a system administrator wants to restrict user access further by specifically denying a user's access from a particular host, the entry can be specified in the form of user@host. - DenyGroups variable gives the system administrator the option of denying specific groups of users to ssh into the system. The list consists of space separated group names. Numeric group IDs are not recognized with this variable. | ||||||||||||||||||||||||
Rationale | Specifying which accounts are allowed SSH access into the system reduces the possibility of unauthorized access to the system. | ||||||||||||||||||||||||
Warnings | warning
Automated remediation is not available for this configuration check
because each system has unique user names and group names. | ||||||||||||||||||||||||
OVAL details Check if there is an AllowUsers entry failed because these items were missing:Object oval:ssg-obj_allow_user:obj:1 of type textfilecontent54_object
Check if there is an AllowGroups entry failed because these items were missing:Object oval:ssg-obj_allow_group:obj:1 of type textfilecontent54_object
Check if there is a DenyUsers entry failed because these items were missing:Object oval:ssg-obj_deny_user:obj:1 of type textfilecontent54_object
Check if there is a DenyGroups entry failed because these items were missing:Object oval:ssg-obj_deny_group:obj:1 of type textfilecontent54_object
|
Ensure SSH LoginGraceTime is configured
Rule ID | xccdf_org.ssgproject.content_rule_sshd_set_login_grace_time | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:26:36 | ||||||||
Severity | medium | ||||||||
Identifiers and References | |||||||||
Description | The | ||||||||
Rationale | Setting the | ||||||||
OVAL details LoginGraceTime is configured failed because these items were missing:Object oval:ssg-object_sshd_login_grace_time:obj:1 of type textfilecontent54_object
State oval:ssg-state_logingracetime_value_upper_bound:ste:1 of type textfilecontent54_state
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Set LogLevel to INFO
Rule ID | xccdf_org.ssgproject.content_rule_sshd_set_loglevel_info | ||||||||||||||||||||
Result | fail | ||||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||||
Severity | low | ||||||||||||||||||||
Identifiers and References | |||||||||||||||||||||
Description | The INFO parameter specifices that record login and logout activity will be logged.
LogLevel INFO | ||||||||||||||||||||
Rationale | SSH provides several logging levels with varying amounts of verbosity. | ||||||||||||||||||||
OVAL details tests the value of LogLevel setting in the /etc/ssh/sshd_config file failed because these items were missing:Object oval:ssg-obj_sshd_set_loglevel_info:obj:1 of type textfilecontent54_object
State oval:ssg-state_sshd_set_loglevel_info:ste:1 of type textfilecontent54_state
tests the value of LogLevel setting in the /etc/ssh/sshd_config.d file failed because these items were missing:Object oval:ssg-obj_sshd_set_loglevel_info_config_dir:obj:1 of type textfilecontent54_object
State oval:ssg-state_sshd_set_loglevel_info_config_dir:ste:1 of type textfilecontent54_state
Verify that the value of LogLevel is present failed because these items were missing:Object oval:ssg-obj_collection_obj_sshd_set_loglevel_info:obj:1 of type textfilecontent54_object
| |||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||
Remediation Shell script: (show)
|
Set SSH authentication attempt limit
Rule ID | xccdf_org.ssgproject.content_rule_sshd_set_max_auth_tries | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:26:36 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 0421, 0422, 0431, 0974, 1173, 1401, 1504, 1505, 1546, 1557, 1558, 1559, 1560, 1561, 5.2.18, 2.2.6 | ||||||||
Description | The MaxAuthTries 4 | ||||||||
Rationale | Setting the MaxAuthTries parameter to a low number will minimize the risk of successful brute force attacks to the SSH server. | ||||||||
OVAL details maxauthtries is configured failed because these items were missing:Object oval:ssg-object_sshd_max_auth_tries:obj:1 of type textfilecontent54_object
State oval:ssg-state_maxauthtries_value_upper_bound:ste:1 of type textfilecontent54_state
| |||||||||
Remediation Shell script: (show)
|
Set SSH MaxSessions limit
Rule ID | xccdf_org.ssgproject.content_rule_sshd_set_max_sessions | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:26:36 | ||||||||
Severity | medium | ||||||||
Identifiers and References | |||||||||
Description | The MaxSessions 10 | ||||||||
Rationale | To protect a system from denial of service due to a large number of concurrent sessions, use the rate limiting function of MaxSessions to protect availability of sshd logins and prevent overwhelming the daemon. | ||||||||
OVAL details maxsessions is configured failed because these items were missing:Object oval:ssg-object_sshd_max_sessions:obj:1 of type textfilecontent54_object
State oval:ssg-state_maxsessions_value_upper_bound:ste:1 of type textfilecontent54_state
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Ensure SSH MaxStartups is configured
Rule ID | xccdf_org.ssgproject.content_rule_sshd_set_maxstartups | ||||||||||||||||||||||||
Result | fail | ||||||||||||||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||||||||||||||
Severity | medium | ||||||||||||||||||||||||
Identifiers and References | |||||||||||||||||||||||||
Description | The MaxStartups parameter specifies the maximum number of concurrent
unauthenticated connections to the SSH daemon. Additional connections will be
dropped until authentication succeeds or the LoginGraceTime expires for a
connection. To confgure MaxStartups, you should add or correct the following
line in the
MaxStartups 10:30:60CIS recommends a MaxStartups value of '10:30:60', or more restrictive where dictated by site policy. | ||||||||||||||||||||||||
Rationale | To protect a system from denial of service due to a large number of pending authentication connection attempts, use the rate limiting function of MaxStartups to protect availability of sshd logins and prevent overwhelming the daemon. | ||||||||||||||||||||||||
OVAL details SSH MaxStartups start parameter is less than or equal to 10 failed because these items were missing:Object oval:ssg-obj_sshd_config_maxstartups_first_parameter:obj:1 of type textfilecontent54_object
State oval:ssg-ste_sshd_config_start_parameter_valid:ste:1 of type textfilecontent54_state
SSH MaxStartups rate parameter is greater than or equal to 30 failed because these items were missing:Object oval:ssg-obj_sshd_config_maxstartups_second_parameter:obj:1 of type textfilecontent54_object
State oval:ssg-ste_sshd_config_rate_parameter_valid:ste:1 of type textfilecontent54_state
SSH MaxStartups full parameter is less than or equal to 100 failed because these items were missing:Object oval:ssg-obj_sshd_config_maxstartups_third_parameter:obj:1 of type textfilecontent54_object
State oval:ssg-ste_sshd_config_full_parameter_valid:ste:1 of type textfilecontent54_state
| |||||||||||||||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||||||||||||||
Remediation Shell script: (show)
|
Use Only Strong Ciphers
Rule ID | xccdf_org.ssgproject.content_rule_sshd_use_strong_ciphers | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:26:36 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 5.2.13 | ||||||||
Description | Limit the ciphers to strong algorithms.
Counter (CTR) mode is also preferred over cipher-block chaining (CBC) mode.
The following line in Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctrThe man page sshd_config(5) contains a list of supported ciphers. | ||||||||
Rationale | Based on research conducted at various institutions, it was determined that the symmetric portion of the SSH Transport Protocol (as described in RFC 4253) has security weaknesses that allowed recovery of up to 32 bits of plaintext from a block of ciphertext that was encrypted with the Cipher Block Chaining (CBD) method. From that research, new Counter mode algorithms (as described in RFC4344) were designed that are not vulnerable to these types of attacks and these algorithms are now recommended for standard use. | ||||||||
OVAL details tests the value of Ciphers setting in the /etc/ssh/sshd_config file failed because these items were missing:Object oval:ssg-obj_sshd_use_strong_ciphers:obj:1 of type textfilecontent54_object
State oval:ssg-state_sshd_use_strong_ciphers:ste:1 of type textfilecontent54_state
| |||||||||
Remediation Shell script: (show)
|
Use Only Strong Key Exchange algorithms
Rule ID | xccdf_org.ssgproject.content_rule_sshd_use_strong_kex | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:26:36 | ||||||||
Severity | medium | ||||||||
Identifiers and References | |||||||||
Description | Limit the Key Exchange to strong algorithms.
The following line in KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256 | ||||||||
Rationale | Key exchange is any method in cryptography by which cryptographic keys are exchanged between two parties, allowing use of a cryptographic algorithm. If the sender and receiver wish to exchange encrypted messages, each must be equipped to encrypt messages to be sent and decrypt messages received | ||||||||
OVAL details tests the value of KexAlgorithms setting in the /etc/ssh/sshd_config file failed because these items were missing:Object oval:ssg-obj_sshd_use_strong_kex:obj:1 of type variable_object
State oval:ssg-ste_sshd_use_strong_kex:ste:1 of type variable_state
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Use Only Strong MACs
Rule ID | xccdf_org.ssgproject.content_rule_sshd_use_strong_macs | ||||||||
Result | fail | ||||||||
Time | 2025-05-13T15:26:36 | ||||||||
Severity | medium | ||||||||
Identifiers and References | References: 5.2.14 | ||||||||
Description | Limit the MACs to strong hash algorithms.
The following line in MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256 | ||||||||
Rationale | MD5 and 96-bit MAC algorithms are considered weak and have been shown to increase exploitability in SSH downgrade attacks. Weak algorithms continue to have a great deal of attention as a weak spot that can be exploited with expanded computing power. An attacker that breaks the algorithm could take advantage of a MiTM position to decrypt the SSH tunnel and capture credentials and information | ||||||||
OVAL details tests the value of MACs setting in the /etc/ssh/sshd_config file failed because these items were missing:Object oval:ssg-obj_sshd_use_strong_macs:obj:1 of type variable_object
State oval:ssg-ste_sshd_use_strong_macs:ste:1 of type variable_state
| |||||||||
Remediation Ansible snippet: (show)
| |||||||||
Remediation Shell script: (show)
|
Verify Group Who Owns SSH Server config file
Rule ID | xccdf_org.ssgproject.content_rule_file_groupowner_sshd_config | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, APO01.06, DSS05.04, DSS05.07, DSS06.02, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, AC-17(a), CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, SRG-OS-000480-GPOS-00227, 5.2.1, R50 | ||||||
Description |
To properly set the group owner of $ sudo chgrp root /etc/ssh/sshd_config | ||||||
Rationale | Service configuration files enable or disable features of their respective services that if configured incorrectly can lead to insecure and vulnerable configurations. Therefore, service configuration files should be owned by the correct group to prevent unauthorized changes. | ||||||
OVAL details Testing group ownership of /etc/ssh/sshd_config passed because these items were not found:Object oval:ssg-object_file_groupowner_sshd_config_0:obj:1 of type file_object
|
Verify Owner on SSH Server config file
Rule ID | xccdf_org.ssgproject.content_rule_file_owner_sshd_config | ||||||
Result | pass | ||||||
Time | 2025-05-13T15:26:36 | ||||||
Severity | medium | ||||||
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, APO01.06, DSS05.04, DSS05.07, DSS06.02, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, AC-17(a), CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, SRG-OS-000480-GPOS-00227, 5.2.1, R50 | ||||||
Description |
To properly set the owner of $ sudo chown root /etc/ssh/sshd_config | ||||||
Rationale | Service configuration files enable or disable features of their respective services that if configured incorrectly can lead to insecure and vulnerable configurations. Therefore, service configuration files should be owned by the correct group to prevent unauthorized changes. | ||||||
OVAL details Testing user ownership of /etc/ssh/sshd_config passed because these items were not found:Object oval:ssg-object_file_owner_sshd_config_0:obj:1 of type file_object
|
Remove the X Windows Package Group
Rule ID | xccdf_org.ssgproject.content_rule_package_xorg-x11-server-common_removed | ||||||||||||
Result | fail | ||||||||||||
Time | 2025-05-13T15:26:36 | ||||||||||||
Severity | medium | ||||||||||||
Identifiers and References | References: 12, 15, 8, APO13.01, DSS01.04, DSS05.02, DSS05.03, CCI-000366, 4.3.3.6.6, SR 1.13, SR 2.6, SR 3.1, SR 3.5, SR 3.8, SR 4.1, SR 4.3, SR 5.1, SR 5.2, SR 5.3, SR 7.1, SR 7.6, A.11.2.6, A.13.1.1, A.13.2.1, A.14.1.3, A.6.2.1, A.6.2.2, CM-7(a), CM-7(b), CM-6(a), PR.AC-3, PR.PT-4, SRG-OS-000480-GPOS-00227, 2.2.1 | ||||||||||||
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 apt_get groupremove "X Window System" $ sudo apt_get 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. | ||||||||||||
Warnings | warning
The installation and use of a Graphical User Interface (GUI) increases your attack vector and decreases your
overall security posture. Removing the package xorg-x11-server-common package will remove the graphical target
which might bring your system to an inconsistent state requiring additional configuration to access the system
again. If a GUI is an operational requirement, a tailored profile that removes this rule should used before
continuing installation. | ||||||||||||
OVAL details package xserver-xorg is removed failed because of these items:
| |||||||||||||
Remediation Ansible snippet: (show)
| |||||||||||||
Remediation Puppet snippet: (show)
| |||||||||||||
Remediation Shell script: (show)
|
System Audit Logs Must Be Group Owned By Root
Rule ID | xccdf_org.ssgproject.content_rule_file_group_ownership_var_log_audit |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | References: 1, 11, 12, 13, 14, 15, 16, 18, 19, 3, 4, 5, 6, 7, 8, 5.4.1.1, APO01.06, APO11.04, APO12.06, BAI03.05, BAI08.02, DSS02.02, DSS02.04, DSS02.07, DSS03.01, DSS05.04, DSS05.07, DSS06.02, MEA02.01, 3.3.1, CCI-000162, CCI-000163, CCI-000164, CCI-001314, 4.2.3.10, 4.3.3.3.9, 4.3.3.5.8, 4.3.3.7.3, 4.3.4.4.7, 4.3.4.5.6, 4.3.4.5.7, 4.3.4.5.8, 4.4.2.1, 4.4.2.2, 4.4.2.4, SR 2.1, SR 2.10, SR 2.11, SR 2.12, SR 2.8, SR 2.9, SR 5.2, SR 6.1, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.12.4.1, A.12.4.2, A.12.4.3, A.12.4.4, A.12.7.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.16.1.4, A.16.1.5, A.16.1.7, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-6(a), AC-6(1), AU-9(4), DE.AE-3, DE.AE-5, PR.AC-4, PR.DS-5, PR.PT-1, RS.AN-1, RS.AN-4, Req-10.5.1, SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029, SRG-OS-000206-GPOS-00084, UBTU-22-653055, 4.1.4.3, 10.3.2 |
Description | All audit logs must be group owned by root user. The path for audit log can
be configured via /etc/audit/auditd.confor, by default, the path for audit log is /var/log/audit/. To properly set the group owner of /var/log/audit/* , run the command:
$ sudo chgrp root /var/log/audit/*If log_group in /etc/audit/auditd.conf is set to a group other
than the root group account, change the group ownership of the audit logs
to this specific group. |
Rationale | Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. |
Audit Configuration Files Must Be Owned By Group root
Rule ID | xccdf_org.ssgproject.content_rule_file_groupownership_audit_configuration |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | References: CCI-000171, SRG-OS-000063-GPOS-00032, UBTU-22-653075, 4.1.4.7 |
Description | All audit configuration files must be owned by group root. chown :root /etc/audit/audit*.{rules,conf} /etc/audit/rules.d/* |
Rationale | Without the capability to restrict which roles and individuals can select which events are audited, unauthorized personnel may be able to prevent the auditing of critical events. Misconfigured audits may degrade the system's performance by overwhelming the audit log. Misconfigured audits may also make it more difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. |
Audit Configuration Files Must Be Owned By Root
Rule ID | xccdf_org.ssgproject.content_rule_file_ownership_audit_configuration |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | References: CCI-000171, SRG-OS-000063-GPOS-00032, UBTU-22-653070, 4.1.4.6 |
Description | All audit configuration files must be owned by root user.
To properly set the owner of $ sudo chown root /etc/audit/To properly set the owner of /etc/audit/rules.d/ , run the command:
$ sudo chown root /etc/audit/rules.d/ |
Rationale | Without the capability to restrict which roles and individuals can select which events are audited, unauthorized personnel may be able to prevent the auditing of critical events. Misconfigured audits may degrade the system's performance by overwhelming the audit log. Misconfigured audits may also make it more difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. |
System Audit Logs Must Be Owned By Root
Rule ID | xccdf_org.ssgproject.content_rule_file_ownership_var_log_audit_stig |
Result | notapplicable |
Time | 2025-05-13T15:26:36 |
Severity | medium |
Identifiers and References | References: 1, 11, 12, 13, 14, 15, 16, 18, 19, 3, 4, 5, 6, 7, 8, 5.4.1.1, APO01.06, APO11.04, APO12.06, BAI03.05, BAI08.02, DSS02.02, DSS02.04, DSS02.07, DSS03.01, DSS05.04, DSS05.07, DSS06.02, MEA02.01, 3.3.1, CCI-000162, CCI-000163, CCI-000164, CCI-001314, 4.2.3.10, 4.3.3.3.9, 4.3.3.5.8, 4.3.3.7.3, 4.3.4.4.7, 4.3.4.5.6, 4.3.4.5.7, 4.3.4.5.8, 4.4.2.1, 4.4.2.2, 4.4.2.4, SR 2.1, SR 2.10, SR 2.11, SR 2.12, SR 2.8, SR 2.9, SR 5.2, SR 6.1, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.12.4.1, A.12.4.2, A.12.4.3, A.12.4.4, A.12.7.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.16.1.4, A.16.1.5, A.16.1.7, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CM-6(a), AC-6(1), AU-9(4), DE.AE-3, DE.AE-5, PR.AC-4, PR.DS-5, PR.PT-1, RS.AN-1, RS.AN-4, Req-10.5.1, SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029, SRG-OS-000206-GPOS-00084, UBTU-22-653050, 4.1.4.2 |
Description | All audit logs must be owned by root user. The path for audit log can be
configured via /etc/audit/auditd.confor by default, the path for audit log is /var/log/audit/. To properly set the owner of /var/log/audit/* , run the command:
$ sudo chown root /var/log/audit/* |
Rationale | Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. |