From ee580fbd90f0c46dbea07f075cfb447345b92c22 Mon Sep 17 00:00:00 2001 From: Automated Publisher Date: Wed, 8 Nov 2023 00:07:09 +0000 Subject: [PATCH] Automated publish: Wed Nov 8 00:07:09 UTC 2023 886421e9628d93ca85f7c339b0b746911b78a625 --- ssg-rhel8-ds-1.2.xml | 7206 +++--- ssg-rhel8-ds.xml | 7206 +++--- ssg-rhel8-guide-stig.html | 2 +- table-rhel8-srgmap-flat.html | 41886 ++++++++++++++++----------------- 4 files changed, 28150 insertions(+), 28150 deletions(-) diff --git a/ssg-rhel8-ds-1.2.xml b/ssg-rhel8-ds-1.2.xml index f1d06e1..c19ce73 100644 --- a/ssg-rhel8-ds-1.2.xml +++ b/ssg-rhel8-ds-1.2.xml @@ -23,7 +23,7 @@ - + Red Hat Enterprise Linux 8 @@ -75,9 +75,9 @@ - + - draft + draft Guide to the Secure Configuration of Red Hat Enterprise Linux 8 This guide presents a catalog of security-relevant configuration settings for Red Hat Enterprise Linux 8. It is a rendering of @@ -842,246 +842,246 @@ ANSSI-BP-028 is a configuration recommendation for GNU/Linux systems. A copy of the ANSSI-BP-028 can be found at the ANSSI website: https://www.ssi.gouv.fr/administration/guide/recommandations-de-securite-relatives-a-un-systeme-gnulinux/ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + - - - - - - - + + - - - - - - - - - - - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + - - - - - - - - - - - - - + + + + + + - - - - - - - - + + - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + + + @@ -1312,320 +1312,320 @@ ANSSI-BP-028 is a configuration recommendation for GNU/Linux systems. A copy of the ANSSI-BP-028 can be found at the ANSSI website: https://www.ssi.gouv.fr/administration/guide/recommandations-de-securite-relatives-a-un-systeme-gnulinux/ - - - - - - - - - - - - - - - - + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - + + + + - - - - - - - - - - - + + + + + - - - - + + + - - + + + + + + + + + - - + - - - - - - - - - - - - - - + + + + + - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + - - - - - - - - - + + - - - - - - + + - - + + + + + + + + + - - + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + - - - - - + + + + + + + + - + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1858,175 +1858,175 @@ ANSSI-BP-028 is a configuration recommendation for GNU/Linux systems. A copy of the ANSSI-BP-028 can be found at the ANSSI website: https://www.ssi.gouv.fr/administration/guide/recommandations-de-securite-relatives-a-un-systeme-gnulinux/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - + + - - - - - - - - - - - - - + - - - - - - - - + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - + + - - - - - - + + + + - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2267,53 +2267,53 @@ ANSSI-BP-028 is a configuration recommendation for GNU/Linux systems. A copy of the ANSSI-BP-028 can be found at the ANSSI website: https://www.ssi.gouv.fr/administration/guide/recommandations-de-securite-relatives-a-un-systeme-gnulinux/ - - - + + + + + - - - + + + + + + + + + + - - - - - + - - - - - - - + - - - - + + + + + + - - - + + + + - - - - - - + - - - - - - + + + + + + + + + @@ -2567,365 +2567,365 @@ Linux 8 Benchmark™, v2.0.0, released 2022-02-23. This profile includes Center for Internet Security® Red Hat Enterprise Linux 8 CIS Benchmarks™ content. https://www.cisecurity.org/benchmark/red_hat_linux/ - - - - - - - - + + + + + + - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + - - - - - + + + + - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - - + - - - - - + - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3130,289 +3130,289 @@ Linux 8 Benchmark™, v2.0.0, released 2022-02-23. This profile includes Center for Internet Security® Red Hat Enterprise Linux 8 CIS Benchmarks™ content. https://www.cisecurity.org/benchmark/red_hat_linux/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + - - - - - - - + + - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - + + + + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + + + + - - - - + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + - - - - + + + + - - - - - - - - + + + + + + + + + + + + + + + + - - + + + + + + + - - - - - + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + - + + + + + @@ -3623,282 +3623,282 @@ Linux 8 Benchmark™, v2.0.0, released 2022-02-23. This profile includes Center for Internet Security® Red Hat Enterprise Linux 8 CIS Benchmarks™ content. https://www.cisecurity.org/benchmark/red_hat_linux/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + - - - - - - - + + - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - + + + + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + + + + - - - - + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + - + + + + + @@ -4111,366 +4111,366 @@ Red Hat Enterprise Linux 8 CIS Benchmarks™ content.CIS Red Hat Enterprise Linux 8 Benchmark for Level 2 - Workstation This profile defines a baseline that aligns to the "Level 2 - Workstation" configuration from the Center for Internet Security® Red Hat Enterprise -Linux 8 Benchmark™, v2.0.0, released 2022-02-23. - -This profile includes Center for Internet Security® -Red Hat Enterprise Linux 8 CIS Benchmarks™ content. - https://www.cisecurity.org/benchmark/red_hat_linux/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Linux 8 Benchmark™, v2.0.0, released 2022-02-23. + +This profile includes Center for Internet Security® +Red Hat Enterprise Linux 8 CIS Benchmarks™ content. + https://www.cisecurity.org/benchmark/red_hat_linux/ + + - - - - - - + + + + - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - + - - - - - + - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4679,111 +4679,111 @@ Policy Resource Center: https://www.fbi.gov/services/cjis/cjis-security-policy-resource-center https://www.fbi.gov/services/cjis/cjis-security-policy-resource-center - - - - - - - - - - - - - - - - - - + - - + - - - - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + - - - - + + + + + + + + + + + + + + + + + - + + - - - - - - + + + + + + + - - - - - - - - - + + + + + + + + - - - - - - - + + + - - - - - - - - - - - + + + - - - + + + @@ -5030,216 +5030,216 @@ in NIST Special Publication 800-53. This profile configures Red Hat Enterprise Linux 8 to the NIST Special Publication 800-53 controls identified for securing Controlled Unclassified Information (CUI)." - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + - - - + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + - - - + + - - - - - - - - - - - - - - + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - + + + + + + - + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - - - - - - - - + + + + + + - - - - - + + + @@ -5472,104 +5472,104 @@ ACSC website: https://www.cyber.gov.au/acsc/view-all-content/publications/hardening-linux-workstations-and-servers https://www.cyber.gov.au/acsc/view-all-content/publications/hardening-linux-workstations-and-servers - - - - - - - - - + - + - - - - - - - - + + + - - - + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + - + - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5795,143 +5795,143 @@ This profile configures Red Hat Enterprise Linux 8 to the HIPAA Security Rule identified for securing of electronic protected health information. Use of this profile in no way guarantees or makes claims against legal compliance against the HIPAA Security Rule(s). https://www.hhs.gov/hipaa/for-professionals/index.html - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - + + + + + + + - - - - - - + + - - - - - - - - - - - - - - - - - - - - - + - + + + + - - - + - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - + - + + + + - - - - + + + + - + + + + + + - - - - - - + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + - + + + + + + + + + + + + + - - - - - - + + + + + + + + + + - - + + + + + + + + + + + + + + + + + - - - - - - + - - - - - - - - - - @@ -6153,157 +6153,157 @@ A copy of the ISM can be found at the ACSC website: https://www.cyber.gov.au/ism https://www.cyber.gov.au/ism - - - - - - - - - - - - - - - - - - - + - - - + - - - - - - - - - - + + + + - - - + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + - - - + + + + + + + + - - - + + + + + + + - - - - - - - + + + + + + + + + + + + + - - - + + + + + + + + + + - - - - - - - + + - + + + + + + + - - - - + + + + + + + + + - - - - + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + + + + + + - + + - - - + - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - + + + + + + + + @@ -6510,216 +6510,216 @@ U.S. National Security Systems to adhere to certain configuration parameters. Accordingly, this configuration profile is suitable for use in U.S. National Security Systems. https://www.niap-ccevs.org/Profile/Info.cfm?PPID=442&id=442 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + - - - + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + - - - + + - - - - - - - - - - - - - - + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - + + + + + + - + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - - - - - - - - + + + + + + - - - - - + + + @@ -6945,131 +6945,131 @@ use in U.S. National Security Systems. PCI-DSS v3.2.1 Control Baseline for Red Hat Enterprise Linux 8 Ensures PCI-DSS v3.2.1 security configuration settings are applied. https://www.pcisecuritystandards.org/documents/PCI_DSS_v3-2-1.pdf - - - - - - - - - - - - - - - - - - - - - + + + - - + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + - - + + + + + + + + - - - + + + + + - - - - - - - - + - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + - - - + + + + + + - + + + + - - - - - + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + - + + + + + + + @@ -7295,77 +7295,77 @@ use in U.S. National Security Systems. configuration settings recommended by Red Hat, Inc for Red Hat Enterprise Linux 8 instances deployed by Red Hat Certified Cloud Providers. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + + + + + - - - - + - - - - - - - - - + + + - + + + + - + + + + - - - - - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7605,85 +7605,85 @@ Cloud Providers. This profile contains rules to ensure standard security baseline of a Red Hat Enterprise Linux 8 system. Regardless of your system's workload all of these checks should pass. - - - - + + + + + + - - - - - - + + + + + + + + + - - - - - - - - - - - - - - + + + + + + - - + + + + + + - - - - - - + + + + + + + + + + + + + - - + + - - - - - - - - - - - + + + + + + + - - - - - - - + + + - - - + + + + + + + + + + + + - - - - + - - - - - - @@ -7922,409 +7922,409 @@ Red Hat technologies that are based on Red Hat Enterprise Linux 8, such as: - Red Hat Storage - Red Hat Containers with a Red Hat Enterprise Linux 8 image https://public.cyber.mil/stigs/downloads/?_dl_facet_stigs=operating-systems%2Cunix-linux - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + - - - - - - - - - + - - + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - + + - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - + + + + + - - - + + + - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + - - - - - - - - + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8546,406 +8546,406 @@ your Information Systems Security Officer (ISSO) lacks a documented operational requirement for a graphical user interface, please consider using the standard DISA STIG for Red Hat Enterprise Linux 8 profile. https://public.cyber.mil/stigs/downloads/?_dl_facet_stigs=operating-systems%2Cunix-linux - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + - - - - - - - - - + - - + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - + + - - + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - + + + + + - - - + + + - - - - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - + + + + + - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + + + + + + + + + - - - - - - - - - - - + + + + + + - - - - - - - - + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -280133,13 +280133,13 @@ which the system will be deployed as closely as possible. - + combine_ovals.py from SCAP Security Guide ssg: [0, 1, 71], python: 3.10.12 5.11 - 2023-11-07T00:07:48 + 2023-11-08T00:06:20 @@ -345486,13 +345486,13 @@ which the system will be deployed as closely as possible. - + build_shorthand.py from SCAP Security Guide ssg: 0.1.71 2.0 - 2023-11-07T00:08:08 + 2023-11-08T00:06:40 @@ -381102,13 +381102,13 @@ $ rpm -q abrt-addon-ccpp - + combine_ovals.py from SCAP Security Guide ssg: [0, 1, 71], python: 3.10.12 5.11 - 2023-11-07T00:07:59 + 2023-11-08T00:06:20 diff --git a/ssg-rhel8-ds.xml b/ssg-rhel8-ds.xml index 721d8b1..cf5f26e 100644 --- a/ssg-rhel8-ds.xml +++ b/ssg-rhel8-ds.xml @@ -25,7 +25,7 @@ - + Red Hat Enterprise Linux 8 @@ -77,9 +77,9 @@ - + - draft + draft Guide to the Secure Configuration of Red Hat Enterprise Linux 8 This guide presents a catalog of security-relevant configuration settings for Red Hat Enterprise Linux 8. It is a rendering of @@ -844,246 +844,246 @@ ANSSI-BP-028 is a configuration recommendation for GNU/Linux systems. A copy of the ANSSI-BP-028 can be found at the ANSSI website: https://www.ssi.gouv.fr/administration/guide/recommandations-de-securite-relatives-a-un-systeme-gnulinux/ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + - - - - - - - + + - - - - - - - - - - - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + - - - - - - - - - - - - - + + + + + + - - - - - - - - + + - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + + + @@ -1314,320 +1314,320 @@ ANSSI-BP-028 is a configuration recommendation for GNU/Linux systems. A copy of the ANSSI-BP-028 can be found at the ANSSI website: https://www.ssi.gouv.fr/administration/guide/recommandations-de-securite-relatives-a-un-systeme-gnulinux/ - - - - - - - - - - - - - - - - + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - + + + + - - - - - - - - - - - + + + + + - - - - + + + - - + + + + + + + + + - - + - - - - - - - - - - - - - - + + + + + - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + - - - - - - - - - + + - - - - - - + + - - + + + + + + + + + - - + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + - - - - - + + + + + + + + - + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1860,175 +1860,175 @@ ANSSI-BP-028 is a configuration recommendation for GNU/Linux systems. A copy of the ANSSI-BP-028 can be found at the ANSSI website: https://www.ssi.gouv.fr/administration/guide/recommandations-de-securite-relatives-a-un-systeme-gnulinux/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - + + - - - - - - - - - - - - - + - - - - - - - - + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - + + - - - - - - + + + + - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2269,53 +2269,53 @@ ANSSI-BP-028 is a configuration recommendation for GNU/Linux systems. A copy of the ANSSI-BP-028 can be found at the ANSSI website: https://www.ssi.gouv.fr/administration/guide/recommandations-de-securite-relatives-a-un-systeme-gnulinux/ - - - + + + + + - - - + + + + + + + + + + - - - - - + - - - - - - - + - - - - + + + + + + - - - + + + + - - - - - - + - - - - - - + + + + + + + + + @@ -2569,365 +2569,365 @@ Linux 8 Benchmark™, v2.0.0, released 2022-02-23. This profile includes Center for Internet Security® Red Hat Enterprise Linux 8 CIS Benchmarks™ content. https://www.cisecurity.org/benchmark/red_hat_linux/ - - - - - - - - + + + + + + - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + - - - - - + + + + - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - - + - - - - - + - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3132,289 +3132,289 @@ Linux 8 Benchmark™, v2.0.0, released 2022-02-23. This profile includes Center for Internet Security® Red Hat Enterprise Linux 8 CIS Benchmarks™ content. https://www.cisecurity.org/benchmark/red_hat_linux/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + - - - - - - - + + - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - + + + + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + + + + - - - - + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + - - - - + + + + - - - - - - - - + + + + + + + + + + + + + + + + - - + + + + + + + - - - - - + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + - + + + + + @@ -3625,282 +3625,282 @@ Linux 8 Benchmark™, v2.0.0, released 2022-02-23. This profile includes Center for Internet Security® Red Hat Enterprise Linux 8 CIS Benchmarks™ content. https://www.cisecurity.org/benchmark/red_hat_linux/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + - - - - - - - + + - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - + + + + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + + + + - - - - + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + - + + + + + @@ -4113,366 +4113,366 @@ Red Hat Enterprise Linux 8 CIS Benchmarks™ content.CIS Red Hat Enterprise Linux 8 Benchmark for Level 2 - Workstation This profile defines a baseline that aligns to the "Level 2 - Workstation" configuration from the Center for Internet Security® Red Hat Enterprise -Linux 8 Benchmark™, v2.0.0, released 2022-02-23. - -This profile includes Center for Internet Security® -Red Hat Enterprise Linux 8 CIS Benchmarks™ content. - https://www.cisecurity.org/benchmark/red_hat_linux/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Linux 8 Benchmark™, v2.0.0, released 2022-02-23. + +This profile includes Center for Internet Security® +Red Hat Enterprise Linux 8 CIS Benchmarks™ content. + https://www.cisecurity.org/benchmark/red_hat_linux/ + + - - - - - - + + + + - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - + - - - - - + - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4681,111 +4681,111 @@ Policy Resource Center: https://www.fbi.gov/services/cjis/cjis-security-policy-resource-center https://www.fbi.gov/services/cjis/cjis-security-policy-resource-center - - - - - - - - - - - - - - - - - - + - - + - - - - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + - - - - + + + + + + + + + + + + + + + + + - + + - - - - - - + + + + + + + - - - - - - - - - + + + + + + + + - - - - - - - + + + - - - - - - - - - - - + + + - - - + + + @@ -5032,216 +5032,216 @@ in NIST Special Publication 800-53. This profile configures Red Hat Enterprise Linux 8 to the NIST Special Publication 800-53 controls identified for securing Controlled Unclassified Information (CUI)." - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + - - - + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + - - - + + - - - - - - - - - - - - - - + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - + + + + + + - + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - - - - - - - - + + + + + + - - - - - + + + @@ -5474,104 +5474,104 @@ ACSC website: https://www.cyber.gov.au/acsc/view-all-content/publications/hardening-linux-workstations-and-servers https://www.cyber.gov.au/acsc/view-all-content/publications/hardening-linux-workstations-and-servers - - - - - - - - - + - + - - - - - - - - + + + - - - + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + - + - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5797,143 +5797,143 @@ This profile configures Red Hat Enterprise Linux 8 to the HIPAA Security Rule identified for securing of electronic protected health information. Use of this profile in no way guarantees or makes claims against legal compliance against the HIPAA Security Rule(s). https://www.hhs.gov/hipaa/for-professionals/index.html - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - + + + + + + + - - - - - - + + - - - - - - - - - - - - - - - - - - - - - + - + + + + - - - + - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - + - + + + + - - - - + + + + - + + + + + + - - - - - - + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + - + + + + + + + + + + + + + - - - - - - + + + + + + + + + + - - + + + + + + + + + + + + + + + + + - - - - - - + - - - - - - - - - - @@ -6155,157 +6155,157 @@ A copy of the ISM can be found at the ACSC website: https://www.cyber.gov.au/ism https://www.cyber.gov.au/ism - - - - - - - - - - - - - - - - - - - + - - - + - - - - - - - - - - + + + + - - - + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + - - - + + + + + + + + - - - + + + + + + + - - - - - - - + + + + + + + + + + + + + - - - + + + + + + + + + + - - - - - - - + + - + + + + + + + - - - - + + + + + + + + + - - - - + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + + + + + + - + + - - - + - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - + + + + + + + + @@ -6512,216 +6512,216 @@ U.S. National Security Systems to adhere to certain configuration parameters. Accordingly, this configuration profile is suitable for use in U.S. National Security Systems. https://www.niap-ccevs.org/Profile/Info.cfm?PPID=442&id=442 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + - - - + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + - - - + + - - - - - - - - - - - - - - + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - + + + + + + - + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - - - - - - - - + + + + + + - - - - - + + + @@ -6947,131 +6947,131 @@ use in U.S. National Security Systems. PCI-DSS v3.2.1 Control Baseline for Red Hat Enterprise Linux 8 Ensures PCI-DSS v3.2.1 security configuration settings are applied. https://www.pcisecuritystandards.org/documents/PCI_DSS_v3-2-1.pdf - - - - - - - - - - - - - - - - - - - - - + + + - - + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + - - + + + + + + + + - - - + + + + + - - - - - - - - + - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + - - - + + + + + + - + + + + - - - - - + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + - + + + + + + + @@ -7297,77 +7297,77 @@ use in U.S. National Security Systems. configuration settings recommended by Red Hat, Inc for Red Hat Enterprise Linux 8 instances deployed by Red Hat Certified Cloud Providers. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + + + + + - - - - + - - - - - - - - - + + + - + + + + - + + + + - - - - - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7607,85 +7607,85 @@ Cloud Providers. This profile contains rules to ensure standard security baseline of a Red Hat Enterprise Linux 8 system. Regardless of your system's workload all of these checks should pass. - - - - + + + + + + - - - - - - + + + + + + + + + - - - - - - - - - - - - - - + + + + + + - - + + + + + + - - - - - - + + + + + + + + + + + + + - - + + - - - - - - - - - - - + + + + + + + - - - - - - - + + + - - - + + + + + + + + + + + + - - - - + - - - - - - @@ -7924,409 +7924,409 @@ Red Hat technologies that are based on Red Hat Enterprise Linux 8, such as: - Red Hat Storage - Red Hat Containers with a Red Hat Enterprise Linux 8 image https://public.cyber.mil/stigs/downloads/?_dl_facet_stigs=operating-systems%2Cunix-linux - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + - - - - - - - - - + - - + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - + + - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - + + + + + - - - + + + - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + - - - - - - - - + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8548,406 +8548,406 @@ your Information Systems Security Officer (ISSO) lacks a documented operational requirement for a graphical user interface, please consider using the standard DISA STIG for Red Hat Enterprise Linux 8 profile. https://public.cyber.mil/stigs/downloads/?_dl_facet_stigs=operating-systems%2Cunix-linux - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + - - - - - - - - - + - - + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - + + - - + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - + + + + + - - - + + + - - - - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - + + + + + - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + + + + + + + + + - - - - - - - - - - - + + + + + + - - - - - - - - + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -280135,13 +280135,13 @@ which the system will be deployed as closely as possible. - + combine_ovals.py from SCAP Security Guide ssg: [0, 1, 71], python: 3.10.12 5.11 - 2023-11-07T00:07:48 + 2023-11-08T00:06:20 @@ -345488,13 +345488,13 @@ which the system will be deployed as closely as possible. - + build_shorthand.py from SCAP Security Guide ssg: 0.1.71 2.0 - 2023-11-07T00:08:08 + 2023-11-08T00:06:40 @@ -381104,13 +381104,13 @@ $ rpm -q abrt-addon-ccpp - + combine_ovals.py from SCAP Security Guide ssg: [0, 1, 71], python: 3.10.12 5.11 - 2023-11-07T00:07:59 + 2023-11-08T00:06:20 diff --git a/ssg-rhel8-guide-stig.html b/ssg-rhel8-guide-stig.html index 6b1a345..bc2ba01 100644 --- a/ssg-rhel8-guide-stig.html +++ b/ssg-rhel8-guide-stig.html @@ -64,7 +64,7 @@ other parties, and makes no guarantees, expressed or implied, about its quality, reliability, or any other characteristic.

Profile Information

Profile TitleDISA STIG for Red Hat Enterprise Linux 8
Profile IDxccdf_org.ssgproject.content_profile_stig

CPE Platforms

  • cpe:/o:redhat:enterprise_linux:8.0
  • cpe:/o:redhat:enterprise_linux:8.1
  • cpe:/o:redhat:enterprise_linux:8.10
  • cpe:/o:redhat:enterprise_linux:8.2
  • cpe:/o:redhat:enterprise_linux:8.3
  • cpe:/o:redhat:enterprise_linux:8.4
  • cpe:/o:redhat:enterprise_linux:8.5
  • cpe:/o:redhat:enterprise_linux:8.6
  • cpe:/o:redhat:enterprise_linux:8.7
  • cpe:/o:redhat:enterprise_linux:8.8
  • cpe:/o:redhat:enterprise_linux:8.9
  • cpe:/o:redhat:enterprise_linux:8

Revision History

Current version: 0.1.71

  • draft - (as of 2023-11-07) + (as of 2023-11-08)

Table of Contents

  1. System Settings
    1. Installing and Maintaining Software
    2. Account and Access Control
    3. System Accounting with auditd
    4. GRUB2 bootloader configuration
    5. Configure Syslog
    6. Network Configuration and Firewalls
    7. File Permissions and Masks
    8. SELinux
  2. Services
    1. Base Services
    2. Application Whitelisting Daemon
    3. FTP Server
    4. Kerberos
    5. Mail Server Software
    6. NFS and RPC
    7. Network Time Protocol
    8. Obsolete Services
    9. Hardware RNG Entropy Gatherer Daemon
    10. SSH Server
    11. System Security Services Daemon
    12. USBGuard daemon
    13. X Window System

Checklist

- + +
-w /etc/sudoers.d/ -p wa -k actions
- +-w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/sudoers.d/ -p wa -k actions
@@ -193,7 +193,7 @@ - + +
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
- +-w /etc/gshadow -p wa -k identity + +If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? +
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
@@ -299,7 +301,7 @@ - + +
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
- +-w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
@@ -354,7 +354,7 @@ - + +
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
- +-w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+ + + + + + + + + + + + + + + + + + + + + @@ -454,51 +499,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -510,32 +510,39 @@ - + - +depending on the OS version. + +The chosen profile expects the directory to be . - + - +depending on the OS version. + +The chosen profile expects the directory to be . @@ -548,52 +555,31 @@ - + - + - - - +unconfined_u:object_r:faillog_t:s0 /var/log/faillock Is it the case that the security context type of the non-default tally directory is not "faillog_t"? + + @@ -606,19 +592,32 @@ - + - + - + - + @@ -631,31 +630,32 @@ - + - + - +
$ grep even_deny_root /etc/security/faillock.conf
+even_deny_root Is it the case that the "even_deny_root" option is not set, is missing or commented out? - + @@ -713,39 +713,77 @@ - + - + + + + + + + + + + + + + + + + + + + + + +If unlock_time is set to 0, manual intervention by an administrator is required +to unlock a user. This should be done using the faillock tool. - + - +If unlock_time is set to 0, manual intervention by an administrator is required +to unlock a user. This should be done using the faillock tool. @@ -805,48 +843,118 @@ + + + + + - - + + - + - + - - +System use notifications are required only for access via logon interfaces with human users and are not required when such human interfaces do not exist. + +The banner must be formatted in accordance with applicable DoD policy. Use the following verbiage for operating systems that can accommodate banners of 1300 characters: + +"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. + +By using this IS (which includes any device attached to this IS), you consent to the following conditions: + +-The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. + +-At any time, the USG may inspect and seize data stored on this IS. + +-Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. + +-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. + +-Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." + +Use the following verbiage for operating systems that have severe limitations on the number of characters that can be displayed in the banner: + +"I've readconsent to terms in IS user agreem't." + - - - - - - - - - +By using this IS (which includes any device attached to this IS), you consent to the following conditions: + +-The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. + +-At any time, the USG may inspect and seize data stored on this IS. + +-Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. + +-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. + +-Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." + +Use the following verbiage for operating systems that have severe limitations on the number of characters that can be displayed in the banner: + +"I've read & consent to terms in IS user agreem't." + +If it does not, this is a finding. + + + + + + + + @@ -999,114 +1107,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -1434,45 +1434,39 @@ - + - + - +
$ sudo ls -al /etc/tmux.conf
Is it the case that the "lock-command" is not set in the global settings to call "vlock"? - + @@ -1485,49 +1479,38 @@ - + - + - + - - + + @@ -1571,82 +1554,48 @@ - - - - - - - - - - - - - - - - - - - - - - + - + - + - + @@ -1745,84 +1694,95 @@ + + + + + + + + + + + + + - - - - +Review the tmux script by using the following example: - +
$ cat /etc/profile.d/tmux.sh
 
-    
- - - - - - +If the shell file is not configured as the example above, is commented out, or is missing, this is a finding. + +Determine if tmux is currently running with the following command: + +
$ sudo ps all | grep tmux | grep -v grep
Is it the case that the command does not produce output? + + + + + + + - + - + - + - + @@ -1865,45 +1825,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -1940,105 +1861,78 @@ + + + + + + + + + + + + + + + + + + - - + + - + - + - - - - - - - - - - - - - - - - - - - - - - - + - - - - + + + @@ -2046,31 +1940,49 @@ + + + + + - + - + - + - - + + @@ -2123,37 +2035,76 @@ - + - + - + + + + + + + -
$ grep lock-command /etc/tmux.conf
+ + + + + -
set -g lock-command vlock
+ -Then, verify that the /etc/tmux.conf file can be read by other users than root: + +The session lock is implemented at the point where session activity can be determined. Rather than be forced to wait for a period of time to expire before the user session can be locked, operating systems need to provide users with the ability to manually invoke a session lock so users may secure their session should the need arise for them to temporarily vacate the immediate physical vicinity. + + + + - + @@ -2248,29 +2199,22 @@ - - - - - - - + + - + - +The session lock is implemented at the point where session activity can be determined. Rather than be forced to wait for a period of time to expire before the user session can be locked, operating systems need to provide users with the ability to manually invoke a session lock so users may secure their session should the need arise for them to temporarily vacate the immediate physical vicinity. - + - + @@ -2304,44 +2248,46 @@ + + + + + - + - + - + - + @@ -2354,32 +2300,31 @@ - + - - + - @@ -2393,31 +2338,31 @@ - + - +/org/gnome/desktop/session/idle-delay Is it the case that idle-delay is not locked? - @@ -2431,35 +2376,89 @@ - + - + - + + + + + + + -Check the value of the system inactivity timeout with the following command: + + + + + -
$ grep -i lock-after-time /etc/tmux.conf
+ -
set -g lock-after-time 900
+ +Publicly viewable images can include static or dynamic images, for example, patterns used with screen savers, photographic images, solid colors, a clock, a battery life indicator, or a blank screen, with the additional caveat that none of the images convey sensitive information. + + + + - + @@ -2472,31 +2471,32 @@ - + - - + - @@ -2616,48 +2616,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -2749,94 +2707,52 @@ - - - - - - - + + - + - + - - + +To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot +parameters during system installation so key generation is done with FIPS-approved algorithms +and continuous monitoring tests in place. - - + + + + + + + + -The output should be the following: --a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? - - - - - - - @@ -2844,45 +2760,45 @@ - + - + - + @@ -2895,49 +2811,41 @@ - + - +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -2950,57 +2858,41 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -3013,41 +2905,41 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postqueue Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -3060,49 +2952,41 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -3115,41 +2999,45 @@ - + - + - + + - - + +Place to add the line depends on a way auditd daemon is configured. If it is configured +to use the augenrules program (the default), add the line to a file with suffix +.rules in the directory /etc/audit/rules.d. + +If the auditd daemon is configured to use the auditctl utility, +add the line to file /etc/audit/audit.rules. @@ -3162,41 +3050,41 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_update Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -3209,57 +3097,45 @@ - + - +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
- +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
@@ -3272,54 +3148,7 @@ - - - - - - - - - - - - - - - - - - - - - - + +
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_chkpwd Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -3366,7 +3195,7 @@ - + +
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
@@ -3411,22 +3240,22 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
@@ -3439,7 +3268,7 @@ - + +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
@@ -3476,18 +3306,19 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
@@ -3500,65 +3331,41 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -3571,41 +3378,78 @@ - + - +
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +$ sudo grep -r ftruncate /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep ftruncate /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? - +
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -3618,49 +3462,78 @@ - + - +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +$ sudo grep -r truncate /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep truncate /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? - +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -3673,49 +3546,100 @@ - + - + + + + + + + + + + + + + + + + + + + + + +/etc/audit/audit.rules file in order to watch for unattempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
- +-w /var/log/lastlog -p wa -k logins Is it the case that the command does not return a line, or the line is commented out? - +/etc/audit/audit.rules file in order to watch for unattempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
@@ -3728,41 +3652,41 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -k privileged Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -3775,41 +3699,139 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
@@ -3820,22 +3842,22 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
@@ -3848,41 +3870,57 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
- + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
@@ -3895,47 +3933,42 @@ - + - + - + - - + + @@ -4031,51 +4064,100 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
- + + + + + + + -$ sudo auditctl -l | grep -E '(/etc/gshadow)' + + + + + --w /etc/gshadow -p wa -k identity + -If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? + + + + + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
@@ -4088,41 +4170,49 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
- + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -4182,72 +4272,144 @@ - + - + - + + + + + + + -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: + + + + + -$ sudo grep -r creat /etc/audit/rules.d + -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + + - - + + + + + + + + + + + + + + + + + + + + + +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+ + + + + @@ -4260,49 +4422,65 @@ - + - +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
- + - +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
@@ -4315,49 +4493,72 @@ - + - +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +$ sudo grep -r creat /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep creat /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? - +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -4410,119 +4611,45 @@ - + - - - - - - - - - - - - - - - - - - - - - - +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
- + + - - +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
@@ -4535,41 +4662,19 @@ - + - + - + - + @@ -4629,7 +4734,7 @@ - + +
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-keysign Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -4676,7 +4781,7 @@ - + +
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-mount Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -4723,41 +4828,78 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +$ sudo grep -r openat /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep openat /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -4770,49 +4912,41 @@ - + - +
-w /etc/sudoers.d/ -p wa -k actions
- + - +
-w /etc/sudoers.d/ -p wa -k actions
@@ -4825,7 +4959,7 @@ - + +
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -k privileged-crontab Is it the case that the command does not return a line, or the line is commented out? - - - - - - - - - - - - - - - - - - - - - +
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -4927,7 +5006,7 @@ - + +
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-kmod Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -4974,139 +5053,51 @@ - + - - - - - - - - - - - - - - - - - - - - - - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
- - - - - - - - - - - - - - - - - - - - - - +If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
@@ -5119,7 +5110,7 @@ - + +
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -5166,45 +5157,49 @@ - + - +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -5217,7 +5212,7 @@ - + +
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/usermod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-usermod Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -5264,7 +5259,7 @@ - + +
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
@@ -5297,67 +5292,12 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
- - - - - - - - - - - - - - - - - - - - - +
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
@@ -5370,7 +5310,7 @@ - + +-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access - +-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? +-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access @@ -5454,45 +5388,57 @@ - + - - - +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
+ + - +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
@@ -5505,41 +5451,49 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
- +-w /etc/group -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
@@ -5552,7 +5506,7 @@ - + +
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postdrop Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -5603,41 +5553,49 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
- +-w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
@@ -5650,19 +5608,41 @@ - + - + - + - + @@ -5675,57 +5655,49 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
- + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
@@ -5738,49 +5710,45 @@ - + - +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
- +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
@@ -5793,7 +5761,7 @@ - + +
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -5840,45 +5808,49 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
- + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -5891,45 +5863,41 @@ - + - +/etc/audit/audit.rules file: +
-w /etc/sudoers -p wa -k actions
- + - +/etc/audit/audit.rules file: +
-w /etc/sudoers -p wa -k actions
@@ -5994,45 +5962,41 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -6045,45 +6009,41 @@ - + - + - - - +-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chage Is it the case that the command does not return a line, or the line is commented out? + + @@ -6096,45 +6056,49 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
- + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
@@ -6147,78 +6111,92 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + + + + + + + -$ sudo grep truncate /etc/audit/audit.rules + + + + + -The output should be the following: + --a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? - - + +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+ + + + + @@ -6231,41 +6209,55 @@ - + - +
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- + - +
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -6278,41 +6270,49 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
- + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -6394,41 +6394,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -6494,6 +6459,41 @@ + + + + + + + + + + + + + + + + + + + + + @@ -6641,76 +6641,88 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
- + + + + + + + -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: + + + + + -$ sudo grep -r openat /etc/audit/rules.d + -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + + + + + +-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? - +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -6723,43 +6735,39 @@ - + - + - - - +-a always,exit -F path=/usr/bin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -k privileged-userhelper Is it the case that the command does not return a line, or the line is commented out? + + @@ -6772,47 +6780,39 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -6825,55 +6825,39 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -6886,39 +6870,43 @@ - + - + - + + - - + +Place to add the line depends on a way auditd daemon is configured. If it is configured +to use the augenrules program (the default), add the line to a file with suffix +.rules in the directory /etc/audit/rules.d. + +If the auditd daemon is configured to use the auditctl utility, +add the line to file /etc/audit/audit.rules. @@ -6931,47 +6919,39 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -6984,39 +6964,43 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
- + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
@@ -7029,39 +7013,39 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_chkpwd Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -7074,55 +7058,65 @@ - + +
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
@@ -7135,39 +7129,55 @@ - + - +
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
- + - +
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
@@ -7180,7 +7190,7 @@ - + +
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-umount Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -7225,65 +7235,76 @@ - + - +
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- + - +
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -7296,53 +7317,76 @@ - + - +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- + - +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -7355,63 +7399,47 @@ - + +
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -7424,39 +7452,43 @@ - + - +/etc/audit/audit.rules file in order to watch for unattempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
- +-w /var/log/lastlog -p wa -k logins Is it the case that the command does not return a line, or the line is commented out? - +/etc/audit/audit.rules file in order to watch for unattempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
@@ -7469,47 +7501,39 @@ - + - +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -k privileged Is it the case that the command does not return a line, or the line is commented out? - +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -7522,47 +7546,39 @@ - + - +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out? - +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -7575,7 +7591,7 @@ - + +
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid>=1000 -F auid!=unset -k privileged-pam_timestamp_check Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -7620,7 +7640,7 @@ - + +
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
@@ -7663,22 +7683,22 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
@@ -7691,39 +7711,21 @@ - + - + - +
$ sudo awk -F ":" 'list[$3]++{print $1, $3}' /etc/passwd
Is it the case that output is produced and the accounts listed are interactive user accounts? - + @@ -7736,76 +7738,132 @@ - - - - - - - - - - - - - - - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
- + + + + + + + -$ sudo auditctl -l | grep -E '(/etc/gshadow)' + + + + + --w /etc/gshadow -p wa -k identity + -If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? + + + + + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
@@ -7923,7 +8028,60 @@ - + + + + + + + + + + + + + + + + + + + + + + +
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -k privileged-su Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -7968,7 +8126,106 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -k privileged-sudo Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+ + + + + + + + + + + + + + + + + + + + + @@ -8089,47 +8415,88 @@ - + - - - - +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
+ + + - + + + + + + + + + + + + + + + + +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+ + + + + @@ -8142,47 +8509,39 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-keysign Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -8240,7 +8599,7 @@ - + +-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access - +-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? +-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access @@ -8316,39 +8681,39 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-w /etc/sudoers.d/ -p wa -k actions
- +-w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-w /etc/sudoers.d/ -p wa -k actions
@@ -8361,7 +8726,7 @@ - + +
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -k privileged-crontab Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -8406,7 +8771,7 @@ - + +
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-kmod Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -8451,39 +8816,49 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
- +-w /etc/gshadow -p wa -k identity + +If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
@@ -8496,39 +8871,39 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -8639,47 +9014,43 @@ - + - +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
- +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
@@ -8692,39 +9063,70 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +$ sudo grep -r open_by_handle_at /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep open_by_handle_at /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -8737,39 +9139,55 @@ - + - +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
- + - +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
@@ -8782,43 +9200,47 @@ - + - + - - - +-w /etc/group -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? + + @@ -8831,7 +9253,7 @@ - + +
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postdrop Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -8876,88 +9298,47 @@ - + - +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
- +-w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? - - - - - - - - - - - - - - - - - - - - - - +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
@@ -9015,43 +9396,96 @@ - + - + + + + + + + + + + + + + + + + + + + + + +
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
- +
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
@@ -9064,21 +9498,39 @@ - + - + - +-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out? - + @@ -9091,7 +9543,7 @@ - + +
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -9123,15 +9575,15 @@ use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -9144,77 +9596,90 @@ - + - +
-w /etc/sudoers -p wa -k actions
- + + + + + + + -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + + + + + -$ sudo grep ftruncate /etc/audit/audit.rules + -The output should be the following: + +At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise. + + + + - - + + @@ -9226,43 +9691,39 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -9275,7 +9736,7 @@ - + +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chage Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -9320,43 +9781,47 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
- +-w /etc/shadow -p wa -k identity Is it the case that command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
@@ -9369,7 +9834,7 @@ - + +
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chsh Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -9414,7 +9879,56 @@ - + + + + + + + + + + + + + + + + + + + + + + +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -9450,19 +9963,18 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -9522,94 +10034,43 @@ - - - - - - - - - - - - - - - - - - - - + - + - + - +At a minimum, the organization must audit the individual identities of group users. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the actual account involved in the activity. + - - + + + - - +The auditd service can be enabled with the following command: +
$ sudo systemctl enable auditd.service
@@ -9618,146 +10079,94 @@ - + - + - + - +At a minimum, the organization must audit the individual identities of group users. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the actual account involved in the activity. + - - - - + + + + + + + + + - - + + - + - + - - +Audit processing failures include software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded. + +This requirement applies to each audit data storage repository (i.e., distinct information system component where audit records are stored), the centralized audit storage capacity of organizations (i.e., all audit data storage repositories combined), or both. + - - - - - + + + + + - - + + - + - + - - +Audit processing failures include software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded. + +This requirement applies to each audit data storage repository (i.e., distinct information system component where audit records are stored), the centralized audit storage capacity of organizations (i.e., all audit data storage repositories combined), or both. + - - - - + + + + @@ -9765,465 +10174,56 @@ - - + + - - - + - -At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise. - +This requirement applies to each audit data storage repository (i.e., distinct information system component where audit records are stored), the centralized audit storage capacity of organizations (i.e., all audit data storage repositories combined), or both. + - - - - + +action_mail_acct = Is it the case that the value of the "action_mail_acct" keyword is not set to "" and/or other accounts for security personnel, the "action_mail_acct" keyword is missing, or the retuned line is commented out, ask the system administrator to indicate how they and the ISSO are notified of an audit process failure. If there is no evidence of the proper personnel being notified of an audit processing failure? + + + + + + + - - + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +If the value of the "disk_full_action" option is not "SYSLOG", "SINGLE", or "HALT", or the line is commented out, ask the system administrator to indicate how the system takes appropriate action when an audit storage volume is full. Is it the case that there is no evidence of appropriate action? @@ -10276,7 +10282,7 @@ - + - +If the value of the "disk_error_action" option is not "SYSLOG", "SINGLE", or "HALT", or the line is commented out, ask the system administrator to indicate how the system takes appropriate action when an audit process failure occurs. Is it the case that there is no evidence of appropriate action? @@ -10336,31 +10336,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -10426,6 +10401,31 @@ + + + + + + + + + + + + + + + + + + + + + @@ -10531,115 +10531,39 @@ - + - +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 directories to this specific group. - +All listed directories must be owned by the log_group or by root if the log_group is not specified. Is it the case that there is a directory owned by different group? - - - - - - - - - - - - - - + - - - - - - +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 directories to this specific group. @@ -10652,50 +10576,37 @@ - + - +To properly set the owner of /var/log/audit, run the command: +
$ sudo chown root /var/log/audit 
- +The audit log directory must be owned by "root" Is it the case that the directory is not owned by root? - +To properly set the owner of /var/log/audit, run the command: +
$ sudo chown root /var/log/audit 
@@ -10741,48 +10652,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -10838,106 +10707,11 @@ - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - + + - + - +Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit operating system activity. - + - + - - + + - + - + - + + + + + + + + + + + -Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit information system activity. + + + + + + + + + - + - + + + + + + - + - +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 directories to this specific group. - + - +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 directories to this specific group. @@ -11155,38 +10978,80 @@ - + - + - + + + + + + + + + + + + + + + + + + + + + +
log_file = /var/log/audit/audit.log
+Using the location of the audit log file, determine if the audit log is owned by "root" using the following command: +
$ sudo stat -c "%n %U" /var/log/audit/audit.log
+Audit logs must be owned by user root. +If the log_file isn't defined in /etc/audit/auditd.conf, check all files in /var/log/audit/ directory instead. Is it the case that the audit log is not owned by root? - + @@ -11250,122 +11115,25 @@ - + - +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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - + - + - + - - + + - + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + - + - +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 directories to this specific group. - + - +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 directories to this specific group. @@ -11571,38 +11394,80 @@ - + - + - + + + + + + + + + + + + + + + + + + + + + +
log_file = /var/log/audit/audit.log
+Using the location of the audit log file, determine if the audit log is owned by "root" using the following command: +
$ sudo stat -c "%n %U" /var/log/audit/audit.log
+Audit logs must be owned by user root. +If the log_file isn't defined in /etc/audit/auditd.conf, check all files in /var/log/audit/ directory instead. Is it the case that the audit log is not owned by root? - + @@ -11666,39 +11531,58 @@ - + - +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. - + +Then, check that the audit log file is owned by the correct group. +Run the following command to display the owner of the audit log file: + +
$ sudo stat -c "%n %G" log_file
+ + +The audit log file must be owned by the log_group or by root if the log_group is not specified. Is it the case that audit log files are owned by incorrect group? - +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. @@ -11711,41 +11595,157 @@ - + - + + + + + + + + + + -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 directories to this specific group. + + + + + + + + + + + -$ sudo grep -P '^[ ]*log_group[ ]+=.*$' /etc/audit/auditd.conf + + + + + -Then, check that all directories within the /var/log/audit directory are owned by the group specified as log_group or by root if the log_group is not specified. -Run the following command: + -$ sudo find /var/log/audit -type d -printf "%p %g\n" + - - + +log_file = /var/log/audit/audit.log +Configure the audit log directory to be protected from unauthorized read access by setting the +correct permissive mode with the following command: +
$ sudo chmod 0700 audit_log_directory
+By default, audit_log_directory is "/var/log/audit". + + + + + @@ -11763,7 +11763,7 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
- + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
@@ -11879,7 +11846,7 @@ - + - + - + - + @@ -11962,7 +11925,7 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -12049,7 +12004,7 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -12144,7 +12083,7 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-gpasswd Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -12223,7 +12162,7 @@ - + - + - + @@ -12310,7 +12245,7 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_update Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -12389,7 +12324,7 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
- + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
@@ -12468,7 +12407,7 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - + @@ -12563,7 +12486,7 @@ - + - +
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
- + +1) Successful and unsuccessful attempts to access, modify, or delete privileges, security objects, security levels, or categories of information (e.g., classification levels); + +2) Access actions, such as successful and unsuccessful logon attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logons from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system; + +3) All account creations, modifications, disabling, and terminations; and + +4) All kernel module load, unload, and restart actions. + + + + + + + + + + + + + + + + + + + + - +
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
@@ -12642,7 +12686,7 @@ - + +
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-umount Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -12721,7 +12765,7 @@ - + - +
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- + - +
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -12826,7 +12881,7 @@ - + - +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- + - +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -12919,7 +12997,7 @@ - + +
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -13022,7 +13084,7 @@ - + - +/etc/audit/audit.rules file in order to watch for unattempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
- +-w /var/log/lastlog -p wa -k logins Is it the case that the command does not return a line, or the line is commented out? - +/etc/audit/audit.rules file in order to watch for unattempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
@@ -13101,7 +13167,7 @@ - + - +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -k privileged Is it the case that the command does not return a line, or the line is commented out? - +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -13188,7 +13246,7 @@ - + - +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out? - +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -13275,7 +13325,7 @@ - + +
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid>=1000 -F auid!=unset -k privileged-pam_timestamp_check Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -13354,7 +13408,7 @@ - + +
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
@@ -13459,7 +13513,7 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
- + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
@@ -13538,7 +13608,7 @@ - + - + - + - - + + @@ -13738,7 +13803,7 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
- + +2) Access actions, such as successful and unsuccessful logon attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logons from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system; + +3) All account creations, modifications, disabling, and terminations; and + +4) All kernel module load, unload, and restart actions. + + + + + + + + + + + + + + + + + + + + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
@@ -13827,7 +13973,7 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
- + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -13985,7 +14139,7 @@ - + - + - + - - + + @@ -14095,7 +14223,7 @@ - + - + - + - + @@ -14182,7 +14306,7 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -k privileged-sudo Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -14269,7 +14385,7 @@ - + - + - + - - + + @@ -14341,7 +14452,7 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
- + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
@@ -14420,7 +14555,7 @@ - + +-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access - +-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? +-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access @@ -14530,7 +14665,7 @@ - + - + - +Run the following command to determine the current status of the +auditd service: +
$ sudo systemctl is-active auditd
+If the service is running, it should return the following:
active
Is it the case that the auditd service is not running? - + @@ -14609,7 +14737,7 @@ - + - + - + - + @@ -14688,7 +14820,7 @@ - + - + - + - + @@ -14767,7 +14877,7 @@ - + +
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-passwd Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -14846,7 +14956,7 @@ - + +
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-keysign Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -14925,7 +15035,7 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -15012,7 +15114,7 @@ - + - - - + + - +$ sudo grep -r openat /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep openat /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -15091,7 +15230,7 @@ - + - +
-w /etc/sudoers.d/ -p wa -k actions
- + - +
-w /etc/sudoers.d/ -p wa -k actions
@@ -15178,7 +15309,7 @@ - + +
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -k privileged-crontab Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -15257,7 +15388,7 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-kmod Is it the case that the command does not return a line, or the line is commented out? - - - - - - - - - - - - - - - - - - - - - - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -15419,7 +15467,7 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
- +-w /etc/gshadow -p wa -k identity + +If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
@@ -15498,7 +15556,7 @@ - + +
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -15577,7 +15635,7 @@ - + - +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -15660,7 +15722,7 @@ - + +
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/usermod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-usermod Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -15739,7 +15801,7 @@ - + +
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
@@ -15822,7 +15884,7 @@ - + - +
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- + - +
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -15909,7 +15994,7 @@ - + - +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
- + - +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
@@ -16025,7 +16089,7 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
- + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
@@ -16108,7 +16176,7 @@ - + +
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postdrop Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -16187,7 +16255,7 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
- +-w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
@@ -16270,7 +16342,7 @@ - + +
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -k privileged-newgrp Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -16349,7 +16421,7 @@ - + - + - + - + @@ -16414,7 +16508,7 @@ - + - + - + - + @@ -16471,7 +16591,7 @@ - + - +
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -16566,7 +16670,7 @@ - + +
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -16653,7 +16757,7 @@ - + - +
-w /etc/sudoers -p wa -k actions
- +-w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? - +
-w /etc/sudoers -p wa -k actions
@@ -16732,7 +16836,7 @@ - + - + - + - - + + @@ -16815,7 +16920,7 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -16898,7 +16999,7 @@ - + - + - + - - + + @@ -16965,7 +17064,7 @@ - + - + - + - - + + @@ -17049,7 +17143,7 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
- + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
@@ -17132,7 +17230,7 @@ - + - + - + - + @@ -17215,7 +17309,7 @@ - + +
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
@@ -17298,7 +17392,7 @@ - + - +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- + - +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -17414,7 +17485,7 @@ - + - +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
- + - - - - - - - - - - - - - - - - - - - - - - +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -17640,129 +17640,110 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + + + + + + + -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + + + + + -$ sudo grep openat /etc/audit/audit.rules + -The output should be the following: + - - + - - - - - - - - - - - - - - - - +
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
@@ -17836,108 +17817,76 @@ - + - +
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- - - - - - - - + - - - - +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: - +$ sudo grep -r ftruncate /etc/audit/rules.d - - - - - +$ sudo grep ftruncate /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? - +
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -17950,65 +17899,76 @@ - + - +
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- + - +
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -18021,53 +17981,47 @@ - + +
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -18080,7 +18034,7 @@ - + +
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
@@ -18149,65 +18105,55 @@ - + +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
@@ -18302,182 +18248,30 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -18486,15 +18280,15 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -18560,47 +18354,63 @@ - + +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
@@ -18613,7 +18423,7 @@ - + + + + + + + + + + + + + + + + + + + + + + +-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access - +-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? +-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access @@ -18695,39 +18581,123 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- + + + + + + + -$ sudo auditctl -l | grep unix_update + + + + + --a always,exit -F path=/usr/bin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_update Is it the case that the command does not return a line, or the line is commented out? + + + + + + + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -18801,7 +18771,7 @@ - + +
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -18833,15 +18803,15 @@ use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -18854,76 +18824,106 @@ - + - +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- + + + + + + + -The output should be the following: + + + + + --a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? - - -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ + +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+ + + + + @@ -19083,31 +19083,33 @@ - + - + - +Check for the use of the "pwquality" retry option in the pwquality.conf file with the following command: +
$ grep retry /etc/security/pwquality.conf
Is it the case that the value of "retry" is set to "0" or greater than "", or is missing? - + @@ -19120,33 +19122,31 @@ - + - + - - - +ucredit = -1 Is it the case that the value of "ucredit" is a positive number or is commented out? + + @@ -19196,31 +19196,31 @@ - + - + - +/etc/security/pwquality.conf:lcredit = -1 Is it the case that the value of "lcredit" is a positive number or is commented out? - + @@ -19233,31 +19233,31 @@ - + - + - +ucredit = -1 Is it the case that the value of "ucredit" is a positive number or is commented out? - + @@ -19402,82 +19402,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -19515,46 +19439,87 @@ + + + + + + + + + + + + + + + + + + - - + + - + - + - - + + - - - - + + + + + + + + + @@ -19610,26 +19575,29 @@ - + - + - + - + @@ -19689,6 +19657,38 @@ + + + + + + + + + + + + + + + + + + + + + @@ -19919,7 +19919,7 @@ - + - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -20210,6 +20312,43 @@ + + + + + + + + + + + + + + + + + + + + + @@ -20330,174 +20469,90 @@ - - - - - - - - - - - - - - - - - - + - - + + - - - - - - - - - - - -
# grub2-setpassword
+ -When prompted, enter the password that was selected. -

- - - - - + - - - - +Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). - +Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software, not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled. + - +To configure the system to prevent the sctp from being used, +add the following line to file /etc/modprobe.d/sctp.conf: +
blacklist sctp
- - + + + - - +To configure the system to prevent the sctp +kernel module from being loaded, add the following line to the file /etc/modprobe.d/sctp.conf: +
install sctp /bin/true
+ +To configure the system to prevent the sctp from being used, +add the following line to file /etc/modprobe.d/sctp.conf: +
blacklist sctp
- - - - - - + - +$ sudo yum erase python3-abrt-addon - + - +$ sudo yum erase python3-abrt-addon @@ -20510,25 +20565,25 @@ - + - +$ sudo yum erase telnet-server - + - - +$ sudo yum erase telnet-server + @@ -20540,24 +20595,24 @@ - + - +$ sudo yum erase libreport-plugin-rhtsupport - + - +$ sudo yum erase libreport-plugin-rhtsupport @@ -20570,25 +20625,25 @@ - + - +$ sudo yum erase krb5-workstation - + - - +$ sudo yum erase krb5-workstation + @@ -20600,46 +20655,25 @@ - + - + - + - + @@ -20652,55 +20686,36 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - +Run the following command to search for such lines in all files in /etc/modprobe.d and the deprecated /etc/modprobe.conf: +
$ grep -r bluetooth /etc/modprobe.conf /etc/modprobe.d
Is it the case that no line is returned? - - + + @@ -20746,21 +20761,26 @@ - + - + - + - - + + @@ -20806,37 +20826,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -20904,25 +20893,25 @@ - + - +$ sudo yum erase tuned - + - - +$ sudo yum erase tuned + @@ -20987,80 +20976,25 @@ - - - - - - - - - - - - - - - - - - - - - - + - +$ sudo yum erase rsh-server - + - - +$ sudo yum erase rsh-server + @@ -21123,25 +21057,25 @@ - + - +$ sudo yum erase abrt-plugin-sosreport - + - - +$ sudo yum erase abrt-plugin-sosreport + @@ -21153,36 +21087,55 @@ - + - + - + + + + + + + -These lines can also instruct the module loading system to ignore the bluetooth kernel module via blacklist keyword. + + + + + -Run the following command to search for such lines in all files in /etc/modprobe.d and the deprecated /etc/modprobe.conf: -
$ grep -r bluetooth /etc/modprobe.conf /etc/modprobe.d
Is it the case that no line is returned? + + + + + + + - - + + @@ -21247,31 +21200,83 @@ - + - + - + - + + + + + + + + + + + + + + + + + + + + + + @@ -21308,24 +21313,24 @@ - + - +$ sudo yum erase abrt-cli - + - +$ sudo yum erase abrt-cli @@ -21338,25 +21343,25 @@ - + - +$ sudo yum erase abrt-addon-ccpp - + - - +$ sudo yum erase abrt-addon-ccpp + @@ -21368,48 +21373,21 @@ - + - + - + - - + + @@ -21421,24 +21399,46 @@ - + - + - + - + @@ -21456,28 +21456,34 @@ - + - + - +
$ sudo firewall-cmd --list-all
+ +Ask the System Administrator for the site or program Ports, Protocols, and Services Management Component Local Service Assessment (PPSM CLSA). Verify the services allowed by the firewall match the PPSM CLSA. Is it the case that there are additional ports, protocols, or services that are not in the PPSM CLSA, or there are ports, protocols, or services that are prohibited by the PPSM Category Assurance List (CAL), or there are no firewall rules configured? - + @@ -21519,25 +21525,25 @@ - + - + - + - + @@ -21550,26 +21556,29 @@ - + - + - + - - + + @@ -21581,35 +21590,26 @@ - + - + - + - - + + @@ -21782,71 +21782,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -21921,6 +21856,71 @@ + + + + + + + + + + + + + + + + + + + + + @@ -22193,63 +22193,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -22313,6 +22256,63 @@ + + + + + + + + + + + + + + + + + + + + + @@ -22377,33 +22377,24 @@ - + - + - + - + @@ -22469,29 +22460,28 @@ - + - + - + - + @@ -22504,33 +22494,34 @@ - + - + - + - - + + @@ -22542,28 +22533,51 @@ - + - +
password    sufficient    pam_unix.so sha512 other arguments...
+ +
+This will help ensure when local users change their passwords, hashes for +the new passwords will be generated using the SHA-512 algorithm. This is +the default. - + - +
password    sufficient    pam_unix.so sha512 other arguments...
+ +
+This will help ensure when local users change their passwords, hashes for +the new passwords will be generated using the SHA-512 algorithm. This is +the default. @@ -22576,35 +22590,29 @@ - + - + - + - + @@ -22617,25 +22625,33 @@ - + - + - + - - + + @@ -22647,51 +22663,35 @@ - + - + - + - + @@ -22918,68 +22918,78 @@ - + - +To check that Crypto Policies settings for ciphers are configured correctly, ensure that +/etc/crypto-policies/back-ends/openssh.config contains the following +line and is not commented out: +
Ciphers 
- + - + + + + + -For example for versions prior to crypto-policies-20210617-1.gitc776d3e.el8.noarch -this is expected: + + + + + -
$ sudo grep -i MinProtocol /etc/crypto-policies/back-ends/opensslcnf.config
+    
-MinProtocol = TLSv1.2 - + + +To check that Crypto Policies settings are configured correctly, ensure that +/etc/crypto-policies/back-ends/opensshserver.config contains the following +text and is not commented out: +-oMACS= + + + + + @@ -23028,48 +23038,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -23118,36 +23086,68 @@ - + - +Check the crypto-policies(7) man page and choose a policy that configures TLS +protocol to version 1.2 or higher, for example DEFAULT, FUTURE or FIPS policy. +Or create and apply a custom policy that restricts minimum TLS version to 1.2. + +For example for versions prior to crypto-policies-20210617-1.gitc776d3e.el8.noarch +this is expected: + +
$ sudo grep -i MinProtocol /etc/crypto-policies/back-ends/opensslcnf.config
+
+MinProtocol = TLSv1.2
+
+ +Or for version crypto-policies-20210617-1.gitc776d3e.el8.noarch and newer this is +expected: + +
$ sudo grep -i MinProtocol /etc/crypto-policies/back-ends/opensslcnf.config
+
+TLS.MinProtocol = TLSv1.2
+DTLS.MinProtocol = DTLSv1.2
- + - +Check the crypto-policies(7) man page and choose a policy that configures TLS +protocol to version 1.2 or higher, for example DEFAULT, FUTURE or FIPS policy. +Or create and apply a custom policy that restricts minimum TLS version to 1.2. + +For example for versions prior to crypto-policies-20210617-1.gitc776d3e.el8.noarch +this is expected: + +
$ sudo grep -i MinProtocol /etc/crypto-policies/back-ends/opensslcnf.config
+
+MinProtocol = TLSv1.2
+
+ +Or for version crypto-policies-20210617-1.gitc776d3e.el8.noarch and newer this is +expected: + +
$ sudo grep -i MinProtocol /etc/crypto-policies/back-ends/opensslcnf.config
+
+TLS.MinProtocol = TLSv1.2
+DTLS.MinProtocol = DTLSv1.2
@@ -23160,7 +23160,7 @@ - + +/etc/crypto-policies/back-ends/openssh.config contains the following +line and is not commented out: +MACs - +
MACs 
Is it the case that Crypto Policy for OpenSSH client is not configured correctly? +/etc/crypto-policies/back-ends/openssh.config contains the following +line and is not commented out: +MACs @@ -23264,7 +23264,7 @@ - + - + - - + @@ -23297,7 +23297,7 @@ - + - + - +
$ sysctl kernel.kptr_restrict
+The output of the command should indicate either: +kernel.kptr_restrict = 1 +or: +kernel.kptr_restrict = 2 +The output of the command should not indicate: +kernel.kptr_restrict = 0 + +The preferable way how to assure the runtime compliance is to have +correct persistent configuration, and rebooting the system. + +The persistent kernel parameter configuration is performed by specifying the appropriate +assignment in any file located in the
/etc/sysctl.d
directory. +Verify that there is not any existing incorrect configuration by executing the following command: +
$ grep -r '^\s*kernel.kptr_restrict\s*=' /etc/sysctl.conf /etc/sysctl.d
+The command should not find any assignments other than: +kernel.kptr_restrict = 1 +or: +kernel.kptr_restrict = 2 + +Conflicting assignments are not allowed. Is it the case that the kernel.kptr_restrict is not set to 1 or 2 or is configured to be 0? - + @@ -23330,7 +23348,7 @@ - + - + - - + @@ -23363,7 +23381,7 @@ - + - + - +
$ sysctl kernel.yama.ptrace_scope
+1. + Is it the case that the correct value is not returned? - + @@ -23414,7 +23414,7 @@ - + - + - - + @@ -23446,6 +23446,58 @@ + + + + + + + + + + + + + + + + + + + + + @@ -23488,47 +23540,24 @@ - + - + - + - - + + @@ -23592,75 +23621,46 @@ - - - - - - - - - - - - - - - - - - - - - - + - +
GRUB_CMDLINE_LINUX="... slub_debug= ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="slub_debug="
+
$ sudo grubby --info=ALL | grep args | grep -v 'slub_debug='
+The command should not return any output. Is it the case that SLUB/SLAB poisoning is not enabled? - +
GRUB_CMDLINE_LINUX="... slub_debug= ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="slub_debug="
@@ -23678,25 +23678,25 @@ - + - + - - + @@ -23769,25 +23769,25 @@ - + - + - - + @@ -24227,56 +24227,66 @@ - + - +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 directories to this specific group. - + + + + + + + -Then, check that the audit log file is owned by the correct group. -Run the following command to display the owner of the audit log file: + + + + + -
$ sudo stat -c "%n %G" log_file
+ + +The structure and content of error messages must be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements. + + + + - + @@ -24289,21 +24299,21 @@ - + - + - +root Is it the case that /var/log does not have an owner of root? - + @@ -24316,33 +24326,25 @@ - + - + - + - + @@ -24355,36 +24357,25 @@ - + +To properly set the permissions of /var/log/messages, run the command: +
$ sudo chmod 0640 /var/log/messages
- + +To properly set the permissions of /var/log/messages, run the command: +
$ sudo chmod 0640 /var/log/messages
@@ -24434,33 +24425,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -24494,21 +24458,33 @@ - + - + - + - + @@ -24521,25 +24497,56 @@ - + - + - + - + @@ -24552,39 +24559,36 @@ - + - + - + - + @@ -24597,25 +24601,21 @@ - + - + - +
$ ls -lL /var/log/messages
+If properly configured, the output should indicate the following owner: +root Is it the case that /var/log/messages does not have an owner of root? - + @@ -24633,7 +24633,7 @@ - + - +/etc/ssh/sshd_config: + +
Banner /etc/issue
+Another section contains information on how to create an +appropriate system-wide warning banner. - + - +/etc/ssh/sshd_config: + +
Banner /etc/issue
+Another section contains information on how to create an +appropriate system-wide warning banner. @@ -24782,7 +24739,7 @@ - + - +The DoD required text is either: +

+You are accessing a U.S. Government (USG) Information System (IS) that +is provided for USG-authorized use only. By using this IS (which includes +any device attached to this IS), you consent to the following conditions: +
-The USG routinely intercepts and monitors communications on this IS +for purposes including, but not limited to, penetration testing, COMSEC +monitoring, network operations and defense, personnel misconduct (PM), law +enforcement (LE), and counterintelligence (CI) investigations. +
-At any time, the USG may inspect and seize data stored on this IS. +
-Communications using, or data stored on, this IS are not private, +are subject to routine monitoring, interception, and search, and may be +disclosed or used for any USG-authorized purpose. +
-This IS includes security measures (e.g., authentication and access +controls) to protect USG interests -- not for your personal benefit or +privacy. +
-Notwithstanding the above, using this IS does not constitute consent +to PM, LE or CI investigative searching or monitoring of the content of +privileged communications, or work product, related to personal +representation or services by attorneys, psychotherapists, or clergy, and +their assistants. Such communications and work product are private and +confidential. See User Agreement for details.
+

+OR: +

+I've read & consent to terms in IS user agreem't. - + - +The DoD required text is either: +

+You are accessing a U.S. Government (USG) Information System (IS) that +is provided for USG-authorized use only. By using this IS (which includes +any device attached to this IS), you consent to the following conditions: +
-The USG routinely intercepts and monitors communications on this IS +for purposes including, but not limited to, penetration testing, COMSEC +monitoring, network operations and defense, personnel misconduct (PM), law +enforcement (LE), and counterintelligence (CI) investigations. +
-At any time, the USG may inspect and seize data stored on this IS. +
-Communications using, or data stored on, this IS are not private, +are subject to routine monitoring, interception, and search, and may be +disclosed or used for any USG-authorized purpose. +
-This IS includes security measures (e.g., authentication and access +controls) to protect USG interests -- not for your personal benefit or +privacy. +
-Notwithstanding the above, using this IS does not constitute consent +to PM, LE or CI investigative searching or monitoring of the content of +privileged communications, or work product, related to personal +representation or services by attorneys, psychotherapists, or clergy, and +their assistants. Such communications and work product are private and +confidential. See User Agreement for details.
+

+OR: +

+I've read & consent to terms in IS user agreem't. @@ -25134,7 +25134,7 @@ - + +
-w /etc/sudoers.d/ -p wa -k actions
- +-w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/sudoers.d/ -p wa -k actions
@@ -25179,7 +25179,7 @@ - + +
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
- +-w /etc/gshadow -p wa -k identity + +If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? +
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
@@ -25285,7 +25287,7 @@ - + +
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
- +-w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
@@ -25340,7 +25340,7 @@ - + +
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
- +-w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+ + + + + + + + + + + + + + + + + + + + + @@ -25440,51 +25485,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -25496,7 +25496,7 @@ - + +
-w /etc/sudoers.d/ -p wa -k actions
- +-w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/sudoers.d/ -p wa -k actions
@@ -25541,7 +25541,7 @@ - + +
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
- +-w /etc/gshadow -p wa -k identity + +If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? +
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
@@ -25647,7 +25649,7 @@ - + +
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
- +-w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
@@ -25702,7 +25702,7 @@ - + +
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
- +-w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+ + + + + + + + + + + + + + + + + + + + + @@ -25802,51 +25847,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -25858,7 +25858,7 @@ - + +
-w /etc/sudoers.d/ -p wa -k actions
- +-w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/sudoers.d/ -p wa -k actions
@@ -25903,7 +25903,7 @@ - + +
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
- +-w /etc/gshadow -p wa -k identity + +If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? +
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
@@ -26009,7 +26011,7 @@ - + +
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
- +-w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
@@ -26064,7 +26064,7 @@ - + +
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
- +-w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+ + + + + + + + + + + + + + + + + + + + + @@ -26164,56 +26209,53 @@ + + + + + - - + + - + - + - - - - - + - - +To check that Crypto Policies settings are configured correctly, ensure that +/etc/crypto-policies/back-ends/gnutls.config contains the following +line and is not commented out: ++VERS-ALL:-VERS-DTLS0.9:-VERS-SSL3.0:-VERS-TLS1.0:-VERS-TLS1.1:-VERS-DTLS1.0 + + + + + - - - - - @@ -26259,110 +26301,36 @@ - - - - - - - - - - - - - - - - - - - - - - + - +To check that Crypto Policies settings for ciphers are configured correctly, ensure that +/etc/crypto-policies/back-ends/openssh.config contains the following +line and is not commented out: +
Ciphers 
- + - +To check that Crypto Policies settings for ciphers are configured correctly, ensure that +/etc/crypto-policies/back-ends/openssh.config contains the following +line and is not commented out: +
Ciphers 
@@ -26375,7 +26343,7 @@ - + +To check that Crypto Policies settings are configured correctly, ensure that +/etc/crypto-policies/back-ends/opensshserver.config contains the following +text and is not commented out: +-oMACS= - +
-oMACS=
Is it the case that Crypto Policy for OpenSSH Server is not configured correctly? - +To check that Crypto Policies settings are configured correctly, ensure that +/etc/crypto-policies/back-ends/opensshserver.config contains the following +text and is not commented out: +-oMACS= + @@ -26459,37 +26427,37 @@ - + - +To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot +parameters during system installation so key generation is done with FIPS-approved algorithms +and continuous monitoring tests in place. - + - - +To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot +parameters during system installation so key generation is done with FIPS-approved algorithms +and continuous monitoring tests in place. + @@ -26543,7 +26511,7 @@ - + +To check that Crypto Policies settings for ciphers are configured correctly, ensure that +/etc/crypto-policies/back-ends/opensshserver.config contains the following +text and is not commented out: +
-oCiphers=
- +
-oCiphers=
Is it the case that Crypto Policy for OpenSSH Server is not configured correctly? +To check that Crypto Policies settings for ciphers are configured correctly, ensure that +/etc/crypto-policies/back-ends/opensshserver.config contains the following +text and is not commented out: +
-oCiphers=
@@ -26585,36 +26553,68 @@ - + - +Check the crypto-policies(7) man page and choose a policy that configures TLS +protocol to version 1.2 or higher, for example DEFAULT, FUTURE or FIPS policy. +Or create and apply a custom policy that restricts minimum TLS version to 1.2. + +For example for versions prior to crypto-policies-20210617-1.gitc776d3e.el8.noarch +this is expected: + +
$ sudo grep -i MinProtocol /etc/crypto-policies/back-ends/opensslcnf.config
+
+MinProtocol = TLSv1.2
+
+ +Or for version crypto-policies-20210617-1.gitc776d3e.el8.noarch and newer this is +expected: + +
$ sudo grep -i MinProtocol /etc/crypto-policies/back-ends/opensslcnf.config
+
+TLS.MinProtocol = TLSv1.2
+DTLS.MinProtocol = DTLSv1.2
- + - +Check the crypto-policies(7) man page and choose a policy that configures TLS +protocol to version 1.2 or higher, for example DEFAULT, FUTURE or FIPS policy. +Or create and apply a custom policy that restricts minimum TLS version to 1.2. + +For example for versions prior to crypto-policies-20210617-1.gitc776d3e.el8.noarch +this is expected: + +
$ sudo grep -i MinProtocol /etc/crypto-policies/back-ends/opensslcnf.config
+
+MinProtocol = TLSv1.2
+
+ +Or for version crypto-policies-20210617-1.gitc776d3e.el8.noarch and newer this is +expected: + +
$ sudo grep -i MinProtocol /etc/crypto-policies/back-ends/opensslcnf.config
+
+TLS.MinProtocol = TLSv1.2
+DTLS.MinProtocol = DTLSv1.2
@@ -26627,7 +26627,7 @@ - + +/etc/crypto-policies/back-ends/openssh.config contains the following +line and is not commented out: +MACs - +
MACs 
Is it the case that Crypto Policy for OpenSSH client is not configured correctly? +/etc/crypto-policies/back-ends/openssh.config contains the following +line and is not commented out: +MACs @@ -26826,38 +26826,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -26894,6 +26862,38 @@ + + + + + + + + + + + + + + + + + + + + + @@ -26971,7 +26971,7 @@ - + +Audit tools must have the correct group owner. - +$ sudo stat -c "%G %n" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/rsyslogd /sbin/augenrules + +root /sbin/auditctl +root /sbin/aureport +root /sbin/ausearch +root /sbin/autrace +root /sbin/auditd +root /sbin/rsyslogd +root /sbin/augenrules Is it the case that any audit tools are not group-owned by root? +Audit tools must have the correct group owner. @@ -27008,7 +27016,7 @@ - + +Audit tools must have a mode of 0755 or less permissive. - +$ sudo stat -c "%U %n" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/rsyslogd /sbin/augenrules Is it the case that any of these files have more permissive permissions than 0755? +Audit tools must have a mode of 0755 or less permissive. @@ -27103,7 +27103,7 @@ - + +Audit tools must have the correct group owner. - +$ sudo stat -c "%G %n" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/rsyslogd /sbin/augenrules + +root /sbin/auditctl +root /sbin/aureport +root /sbin/ausearch +root /sbin/autrace +root /sbin/auditd +root /sbin/rsyslogd +root /sbin/augenrules Is it the case that any audit tools are not group-owned by root? +Audit tools must have the correct group owner. @@ -27140,7 +27148,7 @@ - + +Audit tools must have a mode of 0755 or less permissive. - +$ sudo stat -c "%U %n" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/rsyslogd /sbin/augenrules Is it the case that any of these files have more permissive permissions than 0755? +Audit tools must have a mode of 0755 or less permissive. @@ -27235,7 +27235,7 @@ - + +Audit tools must have the correct group owner. - +$ sudo stat -c "%G %n" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/rsyslogd /sbin/augenrules + +root /sbin/auditctl +root /sbin/aureport +root /sbin/ausearch +root /sbin/autrace +root /sbin/auditd +root /sbin/rsyslogd +root /sbin/augenrules Is it the case that any audit tools are not group-owned by root? +Audit tools must have the correct group owner. @@ -27272,7 +27280,7 @@ - + +Audit tools must have a mode of 0755 or less permissive. - +$ sudo stat -c "%U %n" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/rsyslogd /sbin/augenrules Is it the case that any of these files have more permissive permissions than 0755? +Audit tools must have a mode of 0755 or less permissive. @@ -27430,40 +27430,96 @@ - + - +Kernel modules, which can be added to the kernel during runtime, are also +stored in /lib/modules. All files in these directories should be +owned by the root user. If the directory, or any file in these +directories, is found to be owned by a user other than root correct its +ownership with the following command: +
$ sudo chown root FILE
- +$ sudo find -L /lib /lib64 /usr/lib /usr/lib64 ! -user root -exec ls -l {} \; Is it the case that any system wide shared library file is not owned by root? - +Kernel modules, which can be added to the kernel during runtime, are also +stored in /lib/modules. All files in these directories should be +owned by the root user. If the directory, or any file in these +directories, is found to be owned by a user other than root correct its +ownership with the following command: +
$ sudo chown root FILE
+ + + + + + + + + + + + + + + + + + + + + @@ -27576,95 +27632,42 @@ - - - - - - - - - - - - - - - - - - - - - - + - - +$ sudo find -L /bin /sbin /usr/bin /usr/sbin /usr/libexec /usr/local/bin /usr/local/sbin ! -user root -exec ls -l {} \; Is it the case that any system commands are found to not be owned by root? - @@ -27731,43 +27734,40 @@ - + - + - +$ sudo find -L /lib /lib64 /usr/lib /usr/lib64 ! -group root -exec ls -l {} \; Is it the case that any system wide shared library file is returned and is not group-owned by a required system account? - + @@ -28338,28 +28338,34 @@ - + - + - +
$ sudo firewall-cmd --list-all
+ +Ask the System Administrator for the site or program Ports, Protocols, and Services Management Component Local Service Assessment (PPSM CLSA). Verify the services allowed by the firewall match the PPSM CLSA. Is it the case that there are additional ports, protocols, or services that are not in the PPSM CLSA, or there are ports, protocols, or services that are prohibited by the PPSM Category Assurance List (CAL), or there are no firewall rules configured? - + @@ -28401,34 +28407,28 @@ - + - + - +Run the following command to determine the current status of the +firewalld service: +
$ sudo systemctl is-active firewalld
+If the service is running, it should return the following:
active
Is it the case that the "firewalld" service is disabled, masked, or not started.? - + @@ -28526,6 +28526,47 @@ + + + + + + + + + + + + + + + + + + + + + @@ -28573,47 +28614,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -28625,7 +28625,7 @@ - + +
-w /etc/sudoers.d/ -p wa -k actions
- +-w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/sudoers.d/ -p wa -k actions
@@ -28670,7 +28670,7 @@ - + +
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
- +-w /etc/gshadow -p wa -k identity + +If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? +
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
@@ -28770,61 +28772,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -28884,7 +28831,7 @@ - + +
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
- +-w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
@@ -28937,7 +28884,7 @@ - + +
-w /etc/sudoers -p wa -k actions
- +-w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/sudoers -p wa -k actions
+ + + + + + + + + + + + + + + + + + + + + @@ -28987,7 +28987,7 @@ - + +
-w /etc/sudoers.d/ -p wa -k actions
- +-w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/sudoers.d/ -p wa -k actions
@@ -29034,7 +29034,7 @@ - + +
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
- +-w /etc/gshadow -p wa -k identity + +If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? +
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
@@ -29144,7 +29146,7 @@ - + +
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
- +-w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
@@ -29256,7 +29256,7 @@ - + +
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
- +-w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+ + + + + + + + + + + + + + + + + + + + + @@ -29360,58 +29407,40 @@ - - - - - - - - - - - + + + + --w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? - - + + + + + + + + + - - - - - @@ -29441,11 +29470,16 @@ + + + + + - + - + @@ -29455,13 +29489,13 @@ - + - + @@ -29470,11 +29504,6 @@ - - - - - @@ -29504,35 +29533,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -29562,6 +29562,35 @@ + + + + + + + + + + + + + + + + + + + + + @@ -29680,65 +29709,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -29778,35 +29748,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -29860,6 +29801,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -30015,6 +30015,51 @@ + + + + + + + + + + + + + + + + + + + + + @@ -30059,52 +30104,32 @@ - + - +defined to work as expected. In order to avoid errors when manually editing these files, it is +recommended to use the appropriate tools, such as authselect or authconfig, +depending on the OS version. - +
$ grep even_deny_root /etc/security/faillock.conf
+even_deny_root Is it the case that the "even_deny_root" option is not set, is missing or commented out? - +defined to work as expected. In order to avoid errors when manually editing these files, it is +recommended to use the appropriate tools, such as authselect or authconfig, +depending on the OS version. @@ -30162,39 +30187,52 @@ - + - +If unlock_time is set to 0, manual intervention by an administrator is required +to unlock a user. This should be done using the faillock tool. - + - +If unlock_time is set to 0, manual intervention by an administrator is required +to unlock a user. This should be done using the faillock tool. @@ -30254,44 +30292,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -30445,42 +30445,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -30531,121 +30495,46 @@ - - - - - - - + + - + - + - - +The task of allocating audit record storage capacity is usually performed during initial installation of the operating system. + - - - - - + + + + + - - - - - - - - - - - - - - - - - - @@ -30735,27 +30624,33 @@ - + - + - + - + @@ -30880,44 +30775,116 @@ + + + + + + + + + + + + + + + + + + - - + + - - - + - - - - - -
$ sudo grep action_mail_acct /etc/audit/auditd.conf
+    
- - +Off-loading is a common process in information systems with limited audit storage capacity. + + + + + + + + + + + @@ -30979,6 +30946,39 @@ + + + + + + + + + + + + + + + + + + + + + @@ -31519,6 +31519,33 @@ + + + + + + + + + + + + + + + + + + + + + @@ -31564,26 +31591,31 @@ + + + + + - - + + - + - +Organizations should also consider endpoints that may not have regular access to the authoritative time server (e.g., mobile, teleworking, and tactical endpoints). This requirement is related to the comparison done every 24 hours in SRG-OS-000355 because a comparison must be done in order to determine the time difference. - + - + @@ -31591,11 +31623,6 @@ - - - - - @@ -31641,33 +31668,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -31739,6 +31739,31 @@ + + + + + + + + + + + + + + + + + + + + + @@ -31782,31 +31807,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -31943,7 +31943,7 @@ - + +
KerberosAuthentication no
- +
KerberosAuthentication no
@@ -31997,7 +31997,7 @@ - + +
GSSAPIAuthentication no
- +
GSSAPIAuthentication no
@@ -32116,6 +32116,41 @@ + + + + + + + + + + + + + + + + + + + + + @@ -32153,29 +32188,28 @@ - + - + - + - + @@ -32281,45 +32315,50 @@ + + + + + - - + + - + - + - - +Methods for complying with this requirement include restricting execution of programs in certain environments, while preventing execution in other environments; or limiting execution of certain program functionality based on organization-defined criteria (e.g., privileges, subnets, sandboxed environments, or roles). + - - - - - + + + + + - - - - - @@ -32365,23 +32404,33 @@ - + - + - + - + @@ -32394,31 +32443,33 @@ - + - - +
. . . /dev/shm . . . noexec . . .
+ Is it the case that the "/dev/shm" file system does not have the "noexec" option set? - @@ -32433,33 +32484,37 @@ - + - +/var/log/audit. - +
$ sudo mount | grep '\s/var/log/audit\s'
+
. . . /var/log/audit . . . nodev . . .
+ Is it the case that the "/var/log/audit" file system does not have the "nodev" option set? - +/var/log/audit. @@ -32472,7 +32527,7 @@ - + +/var/log/audit. - +
$ sudo mount | grep '\s/var/log/audit\s'
+
. . . /var/log/audit . . . noexec . . .
+ Is it the case that the "/var/log/audit" file system does not have the "noexec" option set? +/var/log/audit. @@ -32552,33 +32607,33 @@ - + - +/var/tmp. - +
$ sudo mount | grep '\s/var/tmp\s'
+
. . . /var/tmp . . . nosuid . . .
+ Is it the case that the "/var/tmp" file system does not have the "nosuid" option set? - +/var/tmp. @@ -32628,37 +32683,36 @@ - + - + + any non-root local partitions. - + - + + any non-root local partitions. @@ -32671,7 +32725,7 @@ - + +/tmp. - +
$ sudo mount | grep '\s/tmp\s'
+
. . . /tmp . . . nodev . . .
+ Is it the case that the "/tmp" file system does not have the "nodev" option set? - - - - - - - - - - - - - - - - - - - - - +/tmp. @@ -32753,7 +32764,7 @@ - + +/var/log. - +
$ sudo mount | grep '\s/var/log\s'
+
. . . /var/log . . . nodev . . .
+ Is it the case that the "/var/log" file system does not have the "nodev" option set? - - - - - - - - - - - - - - - - - - - - - +/var/log. @@ -32870,7 +32846,7 @@ - + +/var/log/audit. - +
$ sudo mount | grep '\s/var/log/audit\s'
+
. . . /var/log/audit . . . nosuid . . .
+ Is it the case that the "/var/log/audit" file system does not have the "nosuid" option set? - - - - - - - - - - - - - - - - - - - - - +/var/log/audit. @@ -32987,31 +32922,33 @@ - + - +/dev/shm. - +
$ sudo mount | grep '\s/dev/shm\s'
+
. . . /dev/shm . . . nosuid . . .
+ Is it the case that the "/dev/shm" file system does not have the "nosuid" option set? - +/dev/shm. @@ -33060,36 +32997,31 @@ - + - +/var/tmp. - + - +/var/tmp. @@ -33102,7 +33034,7 @@ - + +/var/tmp. - +
$ sudo mount | grep '\s/var/tmp\s'
+
. . . /var/tmp . . . nodev . . .
+ Is it the case that the "/var/tmp" file system does not have the "nodev" option set? +/var/tmp. - - - - - - - + + - + - +Methods for complying with this requirement include restricting execution of programs in certain environments, while preventing execution in other environments; or limiting execution of certain program functionality based on organization-defined criteria (e.g., privileges, subnets, sandboxed environments, or roles). - + - + @@ -33171,6 +33096,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -33254,11 +33223,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + - - - - @@ -33752,43 +33752,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -33904,6 +33867,43 @@ + + + + + + + + + + + + + + + + + + + + + @@ -34019,97 +34019,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -34202,6 +34111,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34409,7 +34409,7 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ + + + + + + + + + - + + + + + + + -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + + + + + -$ sudo grep openat /etc/audit/audit.rules + -The output should be the following: + +This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. + +Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. + +This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch. + + + + - + + + + + -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +$ sudo auditctl -l | grep + +-w -p wa -k logins Is it the case that the command does not return a line, or the line is commented out? + + @@ -34548,7 +34764,7 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -34605,7 +34813,7 @@ - + - +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
- +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
@@ -34670,7 +34866,7 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_chkpwd Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -34719,7 +34915,7 @@ - + +
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
@@ -34776,7 +34990,7 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +$ sudo grep -r ftruncate /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep ftruncate /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? - +
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -34825,7 +35190,7 @@ - + - +
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +$ sudo grep -r truncate /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep truncate /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? - +
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -34874,7 +35276,7 @@ - + +
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -34939,7 +35333,60 @@ - + + + + + + + + + + + + + + + + + + + + + + +
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -k privileged Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -34988,7 +35435,56 @@ - + + + + + + + + + + + + + + + + + + + + + + +
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid>=1000 -F auid!=unset -k privileged-pam_timestamp_check Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -35112,7 +35612,7 @@ - + +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
@@ -35151,18 +35652,19 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
@@ -35175,7 +35677,7 @@ - + - +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
- + - +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
@@ -35248,7 +35726,7 @@ - + - +
-a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- - - - - - - - +$ sudo grep -r open /etc/audit/rules.d - - - - - +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: - +$ sudo grep open /etc/audit/audit.rules - + + - - - - - - +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -35354,7 +35812,7 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
- + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -35411,7 +35869,7 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
- + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
@@ -35460,7 +35922,7 @@ - + +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -35535,7 +35979,7 @@ - + +
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -k privileged-su Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -35638,7 +36082,7 @@ - + - +Place to add the line depends on a way auditd daemon is configured. If it is configured +to use the augenrules program (the default), add the line to a file with suffix +.rules in the directory /etc/audit/rules.d. + +If the auditd daemon is configured to use the auditctl utility, +add the line to file /etc/audit/audit.rules. - + - - - - - - - - - - - - - - - - - - - - - - +If the auditd daemon is configured to use the auditctl utility, +add the line to file /etc/audit/audit.rules. @@ -35783,7 +36135,7 @@ - + +
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -k privileged-sudo Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -35832,7 +36184,7 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
- + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
@@ -35961,7 +36337,7 @@ - + - + - + + +The auditd service can be enabled with the following command: +
$ sudo systemctl enable auditd.service
+ + + + + + + + + + + + + + + + + + + - + @@ -36018,7 +36432,7 @@ - + - + + + + + + + + + + + + + + + + + + + + + +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-passwd Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -36075,7 +36508,7 @@ - + - + - - - +-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-keysign Is it the case that the command does not return a line, or the line is commented out? + + @@ -36166,7 +36606,7 @@ - + +-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access - +-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? +-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access @@ -36246,7 +36692,7 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-w /etc/sudoers.d/ -p wa -k actions
- +-w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-w /etc/sudoers.d/ -p wa -k actions
@@ -36295,7 +36741,7 @@ - + +
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -k privileged-crontab Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -36344,7 +36790,7 @@ - + +
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-kmod Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -36393,7 +36839,7 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
- +-w /etc/gshadow -p wa -k identity + +If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
@@ -36442,7 +36898,7 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -36597,7 +37053,7 @@ - + - + - +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
@@ -36654,7 +37106,7 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +$ sudo grep -r open_by_handle_at /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep open_by_handle_at /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -36703,7 +37186,7 @@ - + - +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
- + - +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
@@ -36752,7 +37251,7 @@ - + - + - - - +-w /etc/group -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? + + @@ -36805,7 +37308,7 @@ - + +
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postdrop Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -36854,7 +37357,7 @@ - + - +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
- +-w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? - +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
@@ -36907,7 +37414,7 @@ - + - + + + + + + + + + + + + + + + + + + + + + +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
- +-w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? - +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
@@ -37009,7 +37573,7 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- - - - - - - - - - - - - - - - - - - - - - +-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -37111,7 +37622,7 @@ - + +
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -37147,15 +37658,15 @@ use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -37168,7 +37679,7 @@ - + - +
-w /etc/sudoers -p wa -k actions
- + + + + + + + -$ sudo grep ftruncate /etc/audit/audit.rules + + + + + -The output should be the following: + --a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? - - - +This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch. + + + + + + + @@ -37254,7 +37782,7 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -37307,7 +37831,7 @@ - + +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chage Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -37356,7 +37880,7 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
- +-w /etc/shadow -p wa -k identity Is it the case that command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
@@ -37409,7 +37937,7 @@ - + +
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chsh Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -37458,7 +37986,7 @@ - + - + - + - + @@ -37485,7 +38039,7 @@ - + +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -37525,19 +38078,18 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -37601,563 +38153,140 @@ - - - - - - - - - - - + + + + -$ sudo auditctl -l | grep chacl + --a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? - - - + + + + + + + + - - + + - + - + - + - +To check that Crypto Policies settings for ciphers are configured correctly, ensure that +/etc/crypto-policies/back-ends/openssh.config contains the following +line and is not commented out: +
Ciphers 
- - + + + - - - +To check that Crypto Policies settings for ciphers are configured correctly, ensure that +/etc/crypto-policies/back-ends/openssh.config contains the following +line and is not commented out: +
Ciphers 
+ - - + + - + - + - + - +To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot +parameters during system installation so key generation is done with FIPS-approved algorithms +and continuous monitoring tests in place. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - +To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot +parameters during system installation so key generation is done with FIPS-approved algorithms +and continuous monitoring tests in place. + - - - - - @@ -38232,68 +38361,33 @@ - - - - - - - - - - - - - - - - - - - - - - + + - + - +This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system (e.g., the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch). + +The operating system can meet this requirement through leveraging a cryptographic module. - + - + - - + + - + - +This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system (e.g., the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch). + +The operating system can meet this requirement through leveraging a cryptographic module. - + - + + + + + + + + + + + + + + + + + + + + + @@ -38442,141 +38577,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -38641,32 +38641,35 @@ - + - + - + - + @@ -38729,35 +38732,32 @@ - + - + - + - + @@ -39015,31 +39015,41 @@ - + - +To check that Crypto Policies settings are configured correctly, ensure that the /etc/named.conf +includes the appropriate configuration: +In the options section of /etc/named.conf, make sure that the following line +is not commented out or superseded by later includes: +include "/etc/crypto-policies/back-ends/bind.config"; - + - - +To check that Crypto Policies settings are configured correctly, ensure that the /etc/named.conf +includes the appropriate configuration: +In the options section of /etc/named.conf, make sure that the following line +is not commented out or superseded by later includes: +include "/etc/crypto-policies/back-ends/bind.config"; + @@ -39051,37 +39061,37 @@ - + - +To check that Crypto Policies settings are configured correctly, ensure that +/etc/crypto-policies/back-ends/gnutls.config contains the following +line and is not commented out: ++VERS-ALL:-VERS-DTLS0.9:-VERS-SSL3.0:-VERS-TLS1.0:-VERS-TLS1.1:-VERS-DTLS1.0 - + - - +To check that Crypto Policies settings are configured correctly, ensure that +/etc/crypto-policies/back-ends/gnutls.config contains the following +line and is not commented out: ++VERS-ALL:-VERS-DTLS0.9:-VERS-SSL3.0:-VERS-TLS1.0:-VERS-TLS1.1:-VERS-DTLS1.0 + @@ -39093,41 +39103,62 @@ - + - +The sshd service can be enabled with the following command: +
$ sudo systemctl enable sshd.service
- + - - +The sshd service can be enabled with the following command: +
$ sudo systemctl enable sshd.service
+ + + + + + + + + + + + + + + + + + + + + + @@ -39181,68 +39212,37 @@ - - - - - - - - - - - - - - - - - - - - - - + - +To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot +parameters during system installation so key generation is done with FIPS-approved algorithms +and continuous monitoring tests in place. - + - - +To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot +parameters during system installation so key generation is done with FIPS-approved algorithms +and continuous monitoring tests in place. + @@ -39291,6 +39291,39 @@ + + + + + + + + + + + + + + + + + + + + + @@ -39340,39 +39373,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -39450,42 +39450,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -39532,6 +39496,42 @@ + + + + + + + + + + + + + + + + + + + + + @@ -39592,56 +39592,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -39731,10 +39681,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -39786,35 +39815,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -39862,40 +39862,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -39937,6 +39903,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -39995,33 +40022,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -40131,7 +40131,139 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access - +-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? +-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access @@ -40213,47 +40345,76 @@ - + - +
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- + - +
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -40266,55 +40427,47 @@ - + +
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -40327,47 +40480,65 @@ - + +
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
@@ -40441,65 +40612,76 @@ - + - +
-a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- + - +
-a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -40512,7 +40694,7 @@ - + +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -40547,18 +40726,15 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -40571,63 +40747,47 @@ - + +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -40640,7 +40800,7 @@ - + +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
- - - - - - - - - - - - - - - - - - - - - +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
@@ -40869,7 +40945,7 @@ - + +-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access - +-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? +-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access @@ -40970,128 +41052,22 @@ lchown system call, run the following command:
$ sudo grep "lchown" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -41104,7 +41080,7 @@ - + +-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access - +-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? +-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access @@ -41241,6 +41211,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -41294,13 +41376,18 @@ + + + + + - + - + - + +-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access - - + - +-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? + +-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access - - - - - - + +-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access - +-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? +-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access @@ -41627,7 +41709,7 @@ - + +-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access - +-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? +-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access @@ -41703,7 +41791,7 @@ - + +-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access - +-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? +-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access + + + + + - + - + - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
- - - - + + + +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
- - - - - - - - + + + @@ -41872,76 +41921,39 @@ - + - +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? - +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -41954,43 +41966,39 @@ - + - + - - - +-a always,exit -F path=/usr/bin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -k privileged-userhelper Is it the case that the command does not return a line, or the line is commented out? + + @@ -42003,47 +42011,39 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -42056,55 +42056,39 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -42117,39 +42101,43 @@ - + - + - + + - - + +Place to add the line depends on a way auditd daemon is configured. If it is configured +to use the augenrules program (the default), add the line to a file with suffix +.rules in the directory /etc/audit/rules.d. + +If the auditd daemon is configured to use the auditctl utility, +add the line to file /etc/audit/audit.rules. @@ -42162,47 +42150,39 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -42215,39 +42195,43 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
- + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
@@ -42260,39 +42244,39 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_chkpwd Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -42305,55 +42289,65 @@ - + +
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
@@ -42366,39 +42360,55 @@ - + - + +
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
- + - +
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
@@ -42411,7 +42421,7 @@ - + +
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-umount Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -42456,53 +42466,76 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -42515,65 +42548,76 @@ - + - +
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- + - +
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -42586,53 +42630,47 @@ - + +
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -42645,63 +42683,43 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file in order to watch for unattempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
- + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file in order to watch for unattempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
@@ -42759,100 +42777,39 @@ - - - - - - - - - - - - - - - - - - - - - - + - +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out? - +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -42865,7 +42822,7 @@ - + +
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid>=1000 -F auid!=unset -k privileged-pam_timestamp_check Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -42910,7 +42871,7 @@ - + +
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
@@ -42953,22 +42914,22 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
@@ -42981,39 +42942,55 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
- + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
@@ -43026,45 +43003,40 @@ - + - + - + - - + + @@ -43158,49 +43130,96 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
- + + + + + + + -$ sudo auditctl -l | grep -E '(/etc/gshadow)' + + + + + --w /etc/gshadow -p wa -k identity + -If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? + + + + + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
@@ -43213,39 +43232,47 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
- + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -43303,71 +43330,45 @@ - + - + - + - - + + @@ -43379,100 +43380,43 @@ - + - - - - - - - - - - - + - - - - +
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
- - - +If the auditd daemon is configured to use the auditctl utility, +add the line to file /etc/audit/audit.rules. - + - + @@ -43485,7 +43429,7 @@ - + +
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -k privileged-sudo Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -43530,7 +43474,76 @@ - + + + + + + + + + + + + + + + + + + + + + + +-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access - +-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? +-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access @@ -43606,39 +43619,43 @@ - + - + - + + - - +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
@@ -43696,52 +43713,7 @@ - - - - - - - - - - - - - - - - - - - - - - + +
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-keysign Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -43786,7 +43758,7 @@ - + +
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-mount Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -43831,190 +43803,76 @@ - + - - - - - - - - - - - - - - - - - - - +
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- - - - - - - - +$ sudo grep -r openat /etc/audit/rules.d - - - - - +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: - +$ sudo grep openat /etc/audit/audit.rules - - - - - +-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? - - - - - - - - - - - - - - + - - - - - - +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -44072,43 +43930,39 @@ - + - - - - - - + + + +-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -k privileged-crontab Is it the case that the command does not return a line, or the line is commented out? + + @@ -44121,7 +43975,7 @@ - + +
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-kmod Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -44166,39 +44020,94 @@ - + + + + + + + + + + + + + + + + + + + + + + +
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -44211,43 +44120,47 @@ - + - +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -44260,7 +44173,7 @@ - + +
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/usermod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-usermod Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -44305,7 +44218,7 @@ - + +
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
@@ -44336,65 +44249,12 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
- - - - - - - - - - - - - - - - - - - - - +
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
@@ -44407,7 +44267,7 @@ - + +-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access - +-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? +-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access @@ -44489,43 +44343,55 @@ - + - +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
- +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
@@ -44538,7 +44404,60 @@ - + + + + + + + + + + + + + + + + + + + + + + +
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postdrop Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -44583,43 +44502,106 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file in order to make login UIDs +immutable: +
--loginuid-immutable
+ + + + + + + + + + + + + + + + + + + + + - +-w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
@@ -44632,7 +44614,7 @@ - + +
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -k privileged-newgrp Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -44677,55 +44659,47 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
- + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
@@ -44738,47 +44712,43 @@ - + - +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
- +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
@@ -44791,39 +44761,39 @@ - + +
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -44836,43 +44806,47 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
- + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -44885,43 +44859,39 @@ - + - +/etc/audit/audit.rules file: +
-w /etc/sudoers -p wa -k actions
- + - +/etc/audit/audit.rules file: +
-w /etc/sudoers -p wa -k actions
@@ -44984,43 +44954,39 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -45033,43 +44999,137 @@ - + - + + + +-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chage Is it the case that the command does not return a line, or the line is commented out? + + + + + + + + + + + + + + + + + + - + - + + + + + -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
- If the auditd daemon is configured to use the auditctl utility to read audit -rules during daemon startup, add the following lines to /etc/audit/audit.rules file -in order to capture kernel module loading and unloading events, setting ARCH to either b32 or -b64 as appropriate for your system: + + + + + -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
+ + + + + + + + + @@ -45082,7 +45142,7 @@ - + +
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
@@ -45113,12 +45173,12 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
@@ -45131,76 +45191,53 @@ - + - +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- + - +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -45213,134 +45250,168 @@ - + - +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
- + - +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+ + + + + - + - + - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
- - - - + + + +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
- - - - - - + +
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -k privileged Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -45398,55 +45469,65 @@ - + +
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
@@ -45459,65 +45540,55 @@ - + +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
@@ -45599,110 +45670,55 @@ - - - - - - - - - - - - - - - - - - - - - - + +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
@@ -45715,39 +45731,39 @@ - + +
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -45760,55 +45776,39 @@ - + - +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -45826,39 +45826,39 @@ - + +
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -k privileged Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -45916,39 +45916,39 @@ - + +
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -46011,47 +46011,43 @@ - + - +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
- +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
@@ -46064,55 +46060,39 @@ - + - +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -46125,39 +46105,43 @@ - + - +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
- + - +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
@@ -46170,47 +46154,65 @@ - + +
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
@@ -46223,7 +46225,7 @@ - + +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
@@ -46259,19 +46261,72 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
+ + + + + + + + + + + + + + + + + + + + + @@ -46355,7 +46410,7 @@ - + +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
@@ -46390,18 +46446,19 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
@@ -46414,116 +46471,47 @@ - + +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
- - - - - - - - - - - - - - - - - - - - - +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -46536,47 +46524,43 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
- + - +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
@@ -46589,65 +46573,47 @@ - + +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -46660,49 +46626,39 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -k privileged-su Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -46715,7 +46671,7 @@ - + +
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -k privileged-sudo Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -46760,47 +46716,63 @@ - + - +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
- + - +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
@@ -46813,47 +46785,39 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-w /etc/sudoers.d/ -p wa -k actions
- +-w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-w /etc/sudoers.d/ -p wa -k actions
@@ -46866,39 +46830,49 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
- +-w /etc/gshadow -p wa -k identity + +If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
@@ -47009,47 +46983,43 @@ - + - +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
- +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
@@ -47062,39 +47032,55 @@ - + - +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
- + - +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
@@ -47107,43 +47093,47 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
- + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
@@ -47156,47 +47146,47 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
- - - + + +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
@@ -47209,43 +47199,47 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
- + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
@@ -47258,55 +47252,47 @@ - + +
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -47319,47 +47305,39 @@ - + - +
-w /etc/sudoers -p wa -k actions
- + - +
-w /etc/sudoers -p wa -k actions
@@ -47372,39 +47350,47 @@ - + - +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
- +-w /etc/shadow -p wa -k identity Is it the case that command does not return a line, or the line is commented out? - +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
@@ -47417,7 +47403,7 @@ - + +
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
@@ -47448,12 +47434,12 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
@@ -47466,43 +47452,53 @@ - + - +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -47515,43 +47511,47 @@ - + - +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
- +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -47569,7 +47569,7 @@ - + +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
@@ -47600,12 +47600,12 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
@@ -47618,7 +47618,7 @@ - + +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
@@ -47649,12 +47649,12 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
@@ -47716,7 +47716,7 @@ - + +
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
@@ -47747,12 +47747,12 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
@@ -47765,7 +47765,7 @@ - + +
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
@@ -47796,12 +47796,12 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
@@ -47819,126 +47819,43 @@ - - - - - - - - - - - - - - - - - - - - - - + - - - - - - + + + + + +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
@@ -47951,63 +47868,43 @@ - + - +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
- +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
@@ -48091,39 +47988,65 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
- + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
@@ -48136,39 +48059,55 @@ - + - +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
- + - +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
@@ -48181,7 +48120,7 @@ - + +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
@@ -48212,12 +48151,12 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
@@ -48230,7 +48169,76 @@ - + + + + + + + + + + + + + + + + + + + + + + +
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
@@ -48261,12 +48269,12 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
@@ -48340,43 +48348,39 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -48389,7 +48393,52 @@ - + + + + + + + + + + + + + + + + + + + + + + +
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
@@ -48420,79 +48469,128 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+ + + + + - + - + - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file in order to watch for unattempted manual +edits of files involved in storing logon events: +
-w  -p wa -k logins
+ + + + + + + + + + + + + + + + + + + + + - - - - + + + +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file in order to watch for unattempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
- - - - - - + +
-w /etc/sudoers.d/ -p wa -k actions
- +-w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/sudoers.d/ -p wa -k actions
@@ -48537,7 +48635,7 @@ - + +
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
- +-w /etc/gshadow -p wa -k identity + +If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? +
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
@@ -48637,61 +48737,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -48751,7 +48796,7 @@ - + +
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
- +-w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
@@ -48804,7 +48849,7 @@ - + +
-w /etc/sudoers -p wa -k actions
- +-w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/sudoers -p wa -k actions
@@ -48849,179 +48894,146 @@ - + - +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
- +-w /etc/shadow -p wa -k identity Is it the case that command does not return a line, or the line is commented out? - +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+ + + + + - + - + - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
- - - - + + + +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
- - - - - - + - +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? - +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -49034,43 +49046,39 @@ - + - + - - - +-a always,exit -F path=/usr/bin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -k privileged-userhelper Is it the case that the command does not return a line, or the line is commented out? + + @@ -49083,47 +49091,39 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -49136,55 +49136,39 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - + @@ -49197,39 +49181,43 @@ - + - + - + + - - + +Place to add the line depends on a way auditd daemon is configured. If it is configured +to use the augenrules program (the default), add the line to a file with suffix +.rules in the directory /etc/audit/rules.d. + +If the auditd daemon is configured to use the auditctl utility, +add the line to file /etc/audit/audit.rules. @@ -49242,47 +49230,39 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -49295,39 +49275,43 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
- + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
@@ -49340,39 +49324,39 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_chkpwd Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -49385,55 +49369,65 @@ - + +
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
@@ -49446,39 +49440,55 @@ - + - +
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
- + - +
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
@@ -49491,7 +49501,7 @@ - + +
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-umount Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -49536,65 +49546,76 @@ - + - +
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- + - +
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -49607,53 +49628,76 @@ - + - +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- + - +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -49666,63 +49710,47 @@ - + +
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -49735,39 +49763,43 @@ - + - +/etc/audit/audit.rules file in order to watch for unattempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
- +-w /var/log/lastlog -p wa -k logins Is it the case that the command does not return a line, or the line is commented out? - +/etc/audit/audit.rules file in order to watch for unattempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
@@ -49780,47 +49812,39 @@ - + - +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -k privileged Is it the case that the command does not return a line, or the line is commented out? - +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -49833,47 +49857,39 @@ - + - +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out? - +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -49886,7 +49902,7 @@ - + +
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid>=1000 -F auid!=unset -k privileged-pam_timestamp_check Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -49931,7 +49951,7 @@ - + +
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
@@ -49974,22 +49994,22 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
@@ -50002,39 +50022,55 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
- + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
@@ -50047,45 +50083,40 @@ - + - + - + - - + + @@ -50179,49 +50210,47 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
- + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -50234,39 +50263,96 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
- + + + + + + + -$ sudo auditctl -l | grep kmod + + + + + --a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-kmod Is it the case that the command does not return a line, or the line is commented out? + + + + + + + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -50324,70 +50410,93 @@ - + - + - + + + + + + + -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: + + + + + -$ sudo grep -r creat /etc/audit/rules.d + -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + + + +Place to add the line depends on a way auditd daemon is configured. If it is configured +to use the augenrules program (the default), add the line to a file with suffix +.rules in the directory /etc/audit/rules.d. + +If the auditd daemon is configured to use the auditctl utility, +add the line to file /etc/audit/audit.rules. + + + - + @@ -50400,47 +50509,39 @@ - + - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -k privileged-sudo Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -50453,48 +50554,28 @@ - + - + - + - - + + @@ -50506,39 +50587,63 @@ - + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
- + - +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
@@ -50551,7 +50656,7 @@ - + +-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access - +-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? +-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access @@ -50627,129 +50732,43 @@ - + - - - - - - - - - - - - - - - - - - - + - +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
- + - - - - - - - - - - - - - - - - - - - - - - +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
+ If the auditd daemon is configured to use the auditctl utility to read audit +rules during daemon startup, add the following lines to /etc/audit/audit.rules file +in order to capture kernel module loading and unloading events, setting ARCH to either b32 or +b64 as appropriate for your system: + +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
@@ -50762,7 +50781,7 @@ - + +
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-passwd Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -50807,7 +50826,7 @@ - + +
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-keysign Is it the case that the command does not return a line, or the line is commented out? - - - - - - - - - - - - - - - - - - - - - +
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -50905,7 +50871,7 @@ - + +
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-mount Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -50950,92 +50916,76 @@ - + - +
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- - - - - - - - + - - - - +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: - +$ sudo grep -r openat /etc/audit/rules.d - - - - - +-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -51093,43 +51043,39 @@ - + - + - - - +-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -k privileged-crontab Is it the case that the command does not return a line, or the line is commented out? + + @@ -51142,7 +51088,7 @@ - + +
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-kmod Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -51187,39 +51133,94 @@ - + + + + + + + + + + + + + + + + + + + + + + +
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -51232,43 +51233,47 @@ - + - +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -51281,7 +51286,7 @@ - + +
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/usermod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-usermod Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -51326,7 +51331,7 @@ - + - - - - - - - - - - - - - - - - - - - - - +
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
- - + + +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
@@ -51428,7 +51380,7 @@ - + +-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access - +-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? +-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access @@ -51510,43 +51456,55 @@ - + - +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
- +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
@@ -51559,39 +51517,47 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
- +-w /etc/group -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
@@ -51604,7 +51570,7 @@ - + +
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postdrop Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -51653,7 +51615,60 @@ - + + + + + + + + + + + + + + + + + + + + + + +
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -k privileged-newgrp Is it the case that the command does not return a line, or the line is commented out? +
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -51698,55 +51713,47 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
- + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
@@ -51759,47 +51766,43 @@ - + - +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
- +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
@@ -51812,88 +51815,39 @@ - + +
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- +-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out? - - - - - - - - - - - - - - - - - - - - - +
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -51906,43 +51860,47 @@ - + - +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
- +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -51955,28 +51913,40 @@ - + - + +Audit records can be generated from various components within the information system (e.g., module or policy filter). + - + - - + + @@ -52038,43 +52008,39 @@ - + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
- + - +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
@@ -52087,43 +52053,137 @@ - + - + + + +-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chage Is it the case that the command does not return a line, or the line is commented out? + + + + + + + + + + + + + + + + + + - + - + + + + + -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
- If the auditd daemon is configured to use the auditctl utility to read audit -rules during daemon startup, add the following lines to /etc/audit/audit.rules file -in order to capture kernel module loading and unloading events, setting ARCH to either b32 or -b64 as appropriate for your system: + + + + + -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
+ + + + + + + + + @@ -52136,7 +52196,7 @@ - + +
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
@@ -52167,12 +52227,12 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
@@ -52185,76 +52245,53 @@ - + - +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- + - +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -52267,84 +52304,47 @@ - + - +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
- + - - - - - - - - - - - - - - - - - - - - - - +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -52405,51 +52405,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -52548,6 +52503,51 @@ + + + + + + + + + + + + + + + + + + + + + @@ -52736,47 +52736,65 @@ - + +
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
@@ -52789,55 +52807,47 @@ - + +
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -52921,7 +52931,7 @@ - + +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
@@ -52956,18 +52967,19 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
@@ -52980,63 +52992,47 @@ - + +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
@@ -53049,7 +53045,7 @@ - + +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
@@ -53167,59 +53161,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -53281,70 +53222,70 @@ - - - - - - + - + - + - +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- - - - + + + +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ + + + + @@ -53406,6 +53347,65 @@ + + + + + + + + + + + + + + + + + + + + + @@ -53417,7 +53417,7 @@ - + +
-w /etc/sudoers.d/ -p wa -k actions
- +-w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/sudoers.d/ -p wa -k actions
@@ -53462,7 +53462,7 @@ - + +
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
- +-w /etc/gshadow -p wa -k identity + +If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? +
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
@@ -53568,7 +53570,7 @@ - + +
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
- +-w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
@@ -53623,7 +53623,7 @@ - + +
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
- +-w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? +
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+ + + + + + + + + + + + + + + + + + + + + @@ -53723,51 +53768,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -53822,51 +53822,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -53965,49 +53920,56 @@ - - - - - - - + + - + - + - - +Audit records can be generated from various components within the information system (e.g., module or policy filter). + - - - - + - +$ sudo auditctl -l | grep kmod + +-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-kmod Is it the case that the command does not return a line, or the line is commented out? + + + + + + + + @@ -54088,83 +54050,49 @@ - - - - - - - + + - + - + - + - +To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot +parameters during system installation so key generation is done with FIPS-approved algorithms +and continuous monitoring tests in place. - - - - - + + + + + + + + + + @@ -54192,68 +54120,12 @@
$/etc/rsyslog.conf:$ActionSendStreamDriverAuthMode x509/name
Is it the case that $ActionSendStreamDriverAuthMode in /etc/rsyslog.conf is not set to x509/name? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +for both internet and UNIX domain sockets enables this utility to support both local +and remote logging. Couple this utility with gnutls (which is a secure communications +library implementing the SSL, TLS and DTLS protocols), and you have a method to securely +encrypt and off-load auditing. + +When using rsyslogd to off-load logs the remote system must be authenticated. @@ -54378,99 +54250,33 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - + - - +Off-loading is a common process in information systems with limited audit storage capacity. + - - - - + + + + @@ -54478,16 +54284,16 @@ - - + + - + - +Off-loading is a common process in information systems with limited audit storage capacity. - + - + - - + + - + - + - - +Off-loading is a common process in information systems with limited audit storage capacity. + - - - - + + + + + + + + + - + - - - - - -Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections. - - any removable media partitions. + + - - + - - +/etc/security/pwquality.conf:dictcheck=1 Is it the case that "dictcheck" does not have a value other than "0", or is commented out? + + - - - - - - - - - - - - - - - - - - + - + - - - + - -Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections. - + + - - - - + + + + + + + + + - + - +To configure the system to prevent the sctp +kernel module from being loaded, add the following line to the file /etc/modprobe.d/sctp.conf: +
install sctp /bin/true
+ +To configure the system to prevent the sctp from being used, +add the following line to file /etc/modprobe.d/sctp.conf: +
blacklist sctp
- +Run the following command to search for such lines in all files in /etc/modprobe.d and the deprecated /etc/modprobe.conf: +
$ grep -r sctp /etc/modprobe.conf /etc/modprobe.d
Is it the case that no line is returned? - - +To configure the system to prevent the sctp +kernel module from being loaded, add the following line to the file /etc/modprobe.d/sctp.conf: +
install sctp /bin/true
+ +To configure the system to prevent the sctp from being used, +add the following line to file /etc/modprobe.d/sctp.conf: +
blacklist sctp
+ @@ -54735,26 +54507,36 @@ - + - + - +
$ sudo grep -i PermitRootLogin /etc/ssh/sshd_config
+ +If a line indicating no is returned, then the required value is set. + Is it the case that the required value is not set? - + @@ -54767,39 +54549,33 @@ - + - + - + - + @@ -54812,23 +54588,48 @@ - + - + - + - + @@ -54841,24 +54642,28 @@ - + - + - + - - + + @@ -54870,23 +54675,39 @@ - + - + - + - + @@ -54899,47 +54720,23 @@ - + - + - + - + @@ -54952,58 +54749,29 @@ - + - + - +
$ mountpoint /home
+ Is it the case that "/home is not a mountpoint" is returned? - - + + @@ -55015,38 +54783,23 @@ - + - + - + - + @@ -55059,28 +54812,41 @@ - + - + - + - + @@ -55093,26 +54859,44 @@ - + - + - + - + @@ -55125,29 +54909,33 @@ - + - +This rule ensures every file or directory under the home directory related +to an interactive user is group-owned by an interactive user. - + - - +This rule ensures every file or directory under the home directory related +to an interactive user is group-owned by an interactive user. + @@ -55159,33 +54947,23 @@ - + - + - + - + @@ -55198,28 +54976,21 @@ - + - + - + - + @@ -55232,44 +55003,31 @@ - + - + - + - + @@ -55282,23 +55040,26 @@ - + - + - + - + @@ -55311,21 +55072,23 @@ - + - + - + - + @@ -55338,33 +55101,37 @@ - + - + - + - + @@ -55377,25 +55144,23 @@ - + - + - + - - + + @@ -55407,48 +55172,23 @@ - + - + - + - + @@ -55461,51 +55201,25 @@ - + - + - +
$ sudo find /home -perm -002 -type f -name ".[^.]*" -exec ls -ld {} \;
Is it the case that any local initialization files are found to reference world-writable files? - + @@ -55518,25 +55232,23 @@ - + - + - + - + @@ -55549,56 +55261,97 @@ - + - + - + + + + + + + + + + + + -Obtain the list of available package security updates from Red Hat. The URL for updates is https://access.redhat.com/errata-search/. -It is important to note that updates provided by Red Hat may not be present on the system if the underlying packages are not installed. + + + + + + + + + + + + + -$ sudo yum history list | more + + + + + -Loaded plugins: langpacks, product-id, subscription-manager -ID | Command line | Date and time | Action(s) | Altered -------------------------------------------------------------------------------- -70 | install aide | 2020-03-05 10:58 | Install | 1 -69 | update -y | 2020-03-04 14:34 | Update | 18 EE -68 | install vlc | 2020-02-21 17:12 | Install | 21 -67 | update -y | 2020-02-21 17:04 | Update | 7 EE + + +Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections. + + + + - + @@ -55611,19 +55364,29 @@ - + - + - + - - + + @@ -55635,23 +55398,41 @@ - + - + - +
$ sysctl kernel.kptr_restrict
+The output of the command should indicate either: +kernel.kptr_restrict = 1 +or: +kernel.kptr_restrict = 2 +The output of the command should not indicate: +kernel.kptr_restrict = 0 + +The preferable way how to assure the runtime compliance is to have +correct persistent configuration, and rebooting the system. + +The persistent kernel parameter configuration is performed by specifying the appropriate +assignment in any file located in the
/etc/sysctl.d
directory. +Verify that there is not any existing incorrect configuration by executing the following command: +
$ grep -r '^\s*kernel.kptr_restrict\s*=' /etc/sysctl.conf /etc/sysctl.d
+The command should not find any assignments other than: +kernel.kptr_restrict = 1 +or: +kernel.kptr_restrict = 2 + +Conflicting assignments are not allowed. Is it the case that the kernel.kptr_restrict is not set to 1 or 2 or is configured to be 0? - + @@ -55664,31 +55445,23 @@ - + - + - + - + @@ -55701,17 +55474,29 @@ - + - + - + - + @@ -55724,31 +55509,26 @@ - + - + - + - - + + @@ -55760,33 +55540,44 @@ - + - +/etc/ssh/sshd_config: + +
KerberosAuthentication no
- +If a line indicating no is returned, then the required value is set. + Is it the case that the required value is not set? - +/etc/ssh/sshd_config: + +
KerberosAuthentication no
@@ -55799,30 +55590,19 @@ - + - + - + - - + + @@ -55834,24 +55614,29 @@ - + - + - + - - + + @@ -55863,41 +55648,23 @@ - + - + - +
$ sysctl net.ipv4.conf.default.accept_redirects
+0. + Is it the case that the correct value is not returned? - + @@ -55910,29 +55677,34 @@ - + - + - + - - + + @@ -55944,39 +55716,23 @@ - + - + - + - + @@ -55989,25 +55745,34 @@ - + - + - + - + @@ -56020,19 +55785,42 @@ - + - + - + - - + + @@ -56044,44 +55832,24 @@ - + - + - + - + @@ -56094,45 +55862,46 @@ - + - +
StrictModes yes
- +If a line indicating yes is returned, then the required value is set. + Is it the case that the required value is not set? - +
StrictModes yes
@@ -56145,45 +55914,23 @@ - + - + - + - + @@ -56196,39 +55943,27 @@ - + - + - + - - + + @@ -56240,26 +55975,39 @@ - + - + - + - + @@ -56272,42 +56020,44 @@ - + - +
GSSAPIAuthentication no
- - +
GSSAPIAuthentication no
@@ -56320,31 +56070,27 @@ - + - + - + - + @@ -56357,26 +56103,47 @@ - + - + - +
$ sudo systemctl is-enabled kdump
+Output should indicate the kdump service has either not been installed, +or has been disabled at all runlevels, as shown in the example below: +
$ sudo systemctl is-enabled kdump
disabled
+ +Run the following command to verify kdump is not active (i.e. not running) through current runtime configuration: +
$ sudo systemctl is-active kdump
+ +If the service is not running the command will return the following output: +
inactive
+ +The service will also be masked, to check that the kdump is masked, run the following command: +
$ sudo systemctl show kdump | grep "LoadState\|UnitFileState"
+ +If the service is masked the command will return the following outputs: + +
LoadState=masked
+ +
UnitFileState=masked
Is it the case that the "kdump" is loaded and not masked? - + @@ -56389,33 +56156,23 @@ - + - + - + - + @@ -56428,25 +56185,67 @@ - + - + - + + + + + + + -
$ mountpoint /tmp
- Is it the case that "/tmp is not a mountpoint" is returned? + + + + + + + + + + + + + - - + + @@ -56458,47 +56257,57 @@ - + - + + + - - - - - + + +The debug-shell service can be disabled with the following command: +
$ sudo systemctl mask --now debug-shell.service
@@ -56511,23 +56320,23 @@ - + - + - + - + @@ -56540,33 +56349,26 @@ - + - + - + - + @@ -56579,22 +56381,31 @@ - + - + - + - - + + @@ -56606,25 +56417,23 @@ - + - + - + - + @@ -56637,24 +56446,34 @@ - + - + - + - - + + @@ -56666,40 +56485,34 @@ - + - +This rule checks if the home directory is properly defined in a folder which has +at least one parent folder, like "user" in "/home/user" or "/remote/users/user". +Therefore, this rule will report a finding for home directories like /users, +/tmp or /. - +Inspect the output and verify that all interactive users (normally users with a UID greater than 1000) have a home directory defined. Is it the case that users home directory is not defined? - - +This rule checks if the home directory is properly defined in a folder which has +at least one parent folder, like "user" in "/home/user" or "/remote/users/user". +Therefore, this rule will report a finding for home directories like /users, +/tmp or /. + @@ -56711,23 +56524,22 @@ - + - +$ sudo yum install policycoreutils - + - - +$ sudo yum install policycoreutils + @@ -56739,26 +56551,38 @@ - + - + - + - + @@ -56771,47 +56595,57 @@ - + - + - + - + @@ -56824,48 +56658,45 @@ - + - +X11UseLocalhost yes - +If a line indicating yes is returned, then the required value is set. Is it the case that the display proxy is listening on wildcard address? - +X11UseLocalhost yes @@ -56878,38 +56709,23 @@ - + - + - + - - + + @@ -56921,30 +56737,48 @@ - + - + - + - - + + @@ -56956,49 +56790,26 @@ - + - + - +/home/[localinteractiveuser]/.bash_profile:PATH=$PATH:$HOME/.local/bin:$HOME/bin Is it the case that any local interactive user initialization files have executable search path statements that include directories outside of their home directory and is not documented with the ISSO as an operational requirement? - - + + @@ -57010,29 +56821,28 @@ - + - + - + - + @@ -57045,29 +56855,38 @@ - + - + - + - - + + @@ -57079,24 +56898,40 @@ - + - + - + - - + + @@ -57108,24 +56943,25 @@ - + - + - + - - + + @@ -57137,23 +56973,23 @@ - + - + - - + @@ -57166,23 +57002,27 @@ - + - + - + - - + + @@ -57194,34 +57034,23 @@ - + - + - + - - + + @@ -57233,30 +57062,45 @@ - + - + - + - + @@ -57269,25 +57113,26 @@ - + - + - + - - + + @@ -57299,23 +57144,41 @@ - + - + - + - + @@ -57328,31 +57191,31 @@ - + +/boot. - +
$ sudo mount | grep '\s/boot\s'
+
. . . /boot . . . nosuid . . .
+ Is it the case that the "/boot" file system does not have the "nosuid" option set? +/boot. @@ -57365,37 +57228,62 @@ - + - +Multiple Domain Name System (DNS) Servers should be configured +in /etc/resolv.conf. This provides redundant name resolution services +in the event that a domain server crashes. To configure the system to contain +as least 2 DNS servers, add a corresponding nameserver +ip_address entry in /etc/resolv.conf for each DNS +server where ip_address is the IP address of a valid DNS server. +For example: +
search example.com
+nameserver 192.168.0.1
+nameserver 192.168.0.2
- + - +Multiple Domain Name System (DNS) Servers should be configured +in /etc/resolv.conf. This provides redundant name resolution services +in the event that a domain server crashes. To configure the system to contain +as least 2 DNS servers, add a corresponding nameserver +ip_address entry in /etc/resolv.conf for each DNS +server where ip_address is the IP address of a valid DNS server. +For example: +
search example.com
+nameserver 192.168.0.1
+nameserver 192.168.0.2
@@ -57408,23 +57296,23 @@ - + - + - - + @@ -57437,22 +57325,38 @@ - + - + - + - - + + @@ -57464,28 +57368,41 @@ - + - + +/etc/ssh/sshd_config: + +
RekeyLimit  
- +
$ sudo grep RekeyLimit /etc/ssh/sshd_config
+ +If configured properly, output should be +
RekeyLimit  
Is it the case that it is commented out or is not set? - + +/etc/ssh/sshd_config: + +
RekeyLimit  
@@ -57498,24 +57415,25 @@ - + - + - - - - + + + + @@ -57527,35 +57445,23 @@ - + - + - + - - + + @@ -57567,49 +57473,30 @@ - + - + - + - - + + @@ -57621,32 +57508,23 @@ - + - + - + - + @@ -57659,25 +57537,23 @@ - + - + - + - + @@ -57690,24 +57566,29 @@ - + - + - + - - + + @@ -57754,28 +57635,51 @@ - + - + - + + - - +This 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. @@ -57788,25 +57692,31 @@ - + - + - + - + @@ -57819,31 +57729,23 @@ - + - + - + - + @@ -57856,41 +57758,39 @@ - + - + - - - +If a TFTP server is installed, verify TFTP is configured by with +the -s option by running the following command: + +
grep "server_args" /etc/xinetd.d/tftp
+
server_args = -s 
Is it the case that '"server_args" line does not have a "-s" option, and a subdirectory is not assigned'? + + @@ -57903,34 +57803,23 @@ - + - + - + - + @@ -57943,38 +57832,124 @@ - + - + + + + + + + + + + + + + + + + + -/etc/ssh/sshd_config: + +Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections. + - + - + + + + + + + + + + -/etc/ssh/sshd_config: + -
IgnoreUserKnownHosts yes
+ + + + + + + @@ -57987,38 +57962,29 @@ - + - + - + - - + + @@ -58030,23 +57996,40 @@ - + - + - + - + @@ -58059,23 +58042,21 @@ - + - + - + - + @@ -58088,23 +58069,56 @@ - + - + - + - + @@ -58117,25 +58131,29 @@ - + - + - + - + @@ -58148,48 +58166,27 @@ - + - + - + - - + + @@ -58201,57 +58198,28 @@ - + - +The rsyslog service can be enabled with the following command: +
$ sudo systemctl enable rsyslog.service
- +Run the following command to determine the current status of the +rsyslog service: +
$ sudo systemctl is-active rsyslog
+If the service is running, it should return the following:
active
Is it the case that the "rsyslog" service is disabled, masked, or not started.? - +The rsyslog service can be enabled with the following command: +
$ sudo systemctl enable rsyslog.service
@@ -58264,41 +58232,17 @@ - + - + - + - + @@ -58311,24 +58255,27 @@ - + - + - + - - + + @@ -58340,31 +58287,49 @@ - + - + - + - - + + @@ -58376,21 +58341,23 @@ - + - + - + - + @@ -58403,22 +58370,44 @@ - + - + - + - + @@ -58431,21 +58420,45 @@ - + - + - + - + @@ -58458,62 +58471,38 @@ - + - + +/etc/ssh/sshd_config: + +
IgnoreUserKnownHosts yes
- - - +
$ sudo grep -i IgnoreUserKnownHosts /etc/ssh/sshd_config
+ +If a line indicating yes is returned, then the required value is set. + Is it the case that the required value is not set? + + @@ -58526,24 +58515,31 @@ - + - + - + - - + + @@ -58555,41 +58551,23 @@ - + - + - - + @@ -58602,28 +58580,22 @@ - + - + - + - + @@ -58636,26 +58608,28 @@ - + - +The rngd service can be enabled with the following command: +
$ sudo systemctl enable rngd.service
- +Run the following command to determine the current status of the +rngd service: +
$ sudo systemctl is-active rngd
+If the service is running, it should return the following:
active
Is it the case that the "rngd" service is disabled, masked, or not started.? - +The rngd service can be enabled with the following command: +
$ sudo systemctl enable rngd.service
@@ -58668,28 +58642,26 @@ - + - + - + - - + + @@ -58701,27 +58673,29 @@ - + - + - + - - + + @@ -58733,44 +58707,33 @@ - + - + - + - + @@ -58783,39 +58746,47 @@ - + - + - + - + @@ -58828,24 +58799,31 @@ - + - + - + - + @@ -58858,47 +58836,49 @@ - + - + - + - - + + @@ -58910,45 +58890,26 @@ - + - + - + - + @@ -58961,23 +58922,23 @@ - + - + - + - + @@ -58990,44 +58951,60 @@ - + - +This 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. - + + + + + + + -If a line indicating no is returned, then the required value is set. - Is it the case that the required value is not set? - - + + + + + -/etc/ssh/sshd_config: + +Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections. + + + + + + @@ -59040,26 +59017,25 @@ - + - + - + - + @@ -59072,23 +59048,19 @@ - + - + - + - - + + @@ -59100,41 +59072,23 @@ - + - + - +Storage=none Is it the case that Storage is not set to none or is commented out and the need for core dumps is not documented with the Information System Security Officer (ISSO) as an operational requirement for all domains that have the "core" item assigned? - + @@ -59147,23 +59101,30 @@ - + - + +are not group owned by a system account, given the assumption that only system +accounts have a gid lower than 1000. Run it once for each local partition PART: +
$ sudo find PART -xdev -type d -perm -0002 -gid +999 -print
Is it the case that there is output? - + @@ -59176,24 +59137,35 @@ - + - + - + - - + + @@ -59205,27 +59177,38 @@ - + - + - + - - + + @@ -59237,37 +59220,27 @@ - + - + - + - - + + @@ -59279,34 +59252,24 @@ - + - + - + - + @@ -59319,26 +59282,48 @@ - + - + - + - + @@ -59351,27 +59336,42 @@ - + - + - +If a line indicating yes is returned, then the required value is set. + Is it the case that the required value is not set? - + @@ -59383,35 +59383,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -59449,6 +59420,37 @@ + + + + + + + + + + + + + + + + + + + + + @@ -59517,25 +59519,23 @@ - + - + - +UMASK Is it the case that the value for the "UMASK" parameter is not "", or the "UMASK" parameter is missing or is commented out? - + @@ -59687,31 +59687,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -59744,41 +59719,36 @@ - - - - - - + - + - + - - + + - - - - + + + + + + + + + @@ -59843,6 +59813,36 @@ + + + + + + + + + + + + + + + + + + + + +
Group   Guide to the Secure Configuration of Red Hat Enterprise Linux 8   Group contains 106 groups and 403 rules
Group   diff --git a/table-rhel8-srgmap-flat.html b/table-rhel8-srgmap-flat.html index cf9595c..d2767e0 100644 --- a/table-rhel8-srgmap-flat.html +++ b/table-rhel8-srgmap-flat.html @@ -148,7 +148,7 @@ TBD - Assigned by DISA after STIG release The operating system must audit all account creations.CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoersCCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/ Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to create an account. Auditing account creation actions provides logging that can be used for forensic purposes. @@ -158,29 +158,29 @@ augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
Applicable - Configurable Verify the operating system automatically audits account creation. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: -$ sudo auditctl -l | grep /etc/sudoers +$ sudo auditctl -l | grep/etc/sudoers.d --w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to automatically audit account creation. At a minimum, the audit system should collect administrator actions for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
medium TBD - Assigned by DISA after STIG release The operating system must audit all account creations.CCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswdCCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadow Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to create an account. Auditing account creation actions provides logging that can be used for forensic purposes. @@ -204,21 +204,23 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system automatically audits account creation. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: -$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' +$ sudo auditctl -l | grep -E '(/etc/gshadow)' --w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to automatically audit account creation. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the @@ -226,14 +228,14 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must audit all account creations.CCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadowCCE-80761-0: Record Events that Modify User/Group Information - /etc/passwd Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to create an account. Auditing account creation actions provides logging that can be used for forensic purposes. @@ -310,23 +312,21 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system automatically audits account creation. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: - -$ sudo auditctl -l | grep -E '(/etc/gshadow)' + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: --w /etc/gshadow -p wa -k identity +$ sudo auditctl -l | grep -E '(/etc/passwd)' -If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? Configure the operating system to automatically audit account creation. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the @@ -334,14 +334,14 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must audit all account creations.CCE-80761-0: Record Events that Modify User/Group Information - /etc/passwdCCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswd Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to create an account. Auditing account creation actions provides logging that can be used for forensic purposes. @@ -365,21 +365,21 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system automatically audits account creation. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: -$ sudo auditctl -l | grep -E '(/etc/passwd)' +$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' --w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to automatically audit account creation. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the @@ -387,14 +387,59 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
medium
CCI-000018SRG-OS-000004-GPOS-00004TBD - Assigned by DISA after STIG releaseThe operating system must audit all account creations.CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoersOnce an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to create an account. Auditing account creation actions provides logging that can be used for forensic purposes. + +To address access requirements, many operating systems may be integrated with enterprise level authentication/access/auditing mechanisms that meet or exceed access control policy requirements. At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-w /etc/sudoers -p wa -k actions
Applicable - ConfigurableVerify the operating system automatically audits account creation. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + +$ sudo auditctl -l | grep /etc/sudoers + +-w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to automatically audit account creation.At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-w /etc/sudoers -p wa -k actions
medium
CCI-000018SRG-OS-000004-GPOS-00004TBD - Assigned by DISA after STIG releaseThe operating system must audit all account creations.CCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to create an account. Auditing account creation actions provides logging that can be used for forensic purposes. - -To address access requirements, many operating systems may be integrated with enterprise level authentication/access/auditing mechanisms that meet or exceed access control policy requirements. At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
Applicable - ConfigurableVerify the operating system automatically audits account creation. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: - -$ sudo auditctl -l | grep/etc/sudoers.d - --w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to automatically audit account creation.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
medium
TBD - Assigned by DISA after STIG release The operating system must enforce the limit of three consecutive invalid logon attempts by a user during a 15-minute time period.CCE-87096-4: Do Not Show System Messages When Unsuccessful Logon Attempts OccurCCE-86067-6: Lock Accounts Must Persist By limiting the number of failed logon attempts, the risk of unauthorized system access via user password guessing, otherwise known as brute-force attacks, is reduced. Limits are imposed by locking the account.This rule ensures the system prevents informative messages from being presented to the user -pertaining to logon information after a number of incorrect login attempts using -pam_faillock.so. + This rule ensures that the system lock out accounts using pam_faillock.so persist +after system reboot. From "pam_faillock" man pages: +
Note that the default directory that "pam_faillock" uses is usually cleared on system
+boot so the access will be reenabled after system reboot. If that is undesirable, a different
+tally directory must be set with the "dir" option.
pam_faillock.so module requires multiple entries in pam files. These entries must be carefully defined to work as expected. In order to avoid errors when manually editing these files, it is recommended to use the appropriate tools, such as authselect or authconfig, -depending on the OS version.
Applicable - Configurable Verify that the operating system enforces the limit of three consecutive invalid logon attempts by a user during a 15-minute time period. If it does not, this is a finding.To ensure that the system prevents messages from being shown when three unsuccessful logon -attempts occur, run the following command: -
$ grep silent /etc/security/faillock.conf
-The output should show silent. Is it the case that the system shows messages when three unsuccessful logon attempts occur?
To ensure the tally directory is configured correctly, run the following command: +
$ sudo grep 'dir =' /etc/security/faillock.conf
+The output should show that dir is set to something other than "/var/run/faillock" Is it the case that the "dir" option is not set to a non-default documented tally log directory, is missing or commented out?
Configure the operating system to enforce the limit of three consecutive invalid logon attempts by a user during a 15-minute time period.This rule ensures the system prevents informative messages from being presented to the user -pertaining to logon information after a number of incorrect login attempts using -pam_faillock.so. + This rule ensures that the system lock out accounts using pam_faillock.so persist +after system reboot. From "pam_faillock" man pages: +
Note that the default directory that "pam_faillock" uses is usually cleared on system
+boot so the access will be reenabled after system reboot. If that is undesirable, a different
+tally directory must be set with the "dir" option.
pam_faillock.so module requires multiple entries in pam files. These entries must be carefully defined to work as expected. In order to avoid errors when manually editing these files, it is recommended to use the appropriate tools, such as authselect or authconfig, -depending on the OS version.
medium TBD - Assigned by DISA after STIG release The operating system must enforce the limit of three consecutive invalid logon attempts by a user during a 15-minute time period.CCE-80670-3: Set Lockout Time for Failed Password AttemptsCCE-86248-2: An SELinux Context must be configured for the pam_faillock.so records directory By limiting the number of failed logon attempts, the risk of unauthorized system access via user password guessing, otherwise known as brute-force attacks, is reduced. Limits are imposed by locking the account.This rule configures the system to lock out accounts during a specified time period after a -number of incorrect login attempts using pam_faillock.so. - - -Ensure that the file /etc/security/faillock.conf contains the following entry: -unlock_time=<interval-in-seconds> where -interval-in-seconds is or greater. - - -pam_faillock.so module requires multiple entries in pam files. These entries must be carefully -defined to work as expected. In order to avoid any errors when manually editing these files, -it is recommended to use the appropriate tools, such as authselect or authconfig, -depending on the OS version. - -If unlock_time is set to 0, manual intervention by an administrator is required -to unlock a user. This should be done using the faillock tool.The dir configuration option in PAM pam_faillock.so module defines where the lockout +records is stored. The configured directory must have the correct SELinux context. Applicable - Configurable Verify that the operating system enforces the limit of three consecutive invalid logon attempts by a user during a 15-minute time period. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 is configured to lock an account until released by an administrator -after unsuccessful logon -attempts with the command: - + If the system does not have SELinux enabled and enforcing a targeted policy, or if the +pam_faillock.so module is not configured for use, this requirement is not applicable. -
$ grep 'unlock_time =' /etc/security/faillock.conf
-unlock_time = Is it the case that the "unlock_time" option is not set to "", -the line is missing, or commented out?
Configure the operating system to enforce the limit of three consecutive invalid logon attempts by a user during a 15-minute time period.This rule configures the system to lock out accounts during a specified time period after a -number of incorrect login attempts using pam_faillock.so. +Verify the location of the non-default tally directory for the pam_faillock.so module with +the following command: +$ sudo grep -w dir /etc/security/faillock.conf -Ensure that the file /etc/security/faillock.conf contains the following entry: -unlock_time=<interval-in-seconds> where -interval-in-seconds is or greater. +dir = /var/log/faillock +Check the security context type of the non-default tally directory with the following command: -pam_faillock.so module requires multiple entries in pam files. These entries must be carefully -defined to work as expected. In order to avoid any errors when manually editing these files, -it is recommended to use the appropriate tools, such as authselect or authconfig, -depending on the OS version. +$ sudo ls -Zd /var/log/faillock -If unlock_time is set to 0, manual intervention by an administrator is required -to unlock a user. This should be done using the faillock tool.Configure the operating system to enforce the limit of three consecutive invalid logon attempts by a user during a 15-minute time period.The dir configuration option in PAM pam_faillock.so module defines where the lockout +records is stored. The configured directory must have the correct SELinux context. medium TBD - Assigned by DISA after STIG release The operating system must enforce the limit of three consecutive invalid logon attempts by a user during a 15-minute time period.CCE-86099-9: Account Lockouts Must Be LoggedCCE-87096-4: Do Not Show System Messages When Unsuccessful Logon Attempts Occur By limiting the number of failed logon attempts, the risk of unauthorized system access via user password guessing, otherwise known as brute-force attacks, is reduced. Limits are imposed by locking the account.PAM faillock locks an account due to excessive password failures, this event must be logged.This rule ensures the system prevents informative messages from being presented to the user +pertaining to logon information after a number of incorrect login attempts using +pam_faillock.so. + +pam_faillock.so module requires multiple entries in pam files. These entries must be carefully +defined to work as expected. In order to avoid errors when manually editing these files, it is +recommended to use the appropriate tools, such as authselect or authconfig, +depending on the OS version. Applicable - Configurable Verify that the operating system enforces the limit of three consecutive invalid logon attempts by a user during a 15-minute time period. If it does not, this is a finding.Verify the "/etc/security/faillock.conf" file is configured to log user name information when unsuccessful logon attempts occur: - -$ sudo grep audit /etc/security/faillock.conf - -audit Is it the case that the "audit" option is not set, is missing or commented out?To ensure that the system prevents messages from being shown when three unsuccessful logon +attempts occur, run the following command: +
$ grep silent /etc/security/faillock.conf
+The output should show silent. Is it the case that the system shows messages when three unsuccessful logon attempts occur?
Configure the operating system to enforce the limit of three consecutive invalid logon attempts by a user during a 15-minute time period.PAM faillock locks an account due to excessive password failures, this event must be logged.This rule ensures the system prevents informative messages from being presented to the user +pertaining to logon information after a number of incorrect login attempts using +pam_faillock.so. + +pam_faillock.so module requires multiple entries in pam files. These entries must be carefully +defined to work as expected. In order to avoid errors when manually editing these files, it is +recommended to use the appropriate tools, such as authselect or authconfig, +depending on the OS version. medium TBD - Assigned by DISA after STIG release The operating system must enforce the limit of three consecutive invalid logon attempts by a user during a 15-minute time period.CCE-86248-2: An SELinux Context must be configured for the pam_faillock.so records directoryCCE-80668-7: Configure the root Account for Failed Password Attempts By limiting the number of failed logon attempts, the risk of unauthorized system access via user password guessing, otherwise known as brute-force attacks, is reduced. Limits are imposed by locking the account.The dir configuration option in PAM pam_faillock.so module defines where the lockout -records is stored. The configured directory must have the correct SELinux context.This rule configures the system to lock out the root account after a number of +incorrect login attempts using pam_faillock.so. + +pam_faillock.so module requires multiple entries in pam files. These entries must be carefully +defined to work as expected. In order to avoid errors when manually editing these files, it is +recommended to use the appropriate tools, such as authselect or authconfig, +depending on the OS version. Applicable - Configurable Verify that the operating system enforces the limit of three consecutive invalid logon attempts by a user during a 15-minute time period. If it does not, this is a finding.If the system does not have SELinux enabled and enforcing a targeted policy, or if the -pam_faillock.so module is not configured for use, this requirement is not applicable. - -Verify the location of the non-default tally directory for the pam_faillock.so module with -the following command: - -$ sudo grep -w dir /etc/security/faillock.conf - -dir = /var/log/faillock - -Check the security context type of the non-default tally directory with the following command: + Verify Red Hat Enterprise Linux 8 is configured to lock the root account after +unsuccessful logon attempts with the command: -$ sudo ls -Zd /var/log/faillock -unconfined_u:object_r:faillog_t:s0 /var/log/faillock Is it the case that the security context type of the non-default tally directory is not "faillog_t"? Configure the operating system to enforce the limit of three consecutive invalid logon attempts by a user during a 15-minute time period.The dir configuration option in PAM pam_faillock.so module defines where the lockout -records is stored. The configured directory must have the correct SELinux context.This rule configures the system to lock out the root account after a number of +incorrect login attempts using pam_faillock.so. + +pam_faillock.so module requires multiple entries in pam files. These entries must be carefully +defined to work as expected. In order to avoid errors when manually editing these files, it is +recommended to use the appropriate tools, such as authselect or authconfig, +depending on the OS version. medium TBD - Assigned by DISA after STIG release The operating system must enforce the limit of three consecutive invalid logon attempts by a user during a 15-minute time period.CCE-86067-6: Lock Accounts Must PersistCCE-86099-9: Account Lockouts Must Be Logged By limiting the number of failed logon attempts, the risk of unauthorized system access via user password guessing, otherwise known as brute-force attacks, is reduced. Limits are imposed by locking the account.This rule ensures that the system lock out accounts using pam_faillock.so persist -after system reboot. From "pam_faillock" man pages: -
Note that the default directory that "pam_faillock" uses is usually cleared on system
-boot so the access will be reenabled after system reboot. If that is undesirable, a different
-tally directory must be set with the "dir" option.
+
PAM faillock locks an account due to excessive password failures, this event must be logged.Applicable - ConfigurableVerify that the operating system enforces the limit of three consecutive invalid logon attempts by a user during a 15-minute time period. If it does not, this is a finding.Verify the "/etc/security/faillock.conf" file is configured to log user name information when unsuccessful logon attempts occur: + +$ sudo grep audit /etc/security/faillock.conf + +audit Is it the case that the "audit" option is not set, is missing or commented out?Configure the operating system to enforce the limit of three consecutive invalid logon attempts by a user during a 15-minute time period.PAM faillock locks an account due to excessive password failures, this event must be logged.medium
CCI-000044SRG-OS-000021-GPOS-00005TBD - Assigned by DISA after STIG releaseThe operating system must enforce the limit of three consecutive invalid logon attempts by a user during a 15-minute time period.CCE-80670-3: Set Lockout Time for Failed Password AttemptsBy limiting the number of failed logon attempts, the risk of unauthorized system access via user password guessing, otherwise known as brute-force attacks, is reduced. Limits are imposed by locking the account.This rule configures the system to lock out accounts during a specified time period after a +number of incorrect login attempts using pam_faillock.so. + + +Ensure that the file /etc/security/faillock.conf contains the following entry: +unlock_time=<interval-in-seconds> where +interval-in-seconds is or greater. + pam_faillock.so module requires multiple entries in pam files. These entries must be carefully -defined to work as expected. In order to avoid errors when manually editing these files, it is -recommended to use the appropriate tools, such as authselect or authconfig, +defined to work as expected. In order to avoid any errors when manually editing these files, +it is recommended to use the appropriate tools, such as authselect or authconfig, depending on the OS version. -The chosen profile expects the directory to be . Applicable - Configurable Verify that the operating system enforces the limit of three consecutive invalid logon attempts by a user during a 15-minute time period. If it does not, this is a finding.To ensure the tally directory is configured correctly, run the following command: -
$ sudo grep 'dir =' /etc/security/faillock.conf
-The output should show that dir is set to something other than "/var/run/faillock" Is it the case that the "dir" option is not set to a non-default documented tally log directory, is missing or commented out?
Verify Red Hat Enterprise Linux 8 is configured to lock an account until released by an administrator +after unsuccessful logon +attempts with the command: + + +
$ grep 'unlock_time =' /etc/security/faillock.conf
+unlock_time = Is it the case that the "unlock_time" option is not set to "", +the line is missing, or commented out?
Configure the operating system to enforce the limit of three consecutive invalid logon attempts by a user during a 15-minute time period.This rule ensures that the system lock out accounts using pam_faillock.so persist -after system reboot. From "pam_faillock" man pages: -
Note that the default directory that "pam_faillock" uses is usually cleared on system
-boot so the access will be reenabled after system reboot. If that is undesirable, a different
-tally directory must be set with the "dir" option.
+
This rule configures the system to lock out accounts during a specified time period after a +number of incorrect login attempts using pam_faillock.so. + + +Ensure that the file /etc/security/faillock.conf contains the following entry: +unlock_time=<interval-in-seconds> where +interval-in-seconds is or greater. + pam_faillock.so module requires multiple entries in pam files. These entries must be carefully -defined to work as expected. In order to avoid errors when manually editing these files, it is -recommended to use the appropriate tools, such as authselect or authconfig, +defined to work as expected. In order to avoid any errors when manually editing these files, +it is recommended to use the appropriate tools, such as authselect or authconfig, depending on the OS version. -The chosen profile expects the directory to be . medium
CCI-000044SRG-OS-000021-GPOS-00005CCI-000048SRG-OS-000023-GPOS-00006 TBD - Assigned by DISA after STIG releaseThe operating system must enforce the limit of three consecutive invalid logon attempts by a user during a 15-minute time period.The operating system must display the Standard Mandatory DoD Notice and Consent Banner before granting local or remote access to the system.CCE-80668-7: Configure the root Account for Failed Password AttemptsCCE-80905-3: Enable SSH Warning BannerBy limiting the number of failed logon attempts, the risk of unauthorized system access via user password guessing, otherwise known as brute-force attacks, is reduced. Limits are imposed by locking the account.This rule configures the system to lock out the root account after a number of -incorrect login attempts using pam_faillock.so. + 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. -pam_faillock.so module requires multiple entries in pam files. These entries must be carefully -defined to work as expected. In order to avoid errors when manually editing these files, it is -recommended to use the appropriate tools, such as authselect or authconfig, -depending on the OS version.To enable the warning banner and ensure it is consistent +across the system, add or correct the following line in + + +/etc/ssh/sshd_config: + +
Banner /etc/issue
+Another section contains information on how to create an +appropriate system-wide warning banner.
Applicable - ConfigurableVerify that the operating system enforces the limit of three consecutive invalid logon attempts by a user during a 15-minute time period. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 is configured to lock the root account after -unsuccessful logon attempts with the command: + Verify the operating system displays the Standard Mandatory DoD Notice and Consent Banner before granting access to the system. +The banner must be formatted in accordance with applicable DoD policy. Use the following verbiage for operating systems that can accommodate banners of 1300 characters: -
$ grep even_deny_root /etc/security/faillock.conf
-even_deny_root Is it the case that the "even_deny_root" option is not set, is missing or commented out?
Configure the operating system to enforce the limit of three consecutive invalid logon attempts by a user during a 15-minute time period.This rule configures the system to lock out the root account after a number of -incorrect login attempts using pam_faillock.so. +"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. -pam_faillock.so module requires multiple entries in pam files. These entries must be carefully -defined to work as expected. In order to avoid errors when manually editing these files, it is -recommended to use the appropriate tools, such as authselect or authconfig, -depending on the OS version.medium
To determine how the SSH daemon's Banner option is set, run the following command: + +
$ sudo grep -i Banner /etc/ssh/sshd_config
+ +If a line indicating /etc/issue is returned, then the required value is set. + Is it the case that the required value is not set?
Configure the operating system to display the Standard Mandatory DoD Notice and Consent Banner before granting access to the system. + +The banner must be formatted in accordance with applicable DoD policy. Use the following verbiage for operating systems that can accommodate banners of 1300 characters: + +"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. + +By using this IS (which includes any device attached to this IS), you consent to the following conditions: + +-The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. + +-At any time, the USG may inspect and seize data stored on this IS. + +-Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. + +-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. + +-Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." + +Use the following verbiage for operating systems that have severe limitations on the number of characters that can be displayed in the banner: +"I've read & consent to terms in IS user agreem't." +If it does not, this is a finding.To enable the warning banner and ensure it is consistent +across the system, add or correct the following line in +/etc/ssh/sshd_config: +
Banner /etc/issue
+Another section contains information on how to create an +appropriate system-wide warning banner.
medium
CCI-000048
CCI-000048SRG-OS-000023-GPOS-00006TBD - Assigned by DISA after STIG releaseThe operating system must display the Standard Mandatory DoD Notice and Consent Banner before granting local or remote access to the system.CCE-80905-3: Enable SSH Warning BannerDisplay 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. - -System use notifications are required only for access via logon interfaces with human users and are not required when such human interfaces do not exist. - -The banner must be formatted in accordance with applicable DoD policy. Use the following verbiage for operating systems that can accommodate banners of 1300 characters: - -"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. - -By using this IS (which includes any device attached to this IS), you consent to the following conditions: - --The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. - --At any time, the USG may inspect and seize data stored on this IS. - --Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. - --This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. - --Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." - -Use the following verbiage for operating systems that have severe limitations on the number of characters that can be displayed in the banner: - -"I've readconsent to terms in IS user agreem't."To enable the warning banner and ensure it is consistent -across the system, add or correct the following line in - - -/etc/ssh/sshd_config: - -
Banner /etc/issue
-Another section contains information on how to create an -appropriate system-wide warning banner.
Applicable - ConfigurableVerify the operating system displays the Standard Mandatory DoD Notice and Consent Banner before granting access to the system. - -The banner must be formatted in accordance with applicable DoD policy. Use the following verbiage for operating systems that can accommodate banners of 1300 characters: - -"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. - -By using this IS (which includes any device attached to this IS), you consent to the following conditions: - --The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. - --At any time, the USG may inspect and seize data stored on this IS. - --Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. - --This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. - --Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." - -Use the following verbiage for operating systems that have severe limitations on the number of characters that can be displayed in the banner: - -"I've read & consent to terms in IS user agreem't." - -If it does not, this is a finding.To determine how the SSH daemon's Banner option is set, run the following command: - -
$ sudo grep -i Banner /etc/ssh/sshd_config
- -If a line indicating /etc/issue is returned, then the required value is set. - Is it the case that the required value is not set?
Configure the operating system to display the Standard Mandatory DoD Notice and Consent Banner before granting access to the system. - -The banner must be formatted in accordance with applicable DoD policy. Use the following verbiage for operating systems that can accommodate banners of 1300 characters: - -"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. - -By using this IS (which includes any device attached to this IS), you consent to the following conditions: - --The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. - --At any time, the USG may inspect and seize data stored on this IS. - --Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. - --This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. - --Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." - -Use the following verbiage for operating systems that have severe limitations on the number of characters that can be displayed in the banner: - -"I've read & consent to terms in IS user agreem't." - -If it does not, this is a finding.To enable the warning banner and ensure it is consistent -across the system, add or correct the following line in - - -/etc/ssh/sshd_config: - -
Banner /etc/issue
-Another section contains information on how to create an -appropriate system-wide warning banner.
medium
CCI-000048 SRG-OS-000023-GPOS-00006TBD - Assigned by DISA after STIG release The operating system must retain a users session lock until that user reestablishes access using established identification and authentication procedures.CCE-90782-4: Support session locking with tmux (not enforcing)CCE-80940-0: Configure the tmux Lock Command 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 log out because of the temporary nature of the absence. The session lock is implemented at the point where session activity can be determined. Regardless of where the session lock is determined and implemented, once invoked, the session lock shall remain in place until the user re-authenticates. No other activity aside from re-authentication shall unlock the system.The tmux terminal multiplexer is used to implement -automatic session locking. It should be started from -/etc/bashrc or drop-in files within /etc/profile.d/.To enable console screen locking in tmux terminal multiplexer, +the vlock command must be configured to be used as a locking +mechanism. +Add the following line to /etc/tmux.conf: +
set -g lock-command vlock
. +The console can now be locked with the following key combination: +
ctrl+b :lock-session
Applicable - Configurable Verify the operating system retains a user's session lock until that user reestablishes access using established identification and authentication procedures. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 shell initialization file is configured to start each shell with the tmux terminal multiplexer. - -Determine the location of the tmux script with the following command: - -
$ sudo grep tmux /etc/bashrc /etc/profile.d/*
-
-/etc/profile.d/tmux.sh:  case "$name" in (sshd|login) tmux ;; esac
- -Review the tmux script by using the following example: - -
$ cat /etc/profile.d/tmux.sh
+    
Verify Red Hat Enterprise Linux 8 enables the user to initiate a session lock with the following command: -if [ "$PS1" ]; then -parent=$(ps -o ppid= -p $$) -name=$(ps -o comm= -p $parent) -case "$name" in (sshd|login) tmux ;; esac -fi +
$ grep lock-command /etc/tmux.conf
-If the shell file is not configured as the example above, is commented out, or is missing, this is a finding. +
set -g lock-command vlock
-Determine if tmux is currently running with the following command: +Then, verify that the /etc/tmux.conf file can be read by other users than root: -
$ sudo ps all | grep tmux | grep -v grep
Is it the case that the command does not produce output?
Configure the operating system to retain a user's session lock until that user reestablishes access using established identification and authentication procedures.The tmux terminal multiplexer is used to implement -automatic session locking. It should be started from -/etc/bashrc or drop-in files within /etc/profile.d/.To enable console screen locking in tmux terminal multiplexer, +the vlock command must be configured to be used as a locking +mechanism. +Add the following line to /etc/tmux.conf: +
set -g lock-command vlock
. +The console can now be locked with the following key combination: +
ctrl+b :lock-session
medium TBD - Assigned by DISA after STIG release The operating system must retain a users session lock until that user reestablishes access using established identification and authentication procedures.CCE-83910-0: Enable the GNOME3 Screen Locking On Smartcard RemovalCCE-86135-1: Configure the tmux lock session key binding 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 log out because of the temporary nature of the absence. The session lock is implemented at the point where session activity can be determined. Regardless of where the session lock is determined and implemented, once invoked, the session lock shall remain in place until the user re-authenticates. No other activity aside from re-authentication shall unlock the system.In the default graphical environment, screen locking on smartcard removal -can be enabled by setting removal-action -to 'lock-screen'. -

-To enable, add or edit removal-action to -/etc/dconf/db/local.d/00-security-settings. For example: -
[org/gnome/settings-daemon/peripherals/smartcard]
-removal-action='lock-screen'
-Once the setting has been added, add a lock to -/etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification. -For example: -
/org/gnome/settings-daemon/peripherals/smartcard/removal-action
-After the settings have been set, run dconf update.
To set a key binding for the screen locking in tmux terminal multiplexer, +the session-lock command must be bound to a key. +Add the following line to /etc/tmux.conf: +
bind X lock-session
. +The console can now be locked with the following key combination: +
Ctrl+b Shift+x
Applicable - Configurable Verify the operating system retains a user's session lock until that user reestablishes access using established identification and authentication procedures. If it does not, this is a finding.To ensure screen locking on smartcard removal is enabled, run the following command: -
$ grep removal-action /etc/dconf/db/local.d/*
-The output should be 'lock-screen'. -To ensure that users cannot disable screen locking on smartcard removal, run the following: -
$ grep removal-action /etc/dconf/db/local.d/locks/*
-If properly configured, the output should be /org/gnome/settings-daemon/peripherals/smartcard/removal-action Is it the case that removal-action has not been configured?
Verify Red Hat Enterprise Linux 8 enables the user to initiate a session lock trhough key bindings with the following commands: + +
$ grep "lock-session" /etc/tmux.conf
+ +
bind X lock-session
+ +Then, verify that the /etc/tmux.conf file can be read by other users than root: + +
$ sudo ls -al /etc/tmux.conf
Is it the case that the "lock-session" is not bound to a specific key?
Configure the operating system to retain a user's session lock until that user reestablishes access using established identification and authentication procedures.In the default graphical environment, screen locking on smartcard removal -can be enabled by setting removal-action -to 'lock-screen'. -

-To enable, add or edit removal-action to -/etc/dconf/db/local.d/00-security-settings. For example: -
[org/gnome/settings-daemon/peripherals/smartcard]
-removal-action='lock-screen'
-Once the setting has been added, add a lock to -/etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification. -For example: -
/org/gnome/settings-daemon/peripherals/smartcard/removal-action
-After the settings have been set, run dconf update.
mediumTo set a key binding for the screen locking in tmux terminal multiplexer, +the session-lock command must be bound to a key. +Add the following line to /etc/tmux.conf: +
bind X lock-session
. +The console can now be locked with the following key combination: +
Ctrl+b Shift+x
low TBD - Assigned by DISA after STIG release The operating system must retain a users session lock until that user reestablishes access using established identification and authentication procedures.CCE-86135-1: Configure the tmux lock session key bindingA 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 log out because of the temporary nature of the absence. - -The session lock is implemented at the point where session activity can be determined. - -Regardless of where the session lock is determined and implemented, once invoked, the session lock shall remain in place until the user re-authenticates. No other activity aside from re-authentication shall unlock the system.To set a key binding for the screen locking in tmux terminal multiplexer, -the session-lock command must be bound to a key. -Add the following line to /etc/tmux.conf: -
bind X lock-session
. -The console can now be locked with the following key combination: -
Ctrl+b Shift+x
Applicable - ConfigurableVerify the operating system retains a user's session lock until that user reestablishes access using established identification and authentication procedures. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 enables the user to initiate a session lock trhough key bindings with the following commands: - -
$ grep "lock-session" /etc/tmux.conf
- -
bind X lock-session
- -Then, verify that the /etc/tmux.conf file can be read by other users than root: - -
$ sudo ls -al /etc/tmux.conf
Is it the case that the "lock-session" is not bound to a specific key?
Configure the operating system to retain a user's session lock until that user reestablishes access using established identification and authentication procedures.To set a key binding for the screen locking in tmux terminal multiplexer, -the session-lock command must be bound to a key. -Add the following line to /etc/tmux.conf: -
bind X lock-session
. -The console can now be locked with the following key combination: -
Ctrl+b Shift+x
low
CCI-000056SRG-OS-000028-GPOS-00009TBD - Assigned by DISA after STIG releaseThe operating system must retain a users session lock until that user reestablishes access using established identification and authentication procedures.CCE-80940-0: Configure the tmux Lock CommandCCE-83910-0: Enable the GNOME3 Screen Locking On Smartcard Removal 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 log out because of the temporary nature of the absence. The session lock is implemented at the point where session activity can be determined. Regardless of where the session lock is determined and implemented, once invoked, the session lock shall remain in place until the user re-authenticates. No other activity aside from re-authentication shall unlock the system.To enable console screen locking in tmux terminal multiplexer, -the vlock command must be configured to be used as a locking -mechanism. -Add the following line to /etc/tmux.conf: -
set -g lock-command vlock
. -The console can now be locked with the following key combination: -
ctrl+b :lock-session
In the default graphical environment, screen locking on smartcard removal +can be enabled by setting removal-action +to 'lock-screen'. +

+To enable, add or edit removal-action to +/etc/dconf/db/local.d/00-security-settings. For example: +
[org/gnome/settings-daemon/peripherals/smartcard]
+removal-action='lock-screen'
+Once the setting has been added, add a lock to +/etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification. +For example: +
/org/gnome/settings-daemon/peripherals/smartcard/removal-action
+After the settings have been set, run dconf update.
Applicable - Configurable Verify the operating system retains a user's session lock until that user reestablishes access using established identification and authentication procedures. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 enables the user to initiate a session lock with the following command: - -
$ grep lock-command /etc/tmux.conf
- -
set -g lock-command vlock
- -Then, verify that the /etc/tmux.conf file can be read by other users than root: - -
$ sudo ls -al /etc/tmux.conf
Is it the case that the "lock-command" is not set in the global settings to call "vlock"?
To ensure screen locking on smartcard removal is enabled, run the following command: +
$ grep removal-action /etc/dconf/db/local.d/*
+The output should be 'lock-screen'. +To ensure that users cannot disable screen locking on smartcard removal, run the following: +
$ grep removal-action /etc/dconf/db/local.d/locks/*
+If properly configured, the output should be /org/gnome/settings-daemon/peripherals/smartcard/removal-action Is it the case that removal-action has not been configured?
Configure the operating system to retain a user's session lock until that user reestablishes access using established identification and authentication procedures.To enable console screen locking in tmux terminal multiplexer, -the vlock command must be configured to be used as a locking -mechanism. -Add the following line to /etc/tmux.conf: -
set -g lock-command vlock
. -The console can now be locked with the following key combination: -
ctrl+b :lock-session
In the default graphical environment, screen locking on smartcard removal +can be enabled by setting removal-action +to 'lock-screen'. +

+To enable, add or edit removal-action to +/etc/dconf/db/local.d/00-security-settings. For example: +
[org/gnome/settings-daemon/peripherals/smartcard]
+removal-action='lock-screen'
+Once the setting has been added, add a lock to +/etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification. +For example: +
/org/gnome/settings-daemon/peripherals/smartcard/removal-action
+After the settings have been set, run dconf update.
medium
CCI-000056SRG-OS-000028-GPOS-00009TBD - Assigned by DISA after STIG releaseThe operating system must retain a users session lock until that user reestablishes access using established identification and authentication procedures.CCE-90782-4: Support session locking with tmux (not enforcing)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 log out because of the temporary nature of the absence. + +The session lock is implemented at the point where session activity can be determined. +Regardless of where the session lock is determined and implemented, once invoked, the session lock shall remain in place until the user re-authenticates. No other activity aside from re-authentication shall unlock the system.The tmux terminal multiplexer is used to implement +automatic session locking. It should be started from +/etc/bashrc or drop-in files within /etc/profile.d/.Applicable - ConfigurableVerify the operating system retains a user's session lock until that user reestablishes access using established identification and authentication procedures. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 shell initialization file is configured to start each shell with the tmux terminal multiplexer. +Determine the location of the tmux script with the following command: +
$ sudo grep tmux /etc/bashrc /etc/profile.d/*
 
+/etc/profile.d/tmux.sh:  case "$name" in (sshd|login) tmux ;; esac
-
CCI-000057SRG-OS-000029-GPOS-00010TBD - Assigned by DISA after STIG releaseThe operating system must initiate a session lock after a 15-minute period of inactivity for all connection types.CCE-80775-0: Set GNOME3 Screensaver Inactivity TimeoutA session time-out lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not log out because of the temporary nature of the absence. Rather than relying on the user to manually lock their operating system session prior to vacating the vicinity, operating systems need to be able to identify when a user's session has idled and take action to initiate the session lock. +if [ "$PS1" ]; then +parent=$(ps -o ppid= -p $$) +name=$(ps -o comm= -p $parent) +case "$name" in (sshd|login) tmux ;; esac +fi -The session lock is implemented at the point where session activity can be determined and/or controlled.The idle time-out value for inactivity in the GNOME3 desktop is configured via the idle-delay -setting must be set under an appropriate configuration file(s) in the /etc/dconf/db/local.d directory -and locked in /etc/dconf/db/local.d/locks directory to prevent user modification. -

-For example, to configure the system for a 15 minute delay, add the following to -/etc/dconf/db/local.d/00-security-settings: -
[org/gnome/desktop/session]
-idle-delay=uint32 900
Applicable - ConfigurableVerify the operating system initiates a session lock after a 15-minute period of inactivity for all connection types. If it does not, this is a finding.To check the current idle time-out value, run the following command: -
$ gsettings get org.gnome.desktop.session idle-delay
-If properly configured, the output should be 'uint32 '. -To ensure that users cannot change the screensaver inactivity timeout setting, run the following: -
$ grep idle-delay /etc/dconf/db/local.d/locks/*
-If properly configured, the output should be /org/gnome/desktop/session/idle-delay Is it the case that idle-delay is set to 0 or a value greater than ?
Configure the operating system to initiate a session lock after a 15-minute period of inactivity for all connection types.The idle time-out value for inactivity in the GNOME3 desktop is configured via the idle-delay -setting must be set under an appropriate configuration file(s) in the /etc/dconf/db/local.d directory -and locked in /etc/dconf/db/local.d/locks directory to prevent user modification. -

-For example, to configure the system for a 15 minute delay, add the following to -/etc/dconf/db/local.d/00-security-settings: -
[org/gnome/desktop/session]
-idle-delay=uint32 900
Configure the operating system to retain a user's session lock until that user reestablishes access using established identification and authentication procedures.The tmux terminal multiplexer is used to implement +automatic session locking. It should be started from +/etc/bashrc or drop-in files within /etc/profile.d/. medium
CCI-000057 SRG-OS-000029-GPOS-00010 TBD - Assigned by DISA after STIG release The operating system must initiate a session lock after a 15-minute period of inactivity for all connection types.CCE-80776-8: Set GNOME3 Screensaver Lock Delay After Activation PeriodCCE-82199-1: Configure tmux to lock session after inactivity A session time-out lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not log out because of the temporary nature of the absence. Rather than relying on the user to manually lock their operating system session prior to vacating the vicinity, operating systems need to be able to identify when a user's session has idled and take action to initiate the session lock. The session lock is implemented at the point where session activity can be determined and/or controlled.To activate the locking delay of the screensaver in the GNOME3 desktop when -the screensaver is activated, add or set lock-delay to uint32 in -/etc/dconf/db/local.d/00-security-settings. For example: -
[org/gnome/desktop/screensaver]
-lock-delay=uint32 
-
-After the settings have been set, run dconf update.
To enable console screen locking in tmux terminal multiplexer +after a period of inactivity, +the lock-after-time option has to be set to a value greater than 0 and less than +or equal to 900 in /etc/tmux.conf. Applicable - Configurable Verify the operating system initiates a session lock after a 15-minute period of inactivity for all connection types. If it does not, this is a finding.To check that the screen locks immediately when activated, run the following command: -
$ gsettings get org.gnome.desktop.screensaver lock-delay
-If properly configured, the output should be 'uint32 '. Is it the case that the screensaver lock delay is missing, or is set to a value greater than ?
Verify Red Hat Enterprise Linux 8 initiates a session lock after 15 minutes of inactivity. + +Check the value of the system inactivity timeout with the following command: + +
$ grep -i lock-after-time /etc/tmux.conf
+ +
set -g lock-after-time 900
+ +Then, verify that the /etc/tmux.conf file can be read by other users than root: + +
$ sudo ls -al /etc/tmux.conf
Is it the case that "lock-after-time" is not set to "900" or less in the global tmux configuration file to enforce session lock after inactivity?
Configure the operating system to initiate a session lock after a 15-minute period of inactivity for all connection types.To activate the locking delay of the screensaver in the GNOME3 desktop when -the screensaver is activated, add or set lock-delay to uint32 in -/etc/dconf/db/local.d/00-security-settings. For example: -
[org/gnome/desktop/screensaver]
-lock-delay=uint32 
-
-After the settings have been set, run dconf update.
To enable console screen locking in tmux terminal multiplexer +after a period of inactivity, +the lock-after-time option has to be set to a value greater than 0 and less than +or equal to 900 in /etc/tmux.conf. medium
CCI-000057SRG-OS-000029-GPOS-00010TBD - Assigned by DISA after STIG releaseThe operating system must initiate a session lock after a 15-minute period of inactivity for all connection types.CCE-82199-1: Configure tmux to lock session after inactivityA session time-out lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not log out because of the temporary nature of the absence. Rather than relying on the user to manually lock their operating system session prior to vacating the vicinity, operating systems need to be able to identify when a user's session has idled and take action to initiate the session lock. - -The session lock is implemented at the point where session activity can be determined and/or controlled.To enable console screen locking in tmux terminal multiplexer -after a period of inactivity, -the lock-after-time option has to be set to a value greater than 0 and less than -or equal to 900 in /etc/tmux.conf.Applicable - ConfigurableVerify the operating system initiates a session lock after a 15-minute period of inactivity for all connection types. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 initiates a session lock after 15 minutes of inactivity. - -Check the value of the system inactivity timeout with the following command: - -
$ grep -i lock-after-time /etc/tmux.conf
- -
set -g lock-after-time 900
- -Then, verify that the /etc/tmux.conf file can be read by other users than root: - -
$ sudo ls -al /etc/tmux.conf
Is it the case that "lock-after-time" is not set to "900" or less in the global tmux configuration file to enforce session lock after inactivity?
Configure the operating system to initiate a session lock after a 15-minute period of inactivity for all connection types.To enable console screen locking in tmux terminal multiplexer -after a period of inactivity, -the lock-after-time option has to be set to a value greater than 0 and less than -or equal to 900 in /etc/tmux.conf.medium
CCI-000057 SRG-OS-000029-GPOS-00010
CCI-000057SRG-OS-000029-GPOS-00010TBD - Assigned by DISA after STIG releaseThe operating system must initiate a session lock after a 15-minute period of inactivity for all connection types.CCE-80775-0: Set GNOME3 Screensaver Inactivity TimeoutA session time-out lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not log out because of the temporary nature of the absence. Rather than relying on the user to manually lock their operating system session prior to vacating the vicinity, operating systems need to be able to identify when a user's session has idled and take action to initiate the session lock. - +The session lock is implemented at the point where session activity can be determined and/or controlled.The idle time-out value for inactivity in the GNOME3 desktop is configured via the idle-delay +setting must be set under an appropriate configuration file(s) in the /etc/dconf/db/local.d directory +and locked in /etc/dconf/db/local.d/locks directory to prevent user modification. +

+For example, to configure the system for a 15 minute delay, add the following to +/etc/dconf/db/local.d/00-security-settings: +
[org/gnome/desktop/session]
+idle-delay=uint32 900
Applicable - ConfigurableVerify the operating system initiates a session lock after a 15-minute period of inactivity for all connection types. If it does not, this is a finding.To check the current idle time-out value, run the following command: +
$ gsettings get org.gnome.desktop.session idle-delay
+If properly configured, the output should be 'uint32 '. +To ensure that users cannot change the screensaver inactivity timeout setting, run the following: +
$ grep idle-delay /etc/dconf/db/local.d/locks/*
+If properly configured, the output should be /org/gnome/desktop/session/idle-delay Is it the case that idle-delay is set to 0 or a value greater than ?
Configure the operating system to initiate a session lock after a 15-minute period of inactivity for all connection types.The idle time-out value for inactivity in the GNOME3 desktop is configured via the idle-delay +setting must be set under an appropriate configuration file(s) in the /etc/dconf/db/local.d directory +and locked in /etc/dconf/db/local.d/locks directory to prevent user modification. +

+For example, to configure the system for a 15 minute delay, add the following to +/etc/dconf/db/local.d/00-security-settings: +
[org/gnome/desktop/session]
+idle-delay=uint32 900
medium
CCI-000058SRG-OS-000030-GPOS-00011CCI-000057SRG-OS-000029-GPOS-00010 TBD - Assigned by DISA after STIG releaseThe operating system must provide the capability for users to directly initiate a session lock for all connection types.The operating system must initiate a session lock after a 15-minute period of inactivity for all connection types.CCE-90782-4: Support session locking with tmux (not enforcing)CCE-80776-8: Set GNOME3 Screensaver Lock Delay After Activation PeriodA 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 log out because of the temporary nature of the absence. + A session time-out lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not log out because of the temporary nature of the absence. Rather than relying on the user to manually lock their operating system session prior to vacating the vicinity, operating systems need to be able to identify when a user's session has idled and take action to initiate the session lock. -The session lock is implemented at the point where session activity can be determined. Rather than be forced to wait for a period of time to expire before the user session can be locked, operating systems need to provide users with the ability to manually invoke a session lock so users may secure their session should the need arise for them to temporarily vacate the immediate physical vicinity.The tmux terminal multiplexer is used to implement -automatic session locking. It should be started from -/etc/bashrc or drop-in files within /etc/profile.d/.Applicable - ConfigurableVerify the operating system provides the capability for users to directly initiate a session lock for all connection types. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 shell initialization file is configured to start each shell with the tmux terminal multiplexer. - -Determine the location of the tmux script with the following command: - -
$ sudo grep tmux /etc/bashrc /etc/profile.d/*
-
-/etc/profile.d/tmux.sh:  case "$name" in (sshd|login) tmux ;; esac
- -Review the tmux script by using the following example: - -
$ cat /etc/profile.d/tmux.sh
-
-if [ "$PS1" ]; then
-parent=$(ps -o ppid= -p $$)
-name=$(ps -o comm= -p $parent)
-case "$name" in (sshd|login) tmux ;; esac
-fi
- -If the shell file is not configured as the example above, is commented out, or is missing, this is a finding. - -Determine if tmux is currently running with the following command: - -
$ sudo ps all | grep tmux | grep -v grep
Is it the case that the command does not produce output?
Configure the operating system to provide the capability for users to directly initiate a session lock for all connection types.The tmux terminal multiplexer is used to implement -automatic session locking. It should be started from -/etc/bashrc or drop-in files within /etc/profile.d/.medium
CCI-000058SRG-OS-000030-GPOS-00011TBD - Assigned by DISA after STIG releaseThe operating system must provide the capability for users to directly initiate a session lock for all connection types.CCE-83910-0: Enable the GNOME3 Screen Locking On Smartcard RemovalA 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 log out because of the temporary nature of the absence. - -The session lock is implemented at the point where session activity can be determined. Rather than be forced to wait for a period of time to expire before the user session can be locked, operating systems need to provide users with the ability to manually invoke a session lock so users may secure their session should the need arise for them to temporarily vacate the immediate physical vicinity.In the default graphical environment, screen locking on smartcard removal -can be enabled by setting removal-action -to 'lock-screen'. -

-To enable, add or edit removal-action to +The session lock is implemented at the point where session activity can be determined and/or controlled.
To activate the locking delay of the screensaver in the GNOME3 desktop when +the screensaver is activated, add or set lock-delay to uint32 in /etc/dconf/db/local.d/00-security-settings. For example: -
[org/gnome/settings-daemon/peripherals/smartcard]
-removal-action='lock-screen'
-Once the setting has been added, add a lock to -/etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification. -For example: -
/org/gnome/settings-daemon/peripherals/smartcard/removal-action
+
[org/gnome/desktop/screensaver]
+lock-delay=uint32 
+
After the settings have been set, run dconf update.
Applicable - ConfigurableVerify the operating system provides the capability for users to directly initiate a session lock for all connection types. If it does not, this is a finding.To ensure screen locking on smartcard removal is enabled, run the following command: -
$ grep removal-action /etc/dconf/db/local.d/*
-The output should be 'lock-screen'. -To ensure that users cannot disable screen locking on smartcard removal, run the following: -
$ grep removal-action /etc/dconf/db/local.d/locks/*
-If properly configured, the output should be /org/gnome/settings-daemon/peripherals/smartcard/removal-action Is it the case that removal-action has not been configured?
Configure the operating system to provide the capability for users to directly initiate a session lock for all connection types.In the default graphical environment, screen locking on smartcard removal -can be enabled by setting removal-action -to 'lock-screen'. -

-To enable, add or edit removal-action to +
Verify the operating system initiates a session lock after a 15-minute period of inactivity for all connection types. If it does not, this is a finding.To check that the screen locks immediately when activated, run the following command: +
$ gsettings get org.gnome.desktop.screensaver lock-delay
+If properly configured, the output should be 'uint32 '. Is it the case that the screensaver lock delay is missing, or is set to a value greater than ?
Configure the operating system to initiate a session lock after a 15-minute period of inactivity for all connection types.To activate the locking delay of the screensaver in the GNOME3 desktop when +the screensaver is activated, add or set lock-delay to uint32 in /etc/dconf/db/local.d/00-security-settings. For example: -
[org/gnome/settings-daemon/peripherals/smartcard]
-removal-action='lock-screen'
-Once the setting has been added, add a lock to -/etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification. -For example: -
/org/gnome/settings-daemon/peripherals/smartcard/removal-action
+
[org/gnome/desktop/screensaver]
+lock-delay=uint32 
+
After the settings have been set, run dconf update.
medium
CCI-000058 SRG-OS-000030-GPOS-00011 TBD - Assigned by DISA after STIG release The operating system must provide the capability for users to directly initiate a session lock for all connection types.CCE-82361-7: Prevent user from disabling the screen lockCCE-80940-0: Configure the tmux Lock Command 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 log out because of the temporary nature of the absence. The session lock is implemented at the point where session activity can be determined. Rather than be forced to wait for a period of time to expire before the user session can be locked, operating systems need to provide users with the ability to manually invoke a session lock so users may secure their session should the need arise for them to temporarily vacate the immediate physical vicinity.The tmux terminal multiplexer is used to implement -automatic session locking. It should not be listed in -/etc/shells.To enable console screen locking in tmux terminal multiplexer, +the vlock command must be configured to be used as a locking +mechanism. +Add the following line to /etc/tmux.conf: +
set -g lock-command vlock
. +The console can now be locked with the following key combination: +
ctrl+b :lock-session
Applicable - Configurable Verify the operating system provides the capability for users to directly initiate a session lock for all connection types. If it does not, this is a finding.To verify that tmux is not listed as allowed shell on the system -run the following command: -
$ grep 'tmux$' /etc/shells
-The output should be empty. Is it the case that tmux is listed in /etc/shells?
Verify Red Hat Enterprise Linux 8 enables the user to initiate a session lock with the following command: + +
$ grep lock-command /etc/tmux.conf
+ +
set -g lock-command vlock
+ +Then, verify that the /etc/tmux.conf file can be read by other users than root: + +
$ sudo ls -al /etc/tmux.conf
Is it the case that the "lock-command" is not set in the global settings to call "vlock"?
Configure the operating system to provide the capability for users to directly initiate a session lock for all connection types.The tmux terminal multiplexer is used to implement -automatic session locking. It should not be listed in -/etc/shells.lowTo enable console screen locking in tmux terminal multiplexer, +the vlock command must be configured to be used as a locking +mechanism. +Add the following line to /etc/tmux.conf: +
set -g lock-command vlock
. +The console can now be locked with the following key combination: +
ctrl+b :lock-session
medium TBD - Assigned by DISA after STIG release The operating system must provide the capability for users to directly initiate a session lock for all connection types.CCE-80940-0: Configure the tmux Lock CommandCCE-82361-7: Prevent user from disabling the screen lock 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 log out because of the temporary nature of the absence. The session lock is implemented at the point where session activity can be determined. Rather than be forced to wait for a period of time to expire before the user session can be locked, operating systems need to provide users with the ability to manually invoke a session lock so users may secure their session should the need arise for them to temporarily vacate the immediate physical vicinity.To enable console screen locking in tmux terminal multiplexer, -the vlock command must be configured to be used as a locking -mechanism. -Add the following line to /etc/tmux.conf: -
set -g lock-command vlock
. -The console can now be locked with the following key combination: -
ctrl+b :lock-session
The tmux terminal multiplexer is used to implement +automatic session locking. It should not be listed in +/etc/shells. Applicable - Configurable Verify the operating system provides the capability for users to directly initiate a session lock for all connection types. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 enables the user to initiate a session lock with the following command: + To verify that tmux is not listed as allowed shell on the system +run the following command: +
$ grep 'tmux$' /etc/shells
+The output should be empty. Is it the case that tmux is listed in /etc/shells?
Configure the operating system to provide the capability for users to directly initiate a session lock for all connection types.The tmux terminal multiplexer is used to implement +automatic session locking. It should not be listed in +/etc/shells.low
CCI-000058SRG-OS-000030-GPOS-00011TBD - Assigned by DISA after STIG releaseThe operating system must provide the capability for users to directly initiate a session lock for all connection types.CCE-83910-0: Enable the GNOME3 Screen Locking On Smartcard RemovalA 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 log out because of the temporary nature of the absence. -
$ sudo ls -al /etc/tmux.conf
Is it the case that the "lock-command" is not set in the global settings to call "vlock"?
In the default graphical environment, screen locking on smartcard removal +can be enabled by setting removal-action +to 'lock-screen'. +

+To enable, add or edit removal-action to +/etc/dconf/db/local.d/00-security-settings. For example: +
[org/gnome/settings-daemon/peripherals/smartcard]
+removal-action='lock-screen'
+Once the setting has been added, add a lock to +/etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification. +For example: +
/org/gnome/settings-daemon/peripherals/smartcard/removal-action
+After the settings have been set, run dconf update.
Applicable - ConfigurableVerify the operating system provides the capability for users to directly initiate a session lock for all connection types. If it does not, this is a finding.To ensure screen locking on smartcard removal is enabled, run the following command: +
$ grep removal-action /etc/dconf/db/local.d/*
+The output should be 'lock-screen'. +To ensure that users cannot disable screen locking on smartcard removal, run the following: +
$ grep removal-action /etc/dconf/db/local.d/locks/*
+If properly configured, the output should be /org/gnome/settings-daemon/peripherals/smartcard/removal-action Is it the case that removal-action has not been configured?
Configure the operating system to provide the capability for users to directly initiate a session lock for all connection types.To enable console screen locking in tmux terminal multiplexer, -the vlock command must be configured to be used as a locking -mechanism. -Add the following line to /etc/tmux.conf: -
set -g lock-command vlock
. -The console can now be locked with the following key combination: -
ctrl+b :lock-session
In the default graphical environment, screen locking on smartcard removal +can be enabled by setting removal-action +to 'lock-screen'. +

+To enable, add or edit removal-action to +/etc/dconf/db/local.d/00-security-settings. For example: +
[org/gnome/settings-daemon/peripherals/smartcard]
+removal-action='lock-screen'
+Once the setting has been added, add a lock to +/etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification. +For example: +
/org/gnome/settings-daemon/peripherals/smartcard/removal-action
+After the settings have been set, run dconf update.
medium
CCI-000060SRG-OS-000031-GPOS-00012CCI-000058SRG-OS-000030-GPOS-00011 TBD - Assigned by DISA after STIG releaseThe operating system must conceal, via the session lock, information previously visible on the display with a publicly viewable image.The operating system must provide the capability for users to directly initiate a session lock for all connection types. CCE-90782-4: Support session locking with tmux (not enforcing)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 log out because of the temporary nature of the absence. - -The session lock is implemented at the point where session activity can be determined. The operating system session lock event must include an obfuscation of the display screen so as to prevent other users from reading what was previously displayed. + 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 log out because of the temporary nature of the absence. -Publicly viewable images can include static or dynamic images, for example, patterns used with screen savers, photographic images, solid colors, a clock, a battery life indicator, or a blank screen, with the additional caveat that none of the images convey sensitive information. The tmux terminal multiplexer is used to implement automatic session locking. It should be started from /etc/bashrc or drop-in files within /etc/profile.d/. Applicable - ConfigurableVerify the operating system conceals, via the session lock, information previously visible on the display with a publicly viewable image. If it does not, this is a finding.Verify the operating system provides the capability for users to directly initiate a session lock for all connection types. If it does not, this is a finding. Verify Red Hat Enterprise Linux 8 shell initialization file is configured to start each shell with the tmux terminal multiplexer. Determine the location of the tmux script with the following command: @@ -2294,7 +2238,7 @@ Determine if tmux is currently running with the following command:
$ sudo ps all | grep tmux | grep -v grep
Is it the case that the command does not produce output?
Configure the operating system to conceal, via the session lock, information previously visible on the display with a publicly viewable image.Configure the operating system to provide the capability for users to directly initiate a session lock for all connection types. The tmux terminal multiplexer is used to implement automatic session locking. It should be started from /etc/bashrc or drop-in files within /etc/profile.d/.
CCI-000060 SRG-OS-000031-GPOS-00012 TBD - Assigned by DISA after STIG release The operating system must conceal, via the session lock, information previously visible on the display with a publicly viewable image.CCE-80775-0: Set GNOME3 Screensaver Inactivity TimeoutCCE-82199-1: Configure tmux to lock session after inactivity 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 log out because of the temporary nature of the absence. The session lock is implemented at the point where session activity can be determined. The operating system session lock event must include an obfuscation of the display screen so as to prevent other users from reading what was previously displayed. Publicly viewable images can include static or dynamic images, for example, patterns used with screen savers, photographic images, solid colors, a clock, a battery life indicator, or a blank screen, with the additional caveat that none of the images convey sensitive information.The idle time-out value for inactivity in the GNOME3 desktop is configured via the idle-delay -setting must be set under an appropriate configuration file(s) in the /etc/dconf/db/local.d directory -and locked in /etc/dconf/db/local.d/locks directory to prevent user modification. -

-For example, to configure the system for a 15 minute delay, add the following to -/etc/dconf/db/local.d/00-security-settings: -
[org/gnome/desktop/session]
-idle-delay=uint32 900
To enable console screen locking in tmux terminal multiplexer +after a period of inactivity, +the lock-after-time option has to be set to a value greater than 0 and less than +or equal to 900 in /etc/tmux.conf. Applicable - Configurable Verify the operating system conceals, via the session lock, information previously visible on the display with a publicly viewable image. If it does not, this is a finding.To check the current idle time-out value, run the following command: -
$ gsettings get org.gnome.desktop.session idle-delay
-If properly configured, the output should be 'uint32 '. -To ensure that users cannot change the screensaver inactivity timeout setting, run the following: -
$ grep idle-delay /etc/dconf/db/local.d/locks/*
-If properly configured, the output should be /org/gnome/desktop/session/idle-delay Is it the case that idle-delay is set to 0 or a value greater than ?
Verify Red Hat Enterprise Linux 8 initiates a session lock after 15 minutes of inactivity. + +Check the value of the system inactivity timeout with the following command: + +
$ grep -i lock-after-time /etc/tmux.conf
+ +
set -g lock-after-time 900
+ +Then, verify that the /etc/tmux.conf file can be read by other users than root: + +
$ sudo ls -al /etc/tmux.conf
Is it the case that "lock-after-time" is not set to "900" or less in the global tmux configuration file to enforce session lock after inactivity?
Configure the operating system to conceal, via the session lock, information previously visible on the display with a publicly viewable image.The idle time-out value for inactivity in the GNOME3 desktop is configured via the idle-delay -setting must be set under an appropriate configuration file(s) in the /etc/dconf/db/local.d directory -and locked in /etc/dconf/db/local.d/locks directory to prevent user modification. -

-For example, to configure the system for a 15 minute delay, add the following to -/etc/dconf/db/local.d/00-security-settings: -
[org/gnome/desktop/session]
-idle-delay=uint32 900
To enable console screen locking in tmux terminal multiplexer +after a period of inactivity, +the lock-after-time option has to be set to a value greater than 0 and less than +or equal to 900 in /etc/tmux.conf. medium TBD - Assigned by DISA after STIG release The operating system must conceal, via the session lock, information previously visible on the display with a publicly viewable image.CCE-80776-8: Set GNOME3 Screensaver Lock Delay After Activation PeriodCCE-80780-0: Ensure Users Cannot Change GNOME3 Screensaver Settings 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 log out because of the temporary nature of the absence. The session lock is implemented at the point where session activity can be determined. The operating system session lock event must include an obfuscation of the display screen so as to prevent other users from reading what was previously displayed. Publicly viewable images can include static or dynamic images, for example, patterns used with screen savers, photographic images, solid colors, a clock, a battery life indicator, or a blank screen, with the additional caveat that none of the images convey sensitive information.To activate the locking delay of the screensaver in the GNOME3 desktop when -the screensaver is activated, add or set lock-delay to uint32 in -/etc/dconf/db/local.d/00-security-settings. For example: -
[org/gnome/desktop/screensaver]
-lock-delay=uint32 
-
+
If not already configured, ensure that users cannot change GNOME3 screensaver lock settings +by adding /org/gnome/desktop/screensaver/lock-delay +to /etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification. +For example: +
/org/gnome/desktop/screensaver/lock-delay
After the settings have been set, run dconf update.
Applicable - Configurable Verify the operating system conceals, via the session lock, information previously visible on the display with a publicly viewable image. If it does not, this is a finding.To check that the screen locks immediately when activated, run the following command: -
$ gsettings get org.gnome.desktop.screensaver lock-delay
-If properly configured, the output should be 'uint32 '. Is it the case that the screensaver lock delay is missing, or is set to a value greater than ?
To ensure that users cannot change session idle and lock settings, run the following: +
$ grep 'lock-delay' /etc/dconf/db/local.d/locks/*
+If properly configured, the output should return: +/org/gnome/desktop/screensaver/lock-delay Is it the case that GNOME3 session settings are not locked or configured properly?
Configure the operating system to conceal, via the session lock, information previously visible on the display with a publicly viewable image.To activate the locking delay of the screensaver in the GNOME3 desktop when -the screensaver is activated, add or set lock-delay to uint32 in -/etc/dconf/db/local.d/00-security-settings. For example: -
[org/gnome/desktop/screensaver]
-lock-delay=uint32 
-
+
If not already configured, ensure that users cannot change GNOME3 screensaver lock settings +by adding /org/gnome/desktop/screensaver/lock-delay +to /etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification. +For example: +
/org/gnome/desktop/screensaver/lock-delay
After the settings have been set, run dconf update.
medium TBD - Assigned by DISA after STIG release The operating system must conceal, via the session lock, information previously visible on the display with a publicly viewable image.CCE-80780-0: Ensure Users Cannot Change GNOME3 Screensaver SettingsCCE-80781-8: Ensure Users Cannot Change GNOME3 Session Idle Settings 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 log out because of the temporary nature of the absence. The session lock is implemented at the point where session activity can be determined. The operating system session lock event must include an obfuscation of the display screen so as to prevent other users from reading what was previously displayed. Publicly viewable images can include static or dynamic images, for example, patterns used with screen savers, photographic images, solid colors, a clock, a battery life indicator, or a blank screen, with the additional caveat that none of the images convey sensitive information.If not already configured, ensure that users cannot change GNOME3 screensaver lock settings -by adding /org/gnome/desktop/screensaver/lock-delay + If not already configured, ensure that users cannot change GNOME3 session idle settings +by adding /org/gnome/desktop/session/idle-delay to /etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification. For example: -
/org/gnome/desktop/screensaver/lock-delay
+
/org/gnome/desktop/session/idle-delay
After the settings have been set, run dconf update.
Applicable - Configurable Verify the operating system conceals, via the session lock, information previously visible on the display with a publicly viewable image. If it does not, this is a finding. To ensure that users cannot change session idle and lock settings, run the following: -
$ grep 'lock-delay' /etc/dconf/db/local.d/locks/*
+
$ grep 'idle-delay' /etc/dconf/db/local.d/locks/*
If properly configured, the output should return: -/org/gnome/desktop/screensaver/lock-delay Is it the case that GNOME3 session settings are not locked or configured properly?
Configure the operating system to conceal, via the session lock, information previously visible on the display with a publicly viewable image.If not already configured, ensure that users cannot change GNOME3 screensaver lock settings -by adding /org/gnome/desktop/screensaver/lock-delay + If not already configured, ensure that users cannot change GNOME3 session idle settings +by adding /org/gnome/desktop/session/idle-delay to /etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification. For example: -
/org/gnome/desktop/screensaver/lock-delay
+
/org/gnome/desktop/session/idle-delay
After the settings have been set, run dconf update.
medium TBD - Assigned by DISA after STIG release The operating system must conceal, via the session lock, information previously visible on the display with a publicly viewable image.CCE-82199-1: Configure tmux to lock session after inactivityCCE-80775-0: Set GNOME3 Screensaver Inactivity Timeout 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 log out because of the temporary nature of the absence. The session lock is implemented at the point where session activity can be determined. The operating system session lock event must include an obfuscation of the display screen so as to prevent other users from reading what was previously displayed. Publicly viewable images can include static or dynamic images, for example, patterns used with screen savers, photographic images, solid colors, a clock, a battery life indicator, or a blank screen, with the additional caveat that none of the images convey sensitive information.To enable console screen locking in tmux terminal multiplexer -after a period of inactivity, -the lock-after-time option has to be set to a value greater than 0 and less than -or equal to 900 in /etc/tmux.conf.The idle time-out value for inactivity in the GNOME3 desktop is configured via the idle-delay +setting must be set under an appropriate configuration file(s) in the /etc/dconf/db/local.d directory +and locked in /etc/dconf/db/local.d/locks directory to prevent user modification. +

+For example, to configure the system for a 15 minute delay, add the following to +/etc/dconf/db/local.d/00-security-settings: +
[org/gnome/desktop/session]
+idle-delay=uint32 900
Applicable - Configurable Verify the operating system conceals, via the session lock, information previously visible on the display with a publicly viewable image. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 initiates a session lock after 15 minutes of inactivity. + To check the current idle time-out value, run the following command: +
$ gsettings get org.gnome.desktop.session idle-delay
+If properly configured, the output should be 'uint32 '. +To ensure that users cannot change the screensaver inactivity timeout setting, run the following: +
$ grep idle-delay /etc/dconf/db/local.d/locks/*
+If properly configured, the output should be /org/gnome/desktop/session/idle-delay Is it the case that idle-delay is set to 0 or a value greater than ?
Configure the operating system to conceal, via the session lock, information previously visible on the display with a publicly viewable image.The idle time-out value for inactivity in the GNOME3 desktop is configured via the idle-delay +setting must be set under an appropriate configuration file(s) in the /etc/dconf/db/local.d directory +and locked in /etc/dconf/db/local.d/locks directory to prevent user modification. +

+For example, to configure the system for a 15 minute delay, add the following to +/etc/dconf/db/local.d/00-security-settings: +
[org/gnome/desktop/session]
+idle-delay=uint32 900
medium
CCI-000060SRG-OS-000031-GPOS-00012TBD - Assigned by DISA after STIG releaseThe operating system must conceal, via the session lock, information previously visible on the display with a publicly viewable image.CCE-90782-4: Support session locking with tmux (not enforcing)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 log out because of the temporary nature of the absence. -Then, verify that the /etc/tmux.conf file can be read by other users than root: +The session lock is implemented at the point where session activity can be determined. The operating system session lock event must include an obfuscation of the display screen so as to prevent other users from reading what was previously displayed. -
$ sudo ls -al /etc/tmux.conf
Is it the case that "lock-after-time" is not set to "900" or less in the global tmux configuration file to enforce session lock after inactivity?
The tmux terminal multiplexer is used to implement +automatic session locking. It should be started from +/etc/bashrc or drop-in files within /etc/profile.d/.Applicable - ConfigurableVerify the operating system conceals, via the session lock, information previously visible on the display with a publicly viewable image. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 shell initialization file is configured to start each shell with the tmux terminal multiplexer. + +Determine the location of the tmux script with the following command: + +
$ sudo grep tmux /etc/bashrc /etc/profile.d/*
+
+/etc/profile.d/tmux.sh:  case "$name" in (sshd|login) tmux ;; esac
+ +Review the tmux script by using the following example: + +
$ cat /etc/profile.d/tmux.sh
+
+if [ "$PS1" ]; then
+parent=$(ps -o ppid= -p $$)
+name=$(ps -o comm= -p $parent)
+case "$name" in (sshd|login) tmux ;; esac
+fi
+ +If the shell file is not configured as the example above, is commented out, or is missing, this is a finding. + +Determine if tmux is currently running with the following command: + +
$ sudo ps all | grep tmux | grep -v grep
Is it the case that the command does not produce output?
Configure the operating system to conceal, via the session lock, information previously visible on the display with a publicly viewable image.To enable console screen locking in tmux terminal multiplexer -after a period of inactivity, -the lock-after-time option has to be set to a value greater than 0 and less than -or equal to 900 in /etc/tmux.conf.The tmux terminal multiplexer is used to implement +automatic session locking. It should be started from +/etc/bashrc or drop-in files within /etc/profile.d/. medium TBD - Assigned by DISA after STIG release The operating system must conceal, via the session lock, information previously visible on the display with a publicly viewable image.CCE-80781-8: Ensure Users Cannot Change GNOME3 Session Idle SettingsCCE-80776-8: Set GNOME3 Screensaver Lock Delay After Activation Period 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 log out because of the temporary nature of the absence. The session lock is implemented at the point where session activity can be determined. The operating system session lock event must include an obfuscation of the display screen so as to prevent other users from reading what was previously displayed. Publicly viewable images can include static or dynamic images, for example, patterns used with screen savers, photographic images, solid colors, a clock, a battery life indicator, or a blank screen, with the additional caveat that none of the images convey sensitive information.If not already configured, ensure that users cannot change GNOME3 session idle settings -by adding /org/gnome/desktop/session/idle-delay -to /etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification. -For example: -
/org/gnome/desktop/session/idle-delay
+
To activate the locking delay of the screensaver in the GNOME3 desktop when +the screensaver is activated, add or set lock-delay to uint32 in +/etc/dconf/db/local.d/00-security-settings. For example: +
[org/gnome/desktop/screensaver]
+lock-delay=uint32 
+
After the settings have been set, run dconf update.
Applicable - Configurable Verify the operating system conceals, via the session lock, information previously visible on the display with a publicly viewable image. If it does not, this is a finding.To ensure that users cannot change session idle and lock settings, run the following: -
$ grep 'idle-delay' /etc/dconf/db/local.d/locks/*
-If properly configured, the output should return: -/org/gnome/desktop/session/idle-delay Is it the case that idle-delay is not locked?
To check that the screen locks immediately when activated, run the following command: +
$ gsettings get org.gnome.desktop.screensaver lock-delay
+If properly configured, the output should be 'uint32 '. Is it the case that the screensaver lock delay is missing, or is set to a value greater than ?
Configure the operating system to conceal, via the session lock, information previously visible on the display with a publicly viewable image.If not already configured, ensure that users cannot change GNOME3 session idle settings -by adding /org/gnome/desktop/session/idle-delay -to /etc/dconf/db/local.d/locks/00-security-settings-lock to prevent user modification. -For example: -
/org/gnome/desktop/session/idle-delay
+
To activate the locking delay of the screensaver in the GNOME3 desktop when +the screensaver is activated, add or set lock-delay to uint32 in +/etc/dconf/db/local.d/00-security-settings. For example: +
[org/gnome/desktop/screensaver]
+lock-delay=uint32 
+
After the settings have been set, run dconf update.
medium
CCI-000068SRG-OS-000033-GPOS-00014TBD - Assigned by DISA after STIG releaseThe operating system must implement DoD-approved encryption to protect the confidentiality of remote access sessions.CCE-84027-2: Set kernel parameter 'crypto.fips_enabled' to 1Without confidentiality protection mechanisms, unauthorized individuals may gain access to sensitive information via a remote access session. - -Remote access is access to DoD nonpublic information systems by an authorized user (or an information system) communicating through an external, non-organization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. - -Encryption provides a means to secure the remote connection to prevent unauthorized access to the data traversing the remote access connection (e.g., RDP), thereby providing a degree of confidentiality. The encryption strength of a mechanism is selected based on the security categorization of the information.System running in FIPS mode is indicated by kernel parameter -'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. -To enable FIPS mode, run the following command: -
fips-mode-setup --enable
- -To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot -parameters during system installation so key generation is done with FIPS-approved algorithms -and continuous monitoring tests in place.
Applicable - ConfigurableVerify the operating system implements DoD-approved encryption to protect the confidentiality of remote access sessions. If it does not, this is a finding.To verify that kernel parameter 'crypto.fips_enabled' is set properly, run the following command: -
sysctl crypto.fips_enabled
-The output should contain the following: -
crypto.fips_enabled = 1
Is it the case that crypto.fips_enabled is not 1?
Configure the operating system to implement DoD-approved encryption to protect the confidentiality of remote access sessions.System running in FIPS mode is indicated by kernel parameter -'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. -To enable FIPS mode, run the following command: -
fips-mode-setup --enable
- -To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot -parameters during system installation so key generation is done with FIPS-approved algorithms -and continuous monitoring tests in place.
high
CCI-000068 SRG-OS-000033-GPOS-00014
CCI-000130SRG-OS-000037-GPOS-00015CCI-000068SRG-OS-000033-GPOS-00014 TBD - Assigned by DISA after STIG releaseThe operating system must produce audit records containing information to establish what type of events occurred.The operating system must implement DoD-approved encryption to protect the confidentiality of remote access sessions.CCE-80754-5: Record Unsuccessful Access Attempts to Files - openatCCE-84027-2: Set kernel parameter 'crypto.fips_enabled' to 1Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. + Without confidentiality protection mechanisms, unauthorized individuals may gain access to sensitive information via a remote access session. -Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. +Remote access is access to DoD nonpublic information systems by an authorized user (or an information system) communicating through an external, non-organization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. -Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+Encryption provides a means to secure the remote connection to prevent unauthorized access to the data traversing the remote access connection (e.g., RDP), thereby providing a degree of confidentiality. The encryption strength of a mechanism is selected based on the security categorization of the information.
System running in FIPS mode is indicated by kernel parameter +'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. +To enable FIPS mode, run the following command: +
fips-mode-setup --enable
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - ConfigurableVerify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the openat system call. - -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: - -$ sudo grep -r openat /etc/audit/rules.d - -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + Verify the operating system implements DoD-approved encryption to protect the confidentiality of remote access sessions. If it does not, this is a finding.To verify that kernel parameter 'crypto.fips_enabled' is set properly, run the following command: +
sysctl crypto.fips_enabled
+The output should contain the following: +
crypto.fips_enabled = 1
Is it the case that crypto.fips_enabled is not 1?
Configure the operating system to implement DoD-approved encryption to protect the confidentiality of remote access sessions.System running in FIPS mode is indicated by kernel parameter +'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. +To enable FIPS mode, run the following command: +
fips-mode-setup --enable
-$ sudo grep openat /etc/audit/audit.rules +To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot +parameters during system installation so key generation is done with FIPS-approved algorithms +and continuous monitoring tests in place.
high
Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium
CCI-000130TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80711-5: Ensure auditd Collects Information on Kernel Module Unloading - delete_moduleCCE-80704-0: Ensure auditd Collects File Deletion Events by User - renameat Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.To capture kernel module unloading events, use following line, setting ARCH to -either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: - -
-a always,exit -F arch=ARCH -S delete_module -F auid>=1000 -F auid!=unset -F key=modules
- - -Place to add the line depends on a way auditd daemon is configured. If it is configured -to use the augenrules program (the default), add the line to a file with suffix -.rules in the directory /etc/audit/rules.d. - -If the auditd daemon is configured to use the auditctl utility, -add the line to file /etc/audit/audit.rules.
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding. To determine if the system is configured to audit calls to the -delete_module system call, run the following command: -
$ sudo grep "delete_module" /etc/audit/audit.*
+renameat system call, run the following command: +
$ sudo grep "renameat" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.To capture kernel module unloading events, use following line, setting ARCH to -either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: - -
-a always,exit -F arch=ARCH -S delete_module -F auid>=1000 -F auid!=unset -F key=modules
- - -Place to add the line depends on a way auditd daemon is configured. If it is configured -to use the augenrules program (the default), add the line to a file with suffix -.rules in the directory /etc/audit/rules.d. - -If the auditd daemon is configured to use the auditctl utility, -add the line to file /etc/audit/audit.rules.
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80685-1: Record Events that Modify the System's Discretionary Access Controls - chmodCCE-89446-9: Record Any Attempts to Run chacl Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect any execution attempt +of the chacl command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.To determine if the system is configured to audit calls to the -chmod system call, run the following command: -
$ sudo grep "chmod" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chacl" command with the following command: + +$ sudo auditctl -l | grep chacl + +-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect any execution attempt +of the chacl command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80697-6: Record Events that Modify the System's Discretionary Access Controls - setxattrCCE-80741-2: Ensure auditd Collects Information on the Use of Privileged Commands - userhelper Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.To determine if the system is configured to audit calls to the -setxattr system call, run the following command: -
$ sudo grep "setxattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "userhelper" command with the following command: + +$ sudo auditctl -l | grep userhelper + +-a always,exit -F path=/usr/bin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -k privileged-userhelper Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoersCCE-80733-9: Ensure auditd Collects Information on the Use of Privileged Commands - postqueue Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postqueue" command with the following command: -$ sudo auditctl -l | grep /etc/sudoers +$ sudo auditctl -l | grep postqueue --w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80690-1: Record Events that Modify the System's Discretionary Access Controls - fchownatCCE-80728-9: Ensure auditd Collects Information on the Use of Privileged Commands - gpasswd Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.To determine if the system is configured to audit calls to the -fchownat system call, run the following command: -
$ sudo grep "fchownat" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "gpasswd" command with the following command: + +$ sudo auditctl -l | grep gpasswd + +-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-gpasswd Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-82280-9: Record Any Attempts to Run setfilesCCE-80711-5: Ensure auditd Collects Information on Kernel Module Unloading - delete_module Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect any execution attempt -of the setfiles command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
To capture kernel module unloading events, use following line, setting ARCH to +either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: + +
-a always,exit -F arch=ARCH -S delete_module -F auid>=1000 -F auid!=unset -F key=modules
+ + +Place to add the line depends on a way auditd daemon is configured. If it is configured +to use the augenrules program (the default), add the line to a file with suffix +.rules in the directory /etc/audit/rules.d. + +If the auditd daemon is configured to use the auditctl utility, +add the line to file /etc/audit/audit.rules.
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfiles" command with the following command: + To determine if the system is configured to audit calls to the +delete_module system call, run the following command: +
$ sudo grep "delete_module" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.To capture kernel module unloading events, use following line, setting ARCH to +either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: -$ sudo auditctl -l | grep setfiles +
-a always,exit -F arch=ARCH -S delete_module -F auid>=1000 -F auid!=unset -F key=modules
--a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out?
Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect any execution attempt -of the setfiles command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80700-8: Record Any Attempts to Run semanageCCE-89480-8: Ensure auditd Collects Information on the Use of Privileged Commands - unix_update Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect any execution attempt -of the semanage command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "semanage" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_update" command with the following command: -$ sudo auditctl -l | grep semanage +$ sudo auditctl -l | grep unix_update --a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect any execution attempt -of the semanage command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80692-7: Record Events that Modify the System's Discretionary Access Controls - fsetxattrCCE-80707-3: Ensure auditd Collects File Deletion Events by User - unlinkat Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fsetxattr system call, run the following command: -
$ sudo grep "fsetxattr" /etc/audit/audit.*
+unlinkat system call, run the following command: +
$ sudo grep "unlinkat" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-88437-9: Record Any Attempts to Run setfaclWithout establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. - -Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. - -Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect any execution attempt -of the setfacl command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfacl" command with the following command: - -$ sudo auditctl -l | grep setfacl - --a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect any execution attempt -of the setfacl command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000130SRG-OS-000037-GPOS-00015TBD - Assigned by DISA after STIG releaseThe operating system must produce audit records containing information to establish what type of events occurred.CCE-80732-1: Ensure auditd Collects Information on the Use of Privileged Commands - postdropCCE-80740-4: Ensure auditd Collects Information on the Use of Privileged Commands - unix_chkpwd Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. @@ -3331,29 +3160,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postdrop" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_chkpwd" command with the following command: -$ sudo auditctl -l | grep postdrop +$ sudo auditctl -l | grep unix_chkpwd --a always,exit -F path=/usr/bin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postdrop Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80694-3: Record Events that Modify the System's Discretionary Access Controls - lremovexattrCCE-80691-9: Record Events that Modify the System's Discretionary Access Controls - fremovexattr Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. @@ -3380,27 +3209,27 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding. To determine if the system is configured to audit calls to the -lremovexattr system call, run the following command: -
$ sudo grep "lremovexattr" /etc/audit/audit.*
+fremovexattr system call, run the following command: +
$ sudo grep "fremovexattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred. medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80689-3: Record Events that Modify the System's Discretionary Access Controls - fchownCCE-80697-6: Record Events that Modify the System's Discretionary Access Controls - setxattr Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. @@ -3451,23 +3280,24 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fchown system call, run the following command: -
$ sudo grep "fchown" /etc/audit/audit.*
+setxattr system call, run the following command: +
$ sudo grep "setxattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred. medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80696-8: Record Events that Modify the System's Discretionary Access Controls - removexattrCCE-80739-6: Ensure auditd Collects Information on the Use of Privileged Commands - umount Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured to use the augenrules -program to read audit rules during daemon startup (the default), add the -following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
-

+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.To determine if the system is configured to audit calls to the -removexattr system call, run the following command: -
$ sudo grep "removexattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "umount" command with the following command: + +$ sudo auditctl -l | grep umount + +-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-umount Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured to use the augenrules -program to read audit rules during daemon startup (the default), add the -following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
-

+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80701-6: Record Any Attempts to Run setseboolCCE-80752-9: Record Unsuccessful Access Attempts to Files - ftruncate Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect any execution attempt -of the setsebool command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setsebool" command with the following command: + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the ftruncate system call. -$ sudo auditctl -l | grep setsebool +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: --a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -k privileged Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect any execution attempt -of the setsebool command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswdCCE-80756-0: Record Unsuccessful Access Attempts to Files - truncate Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the truncate system call. -$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: --w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80758-6: Record Events that Modify User/Group Information - /etc/groupCCE-80686-9: Record Events that Modify the System's Discretionary Access Controls - chown Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.If the auditd daemon is configured to use the + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - ConfigurableVerify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.To determine if the system is configured to audit calls to the +chown system call, run the following command: +
$ sudo grep "chown" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium
CCI-000130SRG-OS-000037-GPOS-00015TBD - Assigned by DISA after STIG releaseThe operating system must produce audit records containing information to establish what type of events occurred.CCE-80719-8: Record Attempts to Alter Logon and Logout Events - lastlogWithout establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. + +Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. + +Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.The audit system already collects login information for all users +and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
-

+directory /etc/audit/rules.d in order to watch for attempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/group" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/lastlog" with the following command: -$ sudo auditctl -l | grep -E '(/etc/group)' +$ sudo auditctl -l | grep /var/log/lastlog --w /etc/group -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred.If the auditd daemon is configured to use the + The audit system already collects login information for all users +and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
-

+directory /etc/audit/rules.d in order to watch for attempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80727-1: Ensure auditd Collects Information on the Use of Privileged Commands - crontabCCE-80701-6: Record Any Attempts to Run setsebool Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect any execution attempt +of the setsebool command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "crontab" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setsebool" command with the following command: -$ sudo auditctl -l | grep crontab +$ sudo auditctl -l | grep setsebool --a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -k privileged-crontab Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect any execution attempt +of the setsebool command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80691-9: Record Events that Modify the System's Discretionary Access Controls - fremovexattrCCE-80700-8: Record Any Attempts to Run semanage Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured +
At a minimum, the audit system should collect any execution attempt +of the semanage command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "semanage" command with the following command: + +$ sudo auditctl -l | grep semanage + +-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect any execution attempt +of the semanage command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000130SRG-OS-000037-GPOS-00015TBD - Assigned by DISA after STIG releaseThe operating system must produce audit records containing information to establish what type of events occurred.CCE-80730-5: Ensure auditd Collects Information on the Use of Privileged Commands - pam_timestamp_checkWithout establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. + +Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. + +Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "pam_timestamp_check" command with the following command: + +$ sudo auditctl -l | grep pam_timestamp_check + +-a always,exit -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid>=1000 -F auid!=unset -k privileged-pam_timestamp_check Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000130SRG-OS-000037-GPOS-00015TBD - Assigned by DISA after STIG releaseThe operating system must produce audit records containing information to establish what type of events occurred.CCE-80694-3: Record Events that Modify the System's Discretionary Access Controls - lremovexattrWithout establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. + +Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. + +Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect file permission +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fremovexattr system call, run the following command: -
$ sudo grep "fremovexattr" /etc/audit/audit.*
+lremovexattr system call, run the following command: +
$ sudo grep "lremovexattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred. medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80728-9: Ensure auditd Collects Information on the Use of Privileged Commands - gpasswdCCE-80692-7: Record Events that Modify the System's Discretionary Access Controls - fsetxattr Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "gpasswd" command with the following command: - -$ sudo auditctl -l | grep gpasswd - --a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-gpasswd Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +fsetxattr system call, run the following command: +
$ sudo grep "fsetxattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80943-4: Extend Audit Backlog Limit for the Audit DaemonCCE-85944-7: Record Any Attempts to Run ssh-agent Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.To improve the kernel capacity to queue all log events, even those which occurred -prior to the audit daemon, add the argument audit_backlog_limit=8192 to the default -GRUB 2 command line for the Linux operating system. -To ensure that audit_backlog_limit=8192 is added as a kernel command line -argument to newly installed kernels, add audit_backlog_limit=8192 to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... audit_backlog_limit=8192 ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit_backlog_limit=8192"
At a minimum, the audit system should collect any execution attempt +of the ssh-agent command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Inspect the form of default GRUB 2 command line for the Linux operating system -in /etc/default/grub. If it includes audit_backlog_limit=8192, -then the parameter will be configured for newly installed kernels. -First check if the GRUB recovery is enabled: -
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
-If this option is set to true, then check that a line is output by the following command: -
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*audit_backlog_limit=8192.*' /etc/default/grub
-If the recovery is disabled, check the line with -
$ sudo grep 'GRUB_CMDLINE_LINUX.*audit_backlog_limit=8192.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. -Run the following command: -
$ sudo grubby --info=ALL | grep args | grep -v 'audit_backlog_limit=8192'
-The command should not return any output. Is it the case that audit backlog limit is not configured?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-agent" command with the following command: + +$ sudo auditctl -l | grep ssh-agent + +-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred.To improve the kernel capacity to queue all log events, even those which occurred -prior to the audit daemon, add the argument audit_backlog_limit=8192 to the default -GRUB 2 command line for the Linux operating system. -To ensure that audit_backlog_limit=8192 is added as a kernel command line -argument to newly installed kernels, add audit_backlog_limit=8192 to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... audit_backlog_limit=8192 ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit_backlog_limit=8192"
lowAt a minimum, the audit system should collect any execution attempt +of the ssh-agent command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadowCCE-80690-1: Record Events that Modify the System's Discretionary Access Controls - fchownat Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: + To determine if the system is configured to audit calls to the +fchownat system call, run the following command: +
$ sudo grep "fchownat" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
medium
CCI-000130SRG-OS-000037-GPOS-00015TBD - Assigned by DISA after STIG releaseThe operating system must produce audit records containing information to establish what type of events occurred.CCE-80705-7: Ensure auditd Collects File Deletion Events by User - rmdirWithout establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. + +Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. + +Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
Applicable - ConfigurableVerify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.To determine if the system is configured to audit calls to the +rmdir system call, run the following command: +
$ sudo grep "rmdir" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.If the auditd daemon is configured to use the + At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
-

+default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-89455-0: Ensure auditd Collects Information on the Use of Privileged Commands - kmodCCE-80687-7: Record Events that Modify the System's Discretionary Access Controls - fchmod Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "kmod" command with the following command: - -$ sudo auditctl -l | grep kmod - --a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-kmod Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +fchmod system call, run the following command: +
$ sudo grep "fchmod" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80751-1: Record Unsuccessful Access Attempts to Files - creatCCE-80943-4: Extend Audit Backlog Limit for the Audit Daemon Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
To improve the kernel capacity to queue all log events, even those which occurred +prior to the audit daemon, add the argument audit_backlog_limit=8192 to the default +GRUB 2 command line for the Linux operating system. +To ensure that audit_backlog_limit=8192 is added as a kernel command line +argument to newly installed kernels, add audit_backlog_limit=8192 to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... audit_backlog_limit=8192 ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit_backlog_limit=8192"
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the creat system call. + Inspect the form of default GRUB 2 command line for the Linux operating system +in /etc/default/grub. If it includes audit_backlog_limit=8192, +then the parameter will be configured for newly installed kernels. +First check if the GRUB recovery is enabled: +
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
+If this option is set to true, then check that a line is output by the following command: +
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*audit_backlog_limit=8192.*' /etc/default/grub
+If the recovery is disabled, check the line with +
$ sudo grep 'GRUB_CMDLINE_LINUX.*audit_backlog_limit=8192.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. +Run the following command: +
$ sudo grubby --info=ALL | grep args | grep -v 'audit_backlog_limit=8192'
+The command should not return any output. Is it the case that audit backlog limit is not configured?
Configure the operating system to produce audit records containing information to establish what type of events occurred.To improve the kernel capacity to queue all log events, even those which occurred +prior to the audit daemon, add the argument audit_backlog_limit=8192 to the default +GRUB 2 command line for the Linux operating system. +To ensure that audit_backlog_limit=8192 is added as a kernel command line +argument to newly installed kernels, add audit_backlog_limit=8192 to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... audit_backlog_limit=8192 ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit_backlog_limit=8192"
low
CCI-000130SRG-OS-000037-GPOS-00015TBD - Assigned by DISA after STIG releaseThe operating system must produce audit records containing information to establish what type of events occurred.CCE-80713-1: Ensure auditd Collects Information on Kernel Module Loading - init_moduleWithout establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. -$ sudo grep creat /etc/audit/audit.rules +Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. -The output should be the following: +Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.To capture kernel module loading events, use following line, setting ARCH to +either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: --a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
+ + +Place to add the line depends on a way auditd daemon is configured. If it is configured +to use the augenrules program (the default), add the line to a file with suffix +.rules in the directory /etc/audit/rules.d. + +If the auditd daemon is configured to use the auditctl utility, +add the line to file /etc/audit/audit.rules.
Applicable - ConfigurableVerify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.To determine if the system is configured to audit calls to the +init_module system call, run the following command: +
$ sudo grep "init_module" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.To capture kernel module loading events, use following line, setting ARCH to +either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: + +
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
+ + +Place to add the line depends on a way auditd daemon is configured. If it is configured +to use the augenrules program (the default), add the line to a file with suffix +.rules in the directory /etc/audit/rules.d. + +If the auditd daemon is configured to use the auditctl utility, +add the line to file /etc/audit/audit.rules.
medium
CCI-000130SRG-OS-000037-GPOS-00015TBD - Assigned by DISA after STIG releaseThe operating system must produce audit records containing information to establish what type of events occurred.CCE-80737-0: Ensure auditd Collects Information on the Use of Privileged Commands - sudoWithout establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. + +Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. + +Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - ConfigurableVerify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "sudo" command with the following command: + +$ sudo auditctl -l | grep sudo + +-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -k privileged-sudo Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80761-0: Record Events that Modify User/Group Information - /etc/passwdCCE-80696-8: Record Events that Modify the System's Discretionary Access Controls - removexattr Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: + At a minimum, the audit system should collect file permission +changes for all users and root.

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+If the auditd daemon is configured to use the augenrules +program to read audit rules during daemon startup (the default), add the +following line to a file with suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod


If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod


-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: - -$ sudo auditctl -l | grep -E '(/etc/passwd)' - --w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +removexattr system call, run the following command: +
$ sudo grep "removexattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: + At a minimum, the audit system should collect file permission +changes for all users and root.

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+If the auditd daemon is configured to use the augenrules +program to read audit rules during daemon startup (the default), add the +following line to a file with suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod


If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod


-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80762-8: Record Events that Modify User/Group Information - /etc/shadowCCE-80751-1: Record Unsuccessful Access Attempts to Files - creat Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd with the following command: + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the creat system call. -$ sudo auditctl -l | grep -E '(/etc/shadow)' +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: --w /etc/shadow -p wa -k identity Is it the case that command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80989-7: Ensure auditd Collects Information on the Use of Privileged Commands - mountCCE-80712-3: Ensure auditd Collects Information on Kernel Module Loading and Unloading - finit_module Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "mount" command with the following command: - -$ sudo auditctl -l | grep mount - --a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-mount Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000130SRG-OS-000037-GPOS-00015TBD - Assigned by DISA after STIG releaseThe operating system must produce audit records containing information to establish what type of events occurred.CCE-80755-2: Record Unsuccessful Access Attempts to Files - open_by_handle_atWithout establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. + If the auditd daemon is configured to use the augenrules program +to read audit rules during daemon startup (the default), add the following lines to a file +with suffix .rules in the directory /etc/audit/rules.d to capture kernel module +loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: -Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
+ If the auditd daemon is configured to use the auditctl utility to read audit +rules during daemon startup, add the following lines to /etc/audit/audit.rules file +in order to capture kernel module loading and unloading events, setting ARCH to either b32 or +b64 as appropriate for your system: -Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.
At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the open_by_handle_at system call. - -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: - -$ sudo grep -r open_by_handle_at /etc/audit/rules.d - -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: - -$ sudo grep open_by_handle_at /etc/audit/audit.rules + To determine if the system is configured to audit calls to the +finit_module system call, run the following command: +
$ sudo grep "finit_module" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.If the auditd daemon is configured to use the augenrules program +to read audit rules during daemon startup (the default), add the following lines to a file +with suffix .rules in the directory /etc/audit/rules.d to capture kernel module +loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: -The output should be the following: +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
+ If the auditd daemon is configured to use the auditctl utility to read audit +rules during daemon startup, add the following lines to /etc/audit/audit.rules file +in order to capture kernel module loading and unloading events, setting ARCH to either b32 or +b64 as appropriate for your system: --a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?
Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80735-4: Ensure auditd Collects Information on the Use of Privileged Commands - ssh-keysignCCE-81043-2: Ensure the audit Subsystem is Installed Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
The audit package should be installed. Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-keysign" command with the following command: - -$ sudo auditctl -l | grep ssh-keysign - --a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-keysign Is it the case that the command does not return a line, or the line is commented out?Run the following command to determine if the audit package is installed:
$ rpm -q audit
Is it the case that the audit package is not installed?
Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
The audit package should be installed. medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80737-0: Ensure auditd Collects Information on the Use of Privileged Commands - sudoCCE-80735-4: Ensure auditd Collects Information on the Use of Privileged Commands - ssh-keysign Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. @@ -4641,29 +4746,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "sudo" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-keysign" command with the following command: -$ sudo auditctl -l | grep sudo +$ sudo auditctl -l | grep ssh-keysign --a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -k privileged-sudo Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80725-5: Ensure auditd Collects Information on the Use of Privileged Commands - chageCCE-80989-7: Ensure auditd Collects Information on the Use of Privileged Commands - mount Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. @@ -4688,29 +4793,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chage" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "mount" command with the following command: -$ sudo auditctl -l | grep chage +$ sudo auditctl -l | grep mount --a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chage Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80733-9: Ensure auditd Collects Information on the Use of Privileged Commands - postqueueCCE-80754-5: Record Unsuccessful Access Attempts to Files - openat Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postqueue" command with the following command: + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the openat system call. -$ sudo auditctl -l | grep postqueue +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: --a always,exit -F path=/usr/bin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postqueue Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80693-5: Record Events that Modify the System's Discretionary Access Controls - lchownCCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/ Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.To determine if the system is configured to audit calls to the -lchown system call, run the following command: -
$ sudo grep "lchown" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: + +$ sudo auditctl -l | grep/etc/sudoers.d + +-w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-86027-0: Ensure auditd Collects Information on the Use of Privileged Commands - usermodCCE-80727-1: Ensure auditd Collects Information on the Use of Privileged Commands - crontab Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. @@ -4837,84 +4971,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "usermod" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "crontab" command with the following command: -$ sudo auditctl -l | grep usermod +$ sudo auditctl -l | grep crontab --a always,exit -F path=/usr/bin/usermod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-usermod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000130SRG-OS-000037-GPOS-00015TBD - Assigned by DISA after STIG releaseThe operating system must produce audit records containing information to establish what type of events occurred.CCE-80687-7: Record Events that Modify the System's Discretionary Access Controls - fchmodWithout establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. - -Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. - -Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - ConfigurableVerify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.To determine if the system is configured to audit calls to the -fchmod system call, run the following command: -
$ sudo grep "fchmod" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80739-6: Ensure auditd Collects Information on the Use of Privileged Commands - umountCCE-89455-0: Ensure auditd Collects Information on the Use of Privileged Commands - kmod Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. @@ -4939,29 +5018,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "umount" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "kmod" command with the following command: -$ sudo auditctl -l | grep umount +$ sudo auditctl -l | grep kmod --a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-umount Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/CCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadow Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
Applicable - ConfigurableVerify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: - -$ sudo auditctl -l | grep/etc/sudoers.d - --w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
medium
CCI-000130SRG-OS-000037-GPOS-00015TBD - Assigned by DISA after STIG releaseThe operating system must produce audit records containing information to establish what type of events occurred.CCE-80713-1: Ensure auditd Collects Information on Kernel Module Loading - init_moduleWithout establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. - -Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. - -Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.To capture kernel module loading events, use following line, setting ARCH to -either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: - -
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
- - -Place to add the line depends on a way auditd daemon is configured. If it is configured -to use the augenrules program (the default), add the line to a file with suffix -.rules in the directory /etc/audit/rules.d. - -If the auditd daemon is configured to use the auditctl utility, -add the line to file /etc/audit/audit.rules.
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.To determine if the system is configured to audit calls to the -init_module system call, run the following command: -
$ sudo grep "init_module" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.To capture kernel module loading events, use following line, setting ARCH to -either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: - -
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
- - -Place to add the line depends on a way auditd daemon is configured. If it is configured -to use the augenrules program (the default), add the line to a file with suffix -.rules in the directory /etc/audit/rules.d. - -If the auditd daemon is configured to use the auditctl utility, -add the line to file /etc/audit/audit.rules.
medium
CCI-000130SRG-OS-000037-GPOS-00015TBD - Assigned by DISA after STIG releaseThe operating system must produce audit records containing information to establish what type of events occurred.CCE-80726-3: Ensure auditd Collects Information on the Use of Privileged Commands - chshWithout establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. - -Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: -Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chsh" command with the following command: +$ sudo auditctl -l | grep -E '(/etc/gshadow)' -$ sudo auditctl -l | grep chsh +-w /etc/gshadow -p wa -k identity --a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chsh Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80698-4: Record Any Attempts to Run chconCCE-88437-9: Record Any Attempts to Run setfacl Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. @@ -5127,33 +5118,33 @@ Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system. At a minimum, the audit system should collect any execution attempt -of the chcon command for all users and root. If the auditd +of the setfacl command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chcon" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfacl" command with the following command: -$ sudo auditctl -l | grep chcon +$ sudo auditctl -l | grep setfacl --a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred. At a minimum, the audit system should collect any execution attempt -of the chcon command for all users and root. If the auditd +of the setfacl command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80722-2: Ensure auditd Collects Information on Exporting to Media (successful)CCE-80693-5: Record Events that Modify the System's Discretionary Access Controls - lchown Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect media exportation -events for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding. To determine if the system is configured to audit calls to the -mount system call, run the following command: -
$ sudo grep "mount" /etc/audit/audit.*
+lchown system call, run the following command: +
$ sudo grep "lchown" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect media exportation -events for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80729-7: Ensure auditd Collects Information on the Use of Privileged Commands - newgrpCCE-86027-0: Ensure auditd Collects Information on the Use of Privileged Commands - usermod Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. @@ -5229,29 +5224,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "newgrp" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "usermod" command with the following command: -$ sudo auditctl -l | grep newgrp +$ sudo auditctl -l | grep usermod --a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -k privileged-newgrp Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80703-2: Ensure auditd Collects File Deletion Events by User - renameCCE-80706-5: Ensure auditd Collects File Deletion Events by User - unlink Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. @@ -5277,17 +5272,17 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding. To determine if the system is configured to audit calls to the -rename system call, run the following command: -
$ sudo grep "rename" /etc/audit/audit.*
+unlink system call, run the following command: +
$ sudo grep "unlink" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.medium
CCI-000130SRG-OS-000037-GPOS-00015TBD - Assigned by DISA after STIG releaseThe operating system must produce audit records containing information to establish what type of events occurred.CCE-80686-9: Record Events that Modify the System's Discretionary Access Controls - chownWithout establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. - -Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. - -Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - ConfigurableVerify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.To determine if the system is configured to audit calls to the -chown system call, run the following command: -
$ sudo grep "chown" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80752-9: Record Unsuccessful Access Attempts to Files - ftruncateCCE-80755-2: Record Unsuccessful Access Attempts to Files - open_by_handle_at Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. @@ -5382,66 +5322,60 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the ftruncate system call. + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the open_by_handle_at system call. If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: -$ sudo grep -r ftruncate /etc/audit/rules.d +$ sudo grep -r open_by_handle_at /etc/audit/rules.d If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: -$ sudo grep ftruncate /etc/audit/audit.rules +$ sudo grep open_by_handle_at /etc/audit/audit.rules The output should be the following: --a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred. At a minimum, the audit system should collect unauthorized file accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80704-0: Ensure auditd Collects File Deletion Events by User - renameatCCE-80695-0: Record Events that Modify the System's Discretionary Access Controls - lsetxattr Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
Applicable - ConfigurableVerify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Applicable - ConfigurableVerify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding. To determine if the system is configured to audit calls to the -renameat system call, run the following command: -
$ sudo grep "renameat" /etc/audit/audit.*
+lsetxattr system call, run the following command: +
$ sudo grep "lsetxattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-89480-8: Ensure auditd Collects Information on the Use of Privileged Commands - unix_updateCCE-80758-6: Record Events that Modify User/Group Information - /etc/group Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_update" command with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/group" with the following command: -$ sudo auditctl -l | grep unix_update +$ sudo auditctl -l | grep -E '(/etc/group)' --a always,exit -F path=/usr/bin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_update Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80730-5: Ensure auditd Collects Information on the Use of Privileged Commands - pam_timestamp_checkCCE-80732-1: Ensure auditd Collects Information on the Use of Privileged Commands - postdrop Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. @@ -5564,33 +5518,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "pam_timestamp_check" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postdrop" command with the following command: -$ sudo auditctl -l | grep pam_timestamp_check +$ sudo auditctl -l | grep postdrop --a always,exit -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid>=1000 -F auid!=unset -k privileged-pam_timestamp_check Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80740-4: Ensure auditd Collects Information on the Use of Privileged Commands - unix_chkpwdCCE-80761-0: Record Events that Modify User/Group Information - /etc/passwd Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_chkpwd" command with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: -$ sudo auditctl -l | grep unix_chkpwd +$ sudo auditctl -l | grep -E '(/etc/passwd)' --a always,exit -F path=/usr/bin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_chkpwd Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-81043-2: Ensure the audit Subsystem is InstalledCCE-80729-7: Ensure auditd Collects Information on the Use of Privileged Commands - newgrp Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.The audit package should be installed.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Run the following command to determine if the audit package is installed:
$ rpm -q audit
Is it the case that the audit package is not installed?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "newgrp" command with the following command: + +$ sudo auditctl -l | grep newgrp + +-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -k privileged-newgrp Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred.The audit package should be installed.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80695-0: Record Events that Modify the System's Discretionary Access Controls - lsetxattrCCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswd Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.To determine if the system is configured to audit calls to the -lsetxattr system call, run the following command: -
$ sudo grep "lsetxattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: + +$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' + +-w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80688-5: Record Events that Modify the System's Discretionary Access Controls - fchmodatCCE-80722-2: Ensure auditd Collects Information on Exporting to Media (successful) Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to + At a minimum, the audit system should collect media exportation +events for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fchmodat system call, run the following command: -
$ sudo grep "fchmodat" /etc/audit/audit.*
+mount system call, run the following command: +
$ sudo grep "mount" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to + At a minimum, the audit system should collect media exportation +events for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-89446-9: Record Any Attempts to Run chaclCCE-82280-9: Record Any Attempts to Run setfiles Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. @@ -5801,33 +5769,33 @@ Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system. At a minimum, the audit system should collect any execution attempt -of the chacl command for all users and root. If the auditd +of the setfiles command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chacl" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfiles" command with the following command: -$ sudo auditctl -l | grep chacl +$ sudo auditctl -l | grep setfiles --a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred. At a minimum, the audit system should collect any execution attempt -of the chacl command for all users and root. If the auditd +of the setfiles command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80719-8: Record Attempts to Alter Logon and Logout Events - lastlogCCE-80685-1: Record Events that Modify the System's Discretionary Access Controls - chmod Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.The audit system already collects login information for all users -and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d in order to watch for attempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file in order to watch for unattempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/lastlog" with the following command: - -$ sudo auditctl -l | grep /var/log/lastlog - --w /var/log/lastlog -p wa -k logins Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +chmod system call, run the following command: +
$ sudo grep "chmod" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.The audit system already collects login information for all users -and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d in order to watch for attempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file in order to watch for unattempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80705-7: Ensure auditd Collects File Deletion Events by User - rmdirCCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoers Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect file deletion events + At a minimum, the audit system should collect administrator actions for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
+augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.To determine if the system is configured to audit calls to the -rmdir system call, run the following command: -
$ sudo grep "rmdir" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + +$ sudo auditctl -l | grep /etc/sudoers + +-w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect file deletion events + At a minimum, the audit system should collect administrator actions for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
+augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80707-3: Ensure auditd Collects File Deletion Events by User - unlinkatCCE-80698-4: Record Any Attempts to Run chcon Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect any execution attempt +of the chcon command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.To determine if the system is configured to audit calls to the -unlinkat system call, run the following command: -
$ sudo grep "unlinkat" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chcon" command with the following command: + +$ sudo auditctl -l | grep chcon + +-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect any execution attempt +of the chcon command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80712-3: Ensure auditd Collects Information on Kernel Module Loading and Unloading - finit_moduleCCE-80725-5: Ensure auditd Collects Information on the Use of Privileged Commands - chage Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.If the auditd daemon is configured to use the augenrules program -to read audit rules during daemon startup (the default), add the following lines to a file -with suffix .rules in the directory /etc/audit/rules.d to capture kernel module -loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: - -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
- If the auditd daemon is configured to use the auditctl utility to read audit -rules during daemon startup, add the following lines to /etc/audit/audit.rules file -in order to capture kernel module loading and unloading events, setting ARCH to either b32 or -b64 as appropriate for your system: - -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.To determine if the system is configured to audit calls to the -finit_module system call, run the following command: -
$ sudo grep "finit_module" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.If the auditd daemon is configured to use the augenrules program -to read audit rules during daemon startup (the default), add the following lines to a file -with suffix .rules in the directory /etc/audit/rules.d to capture kernel module -loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chage" command with the following command: -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
- If the auditd daemon is configured to use the auditctl utility to read audit -rules during daemon startup, add the following lines to /etc/audit/audit.rules file -in order to capture kernel module loading and unloading events, setting ARCH to either b32 or -b64 as appropriate for your system: +$ sudo auditctl -l | grep chage -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80706-5: Ensure auditd Collects File Deletion Events by User - unlinkCCE-80762-8: Record Events that Modify User/Group Information - /etc/shadow Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the + If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
+default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.To determine if the system is configured to audit calls to the -unlink system call, run the following command: -
$ sudo grep "unlink" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd with the following command: + +$ sudo auditctl -l | grep -E '(/etc/shadow)' + +-w /etc/shadow -p wa -k identity Is it the case that command does not return a line, or the line is commented out? Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the + If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
+default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80756-0: Record Unsuccessful Access Attempts to Files - truncateCCE-80726-3: Ensure auditd Collects Information on the Use of Privileged Commands - chsh Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the truncate system call. - -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chsh" command with the following command: -$ sudo grep -r truncate /etc/audit/rules.d +$ sudo auditctl -l | grep chsh -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: +-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chsh Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000130SRG-OS-000037-GPOS-00015TBD - Assigned by DISA after STIG releaseThe operating system must produce audit records containing information to establish what type of events occurred.CCE-80703-2: Ensure auditd Collects File Deletion Events by User - renameConfigure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. +Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - ConfigurableVerify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.To determine if the system is configured to audit calls to the +rename system call, run the following command: +
$ sudo grep "rename" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-85944-7: Record Any Attempts to Run ssh-agentCCE-80689-3: Record Events that Modify the System's Discretionary Access Controls - fchown Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect any execution attempt -of the ssh-agent command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-agent" command with the following command: - -$ sudo auditctl -l | grep ssh-agent - --a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +fchown system call, run the following command: +
$ sudo grep "fchown" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect any execution attempt -of the ssh-agent command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
medium TBD - Assigned by DISA after STIG release The operating system must produce audit records containing information to establish what type of events occurred.CCE-80741-2: Ensure auditd Collects Information on the Use of Privileged Commands - userhelperCCE-80688-5: Record Events that Modify the System's Discretionary Access Controls - fchmodat Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. Associating event types with detected events in the operating system audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system produces audit records containing information to establish what type of events occurred. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "userhelper" command with the following command: - -$ sudo auditctl -l | grep userhelper - --a always,exit -F path=/usr/bin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -k privileged-userhelper Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +fchmodat system call, run the following command: +
$ sudo grep "fchmodat" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to produce audit records containing information to establish what type of events occurred.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000132SRG-OS-000039-GPOS-00017TBD - Assigned by DISA after STIG releaseThe operating system must produce audit records containing information to establish where the events occurred.CCE-82897-0: Set type of computer node name logging in audit logsWithout establishing where events occurred, it is impossible to establish, correlate, and investigate the events leading up to an outage or attack. - -In order to compile an accurate risk assessment and provide forensic analysis, it is essential for security personnel to know where events occurred, such as operating system components, modules, device identifiers, node names, file names, and functionality. - -Associating information about where the event occurred within the operating system provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.To configure Audit daemon to use a unique identifier -as computer node name in the audit events, -set name_format to -in /etc/audit/auditd.conf.Applicable - ConfigurableVerify the operating system produces audit records containing information to establish where the events occurred. If it does not, this is a finding.To verify that Audit Daemon is configured to record the computer node -name in the audit events, run the following command: -
$ sudo grep name_format /etc/audit/auditd.conf
-The output should return the following: -
name_format = 
Is it the case that name_format isn't set to ?
Configure the operating system to produce audit records containing information to establish where the events occurred.To configure Audit daemon to use a unique identifier -as computer node name in the audit events, -set name_format to -in /etc/audit/auditd.conf.medium
CCI-000132 SRG-OS-000039-GPOS-00017
CCI-000132SRG-OS-000039-GPOS-00017TBD - Assigned by DISA after STIG releaseThe operating system must produce audit records containing information to establish where the events occurred.CCE-82897-0: Set type of computer node name logging in audit logsWithout establishing where events occurred, it is impossible to establish, correlate, and investigate the events leading up to an outage or attack. + +In order to compile an accurate risk assessment and provide forensic analysis, it is essential for security personnel to know where events occurred, such as operating system components, modules, device identifiers, node names, file names, and functionality. + +Associating information about where the event occurred within the operating system provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.To configure Audit daemon to use a unique identifier +as computer node name in the audit events, +set name_format to +in /etc/audit/auditd.conf.Applicable - ConfigurableVerify the operating system produces audit records containing information to establish where the events occurred. If it does not, this is a finding.To verify that Audit Daemon is configured to record the computer node +name in the audit events, run the following command: +
$ sudo grep name_format /etc/audit/auditd.conf
+The output should return the following: +
name_format = 
Is it the case that name_format isn't set to ?
Configure the operating system to produce audit records containing information to establish where the events occurred.To configure Audit daemon to use a unique identifier +as computer node name in the audit events, +set name_format to +in /etc/audit/auditd.conf.medium
TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80754-5: Record Unsuccessful Access Attempts to Files - openatCCE-80704-0: Ensure auditd Collects File Deletion Events by User - renameat Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the openat system call. + To determine if the system is configured to audit calls to the +renameat system call, run the following command: +
$ sudo grep "renameat" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
medium
CCI-000135SRG-OS-000042-GPOS-00020TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.CCE-89446-9: Record Any Attempts to Run chaclReconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. -$ sudo grep openat /etc/audit/audit.rules +At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect any execution attempt +of the chacl command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chacl" command with the following command: -The output should be the following: +$ sudo auditctl -l | grep chacl --a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect any execution attempt +of the chacl command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80711-5: Ensure auditd Collects Information on Kernel Module Unloading - delete_moduleCCE-80741-2: Ensure auditd Collects Information on the Use of Privileged Commands - userhelper Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.To capture kernel module unloading events, use following line, setting ARCH to -either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: - -
-a always,exit -F arch=ARCH -S delete_module -F auid>=1000 -F auid!=unset -F key=modules
- - -Place to add the line depends on a way auditd daemon is configured. If it is configured -to use the augenrules program (the default), add the line to a file with suffix -.rules in the directory /etc/audit/rules.d. - -If the auditd daemon is configured to use the auditctl utility, -add the line to file /etc/audit/audit.rules.
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.To determine if the system is configured to audit calls to the -delete_module system call, run the following command: -
$ sudo grep "delete_module" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.To capture kernel module unloading events, use following line, setting ARCH to -either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: - -
-a always,exit -F arch=ARCH -S delete_module -F auid>=1000 -F auid!=unset -F key=modules
- +
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "userhelper" command with the following command: -Place to add the line depends on a way auditd daemon is configured. If it is configured -to use the augenrules program (the default), add the line to a file with suffix -.rules in the directory /etc/audit/rules.d. +$ sudo auditctl -l | grep userhelper -If the auditd daemon is configured to use the auditctl utility, -add the line to file /etc/audit/audit.rules.Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80685-1: Record Events that Modify the System's Discretionary Access Controls - chmodCCE-80733-9: Ensure auditd Collects Information on the Use of Privileged Commands - postqueue Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.To determine if the system is configured to audit calls to the -chmod system call, run the following command: -
$ sudo grep "chmod" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postqueue" command with the following command: + +$ sudo auditctl -l | grep postqueue + +-a always,exit -F path=/usr/bin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postqueue Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80697-6: Record Events that Modify the System's Discretionary Access Controls - setxattrCCE-80728-9: Ensure auditd Collects Information on the Use of Privileged Commands - gpasswd Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.To determine if the system is configured to audit calls to the -setxattr system call, run the following command: -
$ sudo grep "setxattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "gpasswd" command with the following command: + +$ sudo auditctl -l | grep gpasswd + +-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-gpasswd Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoersCCE-80711-5: Ensure auditd Collects Information on Kernel Module Unloading - delete_module Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
To capture kernel module unloading events, use following line, setting ARCH to +either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: + +
-a always,exit -F arch=ARCH -S delete_module -F auid>=1000 -F auid!=unset -F key=modules
+ + +Place to add the line depends on a way auditd daemon is configured. If it is configured +to use the augenrules program (the default), add the line to a file with suffix +.rules in the directory /etc/audit/rules.d. + +If the auditd daemon is configured to use the auditctl utility, +add the line to file /etc/audit/audit.rules.
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + To determine if the system is configured to audit calls to the +delete_module system call, run the following command: +
$ sudo grep "delete_module" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.To capture kernel module unloading events, use following line, setting ARCH to +either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: -$ sudo auditctl -l | grep /etc/sudoers +
-a always,exit -F arch=ARCH -S delete_module -F auid>=1000 -F auid!=unset -F key=modules
--w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80690-1: Record Events that Modify the System's Discretionary Access Controls - fchownatCCE-89480-8: Ensure auditd Collects Information on the Use of Privileged Commands - unix_update Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.To determine if the system is configured to audit calls to the -fchownat system call, run the following command: -
$ sudo grep "fchownat" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_update" command with the following command: + +$ sudo auditctl -l | grep unix_update + +-a always,exit -F path=/usr/bin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_update Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-82280-9: Record Any Attempts to Run setfilesCCE-80707-3: Ensure auditd Collects File Deletion Events by User - unlinkat Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect any execution attempt -of the setfiles command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfiles" command with the following command: - -$ sudo auditctl -l | grep setfiles - --a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +unlinkat system call, run the following command: +
$ sudo grep "unlinkat" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect any execution attempt -of the setfiles command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80700-8: Record Any Attempts to Run semanageCCE-80740-4: Ensure auditd Collects Information on the Use of Privileged Commands - unix_chkpwd Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect any execution attempt -of the semanage command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "semanage" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_chkpwd" command with the following command: -$ sudo auditctl -l | grep semanage +$ sudo auditctl -l | grep unix_chkpwd --a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect any execution attempt -of the semanage command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80692-7: Record Events that Modify the System's Discretionary Access Controls - fsetxattrCCE-80691-9: Record Events that Modify the System's Discretionary Access Controls - fremovexattr Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise. At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fsetxattr system call, run the following command: -
$ sudo grep "fsetxattr" /etc/audit/audit.*
+fremovexattr system call, run the following command: +
$ sudo grep "fremovexattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands. At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-88437-9: Record Any Attempts to Run setfaclCCE-80697-6: Record Events that Modify the System's Discretionary Access Controls - setxattr Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect any execution attempt -of the setfacl command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfacl" command with the following command: - -$ sudo auditctl -l | grep setfacl - --a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +setxattr system call, run the following command: +
$ sudo grep "setxattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect any execution attempt -of the setfacl command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80732-1: Ensure auditd Collects Information on the Use of Privileged Commands - postdropCCE-80739-6: Ensure auditd Collects Information on the Use of Privileged Commands - umount Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. @@ -7190,29 +7200,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postdrop" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "umount" command with the following command: -$ sudo auditctl -l | grep postdrop +$ sudo auditctl -l | grep umount --a always,exit -F path=/usr/bin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postdrop Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80694-3: Record Events that Modify the System's Discretionary Access Controls - lremovexattrCCE-80752-9: Record Unsuccessful Access Attempts to Files - ftruncate Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured +
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.To determine if the system is configured to audit calls to the -lremovexattr system call, run the following command: -
$ sudo grep "lremovexattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the ftruncate system call. + +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: + +$ sudo grep -r ftruncate /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep ftruncate /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured +
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80689-3: Record Events that Modify the System's Discretionary Access Controls - fchownCCE-80756-0: Record Unsuccessful Access Attempts to Files - truncate Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured + At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.To determine if the system is configured to audit calls to the -fchown system call, run the following command: -
$ sudo grep "fchown" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the truncate system call. + +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: + +$ sudo grep -r truncate /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep truncate /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured + At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80696-8: Record Events that Modify the System's Discretionary Access Controls - removexattrCCE-80686-9: Record Events that Modify the System's Discretionary Access Controls - chown Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise. At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured to use the augenrules -program to read audit rules during daemon startup (the default), add the -following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding. To determine if the system is configured to audit calls to the -removexattr system call, run the following command: -
$ sudo grep "removexattr" /etc/audit/audit.*
+chown system call, run the following command: +
$ sudo grep "chown" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands. At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured to use the augenrules -program to read audit rules during daemon startup (the default), add the -following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80701-6: Record Any Attempts to Run setseboolCCE-80719-8: Record Attempts to Alter Logon and Logout Events - lastlog Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect any execution attempt -of the setsebool command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
The audit system already collects login information for all users +and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d in order to watch for attempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setsebool" command with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/lastlog" with the following command: -$ sudo auditctl -l | grep setsebool +$ sudo auditctl -l | grep /var/log/lastlog --a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -k privileged Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect any execution attempt -of the setsebool command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
The audit system already collects login information for all users +and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d in order to watch for attempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswdCCE-80701-6: Record Any Attempts to Run setsebool Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect any execution attempt +of the setsebool command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setsebool" command with the following command: -$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' +$ sudo auditctl -l | grep setsebool --w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect any execution attempt +of the setsebool command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80758-6: Record Events that Modify User/Group Information - /etc/groupCCE-80700-8: Record Any Attempts to Run semanage Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect any execution attempt +of the semanage command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/group" with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "semanage" command with the following command: -$ sudo auditctl -l | grep -E '(/etc/group)' +$ sudo auditctl -l | grep semanage --w /etc/group -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect any execution attempt +of the semanage command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80727-1: Ensure auditd Collects Information on the Use of Privileged Commands - crontabCCE-80730-5: Ensure auditd Collects Information on the Use of Privileged Commands - pam_timestamp_check Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. @@ -7585,29 +7601,33 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "crontab" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "pam_timestamp_check" command with the following command: -$ sudo auditctl -l | grep crontab +$ sudo auditctl -l | grep pam_timestamp_check --a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -k privileged-crontab Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80691-9: Record Events that Modify the System's Discretionary Access Controls - fremovexattrCCE-80694-3: Record Events that Modify the System's Discretionary Access Controls - lremovexattr Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. @@ -7632,27 +7652,27 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fremovexattr system call, run the following command: -
$ sudo grep "fremovexattr" /etc/audit/audit.*
+lremovexattr system call, run the following command: +
$ sudo grep "lremovexattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands. medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80728-9: Ensure auditd Collects Information on the Use of Privileged Commands - gpasswdCCE-89903-9: Ensure All Accounts on the System Have Unique User IDs Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Change user IDs (UIDs), or delete accounts, so each has a unique name. Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "gpasswd" command with the following command: + Verify that Red Hat Enterprise Linux 8 contains no duplicate User IDs (UIDs) for interactive users. -$ sudo auditctl -l | grep gpasswd +Check that the operating system contains no duplicate UIDs for interactive users with the following command: --a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-gpasswd Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Change user IDs (UIDs), or delete accounts, so each has a unique name. medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80943-4: Extend Audit Backlog Limit for the Audit DaemonReconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. - -At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.To improve the kernel capacity to queue all log events, even those which occurred -prior to the audit daemon, add the argument audit_backlog_limit=8192 to the default -GRUB 2 command line for the Linux operating system. -To ensure that audit_backlog_limit=8192 is added as a kernel command line -argument to newly installed kernels, add audit_backlog_limit=8192 to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... audit_backlog_limit=8192 ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit_backlog_limit=8192"
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Inspect the form of default GRUB 2 command line for the Linux operating system -in /etc/default/grub. If it includes audit_backlog_limit=8192, -then the parameter will be configured for newly installed kernels. -First check if the GRUB recovery is enabled: -
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
-If this option is set to true, then check that a line is output by the following command: -
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*audit_backlog_limit=8192.*' /etc/default/grub
-If the recovery is disabled, check the line with -
$ sudo grep 'GRUB_CMDLINE_LINUX.*audit_backlog_limit=8192.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. -Run the following command: -
$ sudo grubby --info=ALL | grep args | grep -v 'audit_backlog_limit=8192'
-The command should not return any output. Is it the case that audit backlog limit is not configured?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.To improve the kernel capacity to queue all log events, even those which occurred -prior to the audit daemon, add the argument audit_backlog_limit=8192 to the default -GRUB 2 command line for the Linux operating system. -To ensure that audit_backlog_limit=8192 is added as a kernel command line -argument to newly installed kernels, add audit_backlog_limit=8192 to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... audit_backlog_limit=8192 ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit_backlog_limit=8192"
low
CCI-000135SRG-OS-000042-GPOS-00020TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.CCE-80753-7: Record Unsuccessful Access Attempts to Files - openCCE-80692-7: Record Events that Modify the System's Discretionary Access Controls - fsetxattr Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.To determine if the system is configured to audit calls to the +fsetxattr system call, run the following command: +
$ sudo grep "fsetxattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
medium
CCI-000135SRG-OS-000042-GPOS-00020TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.CCE-85944-7: Record Any Attempts to Run ssh-agentReconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + +At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect any execution attempt +of the ssh-agent command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-agent" command with the following command: + +$ sudo auditctl -l | grep ssh-agent + +-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect any execution attempt +of the ssh-agent command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
medium
CCI-000135SRG-OS-000042-GPOS-00020TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.CCE-80753-7: Record Unsuccessful Access Attempts to Files - openReconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + +At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file:
-a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
 -a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
@@ -7868,49 +7926,96 @@
TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadowCCE-80690-1: Record Events that Modify the System's Discretionary Access Controls - fchownat Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: + To determine if the system is configured to audit calls to the +fchownat system call, run the following command: +
$ sudo grep "fchownat" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
medium
CCI-000135SRG-OS-000042-GPOS-00020TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.CCE-80705-7: Ensure auditd Collects File Deletion Events by User - rmdirReconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + +At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.To determine if the system is configured to audit calls to the +rmdir system call, run the following command: +
$ sudo grep "rmdir" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.If the auditd daemon is configured to use the + At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
-

+default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-89455-0: Ensure auditd Collects Information on the Use of Privileged Commands - kmodCCE-80687-7: Record Events that Modify the System's Discretionary Access Controls - fchmodReconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + +At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.To determine if the system is configured to audit calls to the +fchmod system call, run the following command: +
$ sudo grep "fchmod" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
medium
CCI-000135SRG-OS-000042-GPOS-00020TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.CCE-80736-2: Ensure auditd Collects Information on the Use of Privileged Commands - su Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. @@ -7933,29 +8091,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "kmod" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "su" command with the following command: -$ sudo auditctl -l | grep kmod +$ sudo auditctl -l | grep su --a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-kmod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80736-2: Ensure auditd Collects Information on the Use of Privileged Commands - suCCE-80943-4: Extend Audit Backlog Limit for the Audit DaemonReconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + +At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.To improve the kernel capacity to queue all log events, even those which occurred +prior to the audit daemon, add the argument audit_backlog_limit=8192 to the default +GRUB 2 command line for the Linux operating system. +To ensure that audit_backlog_limit=8192 is added as a kernel command line +argument to newly installed kernels, add audit_backlog_limit=8192 to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... audit_backlog_limit=8192 ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit_backlog_limit=8192"
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Inspect the form of default GRUB 2 command line for the Linux operating system +in /etc/default/grub. If it includes audit_backlog_limit=8192, +then the parameter will be configured for newly installed kernels. +First check if the GRUB recovery is enabled: +
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
+If this option is set to true, then check that a line is output by the following command: +
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*audit_backlog_limit=8192.*' /etc/default/grub
+If the recovery is disabled, check the line with +
$ sudo grep 'GRUB_CMDLINE_LINUX.*audit_backlog_limit=8192.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. +Run the following command: +
$ sudo grubby --info=ALL | grep args | grep -v 'audit_backlog_limit=8192'
+The command should not return any output. Is it the case that audit backlog limit is not configured?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.To improve the kernel capacity to queue all log events, even those which occurred +prior to the audit daemon, add the argument audit_backlog_limit=8192 to the default +GRUB 2 command line for the Linux operating system. +To ensure that audit_backlog_limit=8192 is added as a kernel command line +argument to newly installed kernels, add audit_backlog_limit=8192 to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... audit_backlog_limit=8192 ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit_backlog_limit=8192"
low
CCI-000135SRG-OS-000042-GPOS-00020TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.CCE-80713-1: Ensure auditd Collects Information on Kernel Module Loading - init_moduleReconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + +At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.To capture kernel module loading events, use following line, setting ARCH to +either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: + +
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
+ + +Place to add the line depends on a way auditd daemon is configured. If it is configured +to use the augenrules program (the default), add the line to a file with suffix +.rules in the directory /etc/audit/rules.d. + +If the auditd daemon is configured to use the auditctl utility, +add the line to file /etc/audit/audit.rules.
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.To determine if the system is configured to audit calls to the +init_module system call, run the following command: +
$ sudo grep "init_module" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.To capture kernel module loading events, use following line, setting ARCH to +either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: + +
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
+ + +Place to add the line depends on a way auditd daemon is configured. If it is configured +to use the augenrules program (the default), add the line to a file with suffix +.rules in the directory /etc/audit/rules.d. + +If the auditd daemon is configured to use the auditctl utility, +add the line to file /etc/audit/audit.rules.
medium
CCI-000135SRG-OS-000042-GPOS-00020TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.CCE-80737-0: Ensure auditd Collects Information on the Use of Privileged Commands - sudo Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. @@ -7978,29 +8235,98 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "su" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "sudo" command with the following command: -$ sudo auditctl -l | grep su +$ sudo auditctl -l | grep sudo --a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -k privileged-su Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000135SRG-OS-000042-GPOS-00020TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.CCE-80696-8: Record Events that Modify the System's Discretionary Access Controls - removexattrReconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + +At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect file permission +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules +program to read audit rules during daemon startup (the default), add the +following line to a file with suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.To determine if the system is configured to audit calls to the +removexattr system call, run the following command: +
$ sudo grep "removexattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect file permission +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules +program to read audit rules during daemon startup (the default), add the +following line to a file with suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80761-0: Record Events that Modify User/Group Information - /etc/passwdCCE-80712-3: Ensure auditd Collects Information on Kernel Module Loading and Unloading - finit_module Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: + If the auditd daemon is configured to use the augenrules program +to read audit rules during daemon startup (the default), add the following lines to a file +with suffix .rules in the directory /etc/audit/rules.d to capture kernel module +loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: -$ sudo auditctl -l | grep -E '(/etc/passwd)' +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
+ If the auditd daemon is configured to use the auditctl utility to read audit +rules during daemon startup, add the following lines to /etc/audit/audit.rules file +in order to capture kernel module loading and unloading events, setting ARCH to either b32 or +b64 as appropriate for your system: --w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.To determine if the system is configured to audit calls to the +finit_module system call, run the following command: +
$ sudo grep "finit_module" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
-

+
If the auditd daemon is configured to use the augenrules program +to read audit rules during daemon startup (the default), add the following lines to a file +with suffix .rules in the directory /etc/audit/rules.d to capture kernel module +loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: + +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
+ If the auditd daemon is configured to use the auditctl utility to read audit +rules during daemon startup, add the following lines to /etc/audit/audit.rules file +in order to capture kernel module loading and unloading events, setting ARCH to either b32 or +b64 as appropriate for your system: + +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
medium
CCI-000135SRG-OS-000042-GPOS-00020TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.CCE-80731-3: Ensure auditd Collects Information on the Use of Privileged Commands - passwdReconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + +At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "passwd" command with the following command: + +$ sudo auditctl -l | grep passwd + +-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-passwd Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80762-8: Record Events that Modify User/Group Information - /etc/shadowCCE-80735-4: Ensure auditd Collects Information on the Use of Privileged Commands - ssh-keysign Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-keysign" command with the following command: -$ sudo auditctl -l | grep -E '(/etc/shadow)' +$ sudo auditctl -l | grep ssh-keysign --w /etc/shadow -p wa -k identity Is it the case that command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80755-2: Record Unsuccessful Access Attempts to Files - open_by_handle_atCCE-80754-5: Record Unsuccessful Access Attempts to Files - openat Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. @@ -8250,60 +8609,66 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access + If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the open_by_handle_at system call. + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the openat system call. If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: -$ sudo grep -r open_by_handle_at /etc/audit/rules.d +$ sudo grep -r openat /etc/audit/rules.d If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: -$ sudo grep open_by_handle_at /etc/audit/audit.rules +$ sudo grep openat /etc/audit/audit.rules The output should be the following: --a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands. At a minimum, the audit system should collect unauthorized file accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access + If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80735-4: Ensure auditd Collects Information on the Use of Privileged Commands - ssh-keysignCCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/ Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-keysign" command with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: -$ sudo auditctl -l | grep ssh-keysign +$ sudo auditctl -l | grep/etc/sudoers.d --a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-keysign Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80731-3: Ensure auditd Collects Information on the Use of Privileged Commands - passwdCCE-80727-1: Ensure auditd Collects Information on the Use of Privileged Commands - crontab Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. @@ -8371,29 +8736,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "passwd" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "crontab" command with the following command: -$ sudo auditctl -l | grep passwd +$ sudo auditctl -l | grep crontab --a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-passwd Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80737-0: Ensure auditd Collects Information on the Use of Privileged Commands - sudoCCE-89455-0: Ensure auditd Collects Information on the Use of Privileged Commands - kmod Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. @@ -8416,29 +8781,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "sudo" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "kmod" command with the following command: -$ sudo auditctl -l | grep sudo +$ sudo auditctl -l | grep kmod --a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -k privileged-sudo Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80725-5: Ensure auditd Collects Information on the Use of Privileged Commands - chageCCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadow Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chage" command with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: -$ sudo auditctl -l | grep chage +$ sudo auditctl -l | grep -E '(/etc/gshadow)' --a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chage Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80733-9: Ensure auditd Collects Information on the Use of Privileged Commands - postqueueCCE-88437-9: Record Any Attempts to Run setfacl Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect any execution attempt +of the setfacl command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postqueue" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfacl" command with the following command: -$ sudo auditctl -l | grep postqueue +$ sudo auditctl -l | grep setfacl --a always,exit -F path=/usr/bin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postqueue Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect any execution attempt +of the setfacl command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80687-7: Record Events that Modify the System's Discretionary Access Controls - fchmodCCE-80706-5: Ensure auditd Collects File Deletion Events by User - unlink Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fchmod system call, run the following command: -
$ sudo grep "fchmod" /etc/audit/audit.*
+unlink system call, run the following command: +
$ sudo grep "unlink" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80739-6: Ensure auditd Collects Information on the Use of Privileged Commands - umountCCE-80755-2: Record Unsuccessful Access Attempts to Files - open_by_handle_at Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "umount" command with the following command: + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the open_by_handle_at system call. -$ sudo auditctl -l | grep umount +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: --a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-umount Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/CCE-80695-0: Record Events that Modify the System's Discretionary Access Controls - lsetxattr Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: - -$ sudo auditctl -l | grep/etc/sudoers.d - --w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +lsetxattr system call, run the following command: +
$ sudo grep "lsetxattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80713-1: Ensure auditd Collects Information on Kernel Module Loading - init_moduleCCE-80758-6: Record Events that Modify User/Group Information - /etc/group Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.To capture kernel module loading events, use following line, setting ARCH to -either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: - -
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
- - -Place to add the line depends on a way auditd daemon is configured. If it is configured -to use the augenrules program (the default), add the line to a file with suffix -.rules in the directory /etc/audit/rules.d. - -If the auditd daemon is configured to use the auditctl utility, -add the line to file /etc/audit/audit.rules.
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.To determine if the system is configured to audit calls to the -init_module system call, run the following command: -
$ sudo grep "init_module" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.To capture kernel module loading events, use following line, setting ARCH to -either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: - -
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
- +
Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/group" with the following command: -Place to add the line depends on a way auditd daemon is configured. If it is configured -to use the augenrules program (the default), add the line to a file with suffix -.rules in the directory /etc/audit/rules.d. +$ sudo auditctl -l | grep -E '(/etc/group)' -If the auditd daemon is configured to use the auditctl utility, -add the line to file /etc/audit/audit.rules.Configure the operating system to generate audit records containing the full-text recording of privileged commands.If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80726-3: Ensure auditd Collects Information on the Use of Privileged Commands - chshCCE-80732-1: Ensure auditd Collects Information on the Use of Privileged Commands - postdrop Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. @@ -8841,29 +9263,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chsh" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postdrop" command with the following command: -$ sudo auditctl -l | grep chsh +$ sudo auditctl -l | grep postdrop --a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chsh Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80698-4: Record Any Attempts to Run chconCCE-80761-0: Record Events that Modify User/Group Information - /etc/passwd Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect any execution attempt -of the chcon command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chcon" command with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: -$ sudo auditctl -l | grep chcon +$ sudo auditctl -l | grep -E '(/etc/passwd)' --a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect any execution attempt -of the chcon command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000135SRG-OS-000042-GPOS-00020TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.CCE-80722-2: Ensure auditd Collects Information on Exporting to Media (successful)Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. - -At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect media exportation -events for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.To determine if the system is configured to audit calls to the -mount system call, run the following command: -
$ sudo grep "mount" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect media exportation -events for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80703-2: Ensure auditd Collects File Deletion Events by User - renameCCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswd Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the + If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: + +$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' + +-w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records containing the full-text recording of privileged commands.If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
medium
CCI-000135SRG-OS-000042-GPOS-00020TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.CCE-80722-2: Ensure auditd Collects Information on Exporting to Media (successful)Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + +At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect media exportation +events for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding. To determine if the system is configured to audit calls to the -rename system call, run the following command: -
$ sudo grep "rename" /etc/audit/audit.*
+mount system call, run the following command: +
$ sudo grep "mount" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as + At a minimum, the audit system should collect media exportation +events for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-89903-9: Ensure All Accounts on the System Have Unique User IDsCCE-82280-9: Record Any Attempts to Run setfiles Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.Change user IDs (UIDs), or delete accounts, so each has a unique name.At a minimum, the audit system should collect any execution attempt +of the setfiles command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 contains no duplicate User IDs (UIDs) for interactive users. + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfiles" command with the following command: -Check that the operating system contains no duplicate UIDs for interactive users with the following command: +$ sudo auditctl -l | grep setfiles -
$ sudo awk -F ":" 'list[$3]++{print $1, $3}' /etc/passwd
Is it the case that output is produced and the accounts listed are interactive user accounts?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.Change user IDs (UIDs), or delete accounts, so each has a unique name.At a minimum, the audit system should collect any execution attempt +of the setfiles command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80686-9: Record Events that Modify the System's Discretionary Access Controls - chownCCE-80685-1: Record Events that Modify the System's Discretionary Access Controls - chmod Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. @@ -9101,20 +9553,20 @@ use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding. To determine if the system is configured to audit calls to the -chown system call, run the following command: -
$ sudo grep "chown" /etc/audit/audit.*
+chmod system call, run the following command: +
$ sudo grep "chmod" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands. medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80752-9: Record Unsuccessful Access Attempts to Files - ftruncateCCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoers Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the ftruncate system call. + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: +$ sudo auditctl -l | grep /etc/sudoers -$ sudo grep -r ftruncate /etc/audit/rules.d +-w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-w /etc/sudoers -p wa -k actions
medium
CCI-000135SRG-OS-000042-GPOS-00020TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.CCE-80825-3: Enable Auditing for Processes Which Start Prior to the Audit DaemonReconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. --a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?To ensure all processes can be audited, even those which start +prior to the audit daemon, add the argument audit=1 to the default +GRUB 2 command line for the Linux operating system. +To ensure that audit=1 is added as a kernel command line +argument to newly installed kernels, add audit=1 to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... audit=1 ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit=1"
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Inspect the form of default GRUB 2 command line for the Linux operating system +in /etc/default/grub. If it includes audit=1, +then the parameter will be configured for newly installed kernels. +First check if the GRUB recovery is enabled: +
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
+If this option is set to true, then check that a line is output by the following command: +
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*audit=1.*' /etc/default/grub
+If the recovery is disabled, check the line with +
$ sudo grep 'GRUB_CMDLINE_LINUX.*audit=1.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. +Run the following command: +
$ sudo grubby --info=ALL | grep args | grep -v 'audit=1'
+The command should not return any output. Is it the case that auditing is not enabled at boot time?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
mediumTo ensure all processes can be audited, even those which start +prior to the audit daemon, add the argument audit=1 to the default +GRUB 2 command line for the Linux operating system. +To ensure that audit=1 is added as a kernel command line +argument to newly installed kernels, add audit=1 to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... audit=1 ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit=1"
low TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80704-0: Ensure auditd Collects File Deletion Events by User - renameatCCE-80698-4: Record Any Attempts to Run chcon Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect any execution attempt +of the chcon command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.To determine if the system is configured to audit calls to the -renameat system call, run the following command: -
$ sudo grep "renameat" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chcon" command with the following command: + +$ sudo auditctl -l | grep chcon + +-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect any execution attempt +of the chcon command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-89480-8: Ensure auditd Collects Information on the Use of Privileged Commands - unix_updateCCE-80725-5: Ensure auditd Collects Information on the Use of Privileged Commands - chage Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. @@ -9285,29 +9746,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_update" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chage" command with the following command: -$ sudo auditctl -l | grep unix_update +$ sudo auditctl -l | grep chage --a always,exit -F path=/usr/bin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_update Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80730-5: Ensure auditd Collects Information on the Use of Privileged Commands - pam_timestamp_checkCCE-80762-8: Record Events that Modify User/Group Information - /etc/shadow Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "pam_timestamp_check" command with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd with the following command: -$ sudo auditctl -l | grep pam_timestamp_check +$ sudo auditctl -l | grep -E '(/etc/shadow)' --a always,exit -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid>=1000 -F auid!=unset -k privileged-pam_timestamp_check Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80740-4: Ensure auditd Collects Information on the Use of Privileged Commands - unix_chkpwdCCE-80726-3: Ensure auditd Collects Information on the Use of Privileged Commands - chsh Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. @@ -9379,29 +9844,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_chkpwd" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chsh" command with the following command: -$ sudo auditctl -l | grep unix_chkpwd +$ sudo auditctl -l | grep chsh --a always,exit -F path=/usr/bin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_chkpwd Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records containing the full-text recording of privileged commands. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records containing the full-text recording of privileged commands.CCE-80695-0: Record Events that Modify the System's Discretionary Access Controls - lsetxattrCCE-80703-2: Ensure auditd Collects File Deletion Events by User - renameReconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + +At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.To determine if the system is configured to audit calls to the +rename system call, run the following command: +
$ sudo grep "rename" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
medium
CCI-000135SRG-OS-000042-GPOS-00020TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.CCE-80689-3: Record Events that Modify the System's Discretionary Access Controls - fchown Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. @@ -9424,24 +9938,23 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding. To determine if the system is configured to audit calls to the -lsetxattr system call, run the following command: -
$ sudo grep "lsetxattr" /etc/audit/audit.*
+fchown system call, run the following command: +
$ sudo grep "fchown" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands. medium
CCI-000135SRG-OS-000042-GPOS-00020TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.CCE-89446-9: Record Any Attempts to Run chaclReconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. -At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect any execution attempt -of the chacl command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chacl" command with the following command: -$ sudo auditctl -l | grep chacl --a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect any execution attempt -of the chacl command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000135SRG-OS-000042-GPOS-00020SRG-OS-000042-GPOS-00021 TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.The operating system must produce audit records containing the individual identities of group account users.CCE-80719-8: Record Attempts to Alter Logon and Logout Events - lastlogCCE-80872-5: Enable auditd Service Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. -At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.The audit system already collects login information for all users -and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d in order to watch for attempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file in order to watch for unattempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
The auditd service is an essential userspace component of +the Linux Auditing System, as it is responsible for writing audit records to +disk. + +The auditd service can be enabled with the following command: +
$ sudo systemctl enable auditd.service
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/lastlog" with the following command: + Verify the operating system produces audit records containing the individual identities of group account users. If it does not, this is a finding. -$ sudo auditctl -l | grep /var/log/lastlog +Run the following command to determine the current status of the +auditd service: +
$ sudo systemctl is-active auditd
+If the service is running, it should return the following:
active
Is it the case that the auditd service is not running?
Configure the operating system to produce audit records containing the individual identities of group account users.The auditd service is an essential userspace component of +the Linux Auditing System, as it is responsible for writing audit records to +disk. --w /var/log/lastlog -p wa -k logins Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records containing the full-text recording of privileged commands.The audit system already collects login information for all users -and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d in order to watch for attempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file in order to watch for unattempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
medium
CCI-000135SRG-OS-000042-GPOS-00020SRG-OS-000042-GPOS-00021 TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.The operating system must produce audit records containing the individual identities of group account users.CCE-80705-7: Ensure auditd Collects File Deletion Events by User - rmdirCCE-81043-2: Ensure the audit Subsystem is Installed Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. -At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
The audit package should be installed. Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.To determine if the system is configured to audit calls to the -rmdir system call, run the following command: -
$ sudo grep "rmdir" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
Verify the operating system produces audit records containing the individual identities of group account users. If it does not, this is a finding.Run the following command to determine if the audit package is installed:
$ rpm -q audit
Is it the case that the audit package is not installed?
Configure the operating system to produce audit records containing the individual identities of group account users.The audit package should be installed. medium
CCI-000135SRG-OS-000042-GPOS-00020CCI-000139SRG-OS-000046-GPOS-00022 TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.The operating system must alert the ISSO and SA (at a minimum) in the event of an audit processing failure.CCE-80825-3: Enable Auditing for Processes Which Start Prior to the Audit DaemonCCE-89063-2: Configure System to Forward All Mail From Postmaster to The Root AccountReconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without this notification, the security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected. -At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.To ensure all processes can be audited, even those which start -prior to the audit daemon, add the argument audit=1 to the default -GRUB 2 command line for the Linux operating system. -To ensure that audit=1 is added as a kernel command line -argument to newly installed kernels, add audit=1 to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... audit=1 ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit=1"
Verify the administrators are notified in the event of an audit processing failure. +Check that the "/etc/aliases" file has a defined value for "root". +
$ sudo grep "postmaster:\s*root$" /etc/aliases
+
+postmaster: root
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Inspect the form of default GRUB 2 command line for the Linux operating system -in /etc/default/grub. If it includes audit=1, -then the parameter will be configured for newly installed kernels. -First check if the GRUB recovery is enabled: -
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
-If this option is set to true, then check that a line is output by the following command: -
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*audit=1.*' /etc/default/grub
-If the recovery is disabled, check the line with -
$ sudo grep 'GRUB_CMDLINE_LINUX.*audit=1.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. -Run the following command: -
$ sudo grubby --info=ALL | grep args | grep -v 'audit=1'
-The command should not return any output. Is it the case that auditing is not enabled at boot time?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.To ensure all processes can be audited, even those which start -prior to the audit daemon, add the argument audit=1 to the default -GRUB 2 command line for the Linux operating system. -To ensure that audit=1 is added as a kernel command line -argument to newly installed kernels, add audit=1 to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... audit=1 ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit=1"
lowVerify the operating system alerts the ISSO and SA (at a minimum) in the event of an audit processing failure. If it does not, this is a finding.Find the list of alias maps used by the Postfix mail server: +
$ sudo postconf alias_maps
+Query the Postfix alias maps for an alias for the postmaster user: +
$ sudo postmap -q postmaster hash:/etc/aliases
+The output should return root. Is it the case that the alias is not set or is not root?
Configure the operating system to alert the ISSO and SA (at a minimum) in the event of an audit processing failure.Verify the administrators are notified in the event of an audit processing failure. +Check that the "/etc/aliases" file has a defined value for "root". +
$ sudo grep "postmaster:\s*root$" /etc/aliases
+
+postmaster: root
medium
CCI-000135SRG-OS-000042-GPOS-00020CCI-000139SRG-OS-000046-GPOS-00022 TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.The operating system must alert the ISSO and SA (at a minimum) in the event of an audit processing failure.CCE-80707-3: Ensure auditd Collects File Deletion Events by User - unlinkatCCE-85983-5: The Postfix package is installedReconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without this notification, the security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected. -At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
A mail server is required for sending emails. +The postfix package can be installed with the following command: +
+$ sudo yum install postfix
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.To determine if the system is configured to audit calls to the -unlinkat system call, run the following command: -
$ sudo grep "unlinkat" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
Verify the operating system alerts the ISSO and SA (at a minimum) in the event of an audit processing failure. If it does not, this is a finding.Run the following command to determine if the postfix package is installed:
$ rpm -q postfix
Is it the case that the package is not installed?
Configure the operating system to alert the ISSO and SA (at a minimum) in the event of an audit processing failure.A mail server is required for sending emails. +The postfix package can be installed with the following command: +
+$ sudo yum install postfix
medium
CCI-000135SRG-OS-000042-GPOS-00020CCI-000139SRG-OS-000046-GPOS-00022 TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.CCE-80712-3: Ensure auditd Collects Information on Kernel Module Loading and Unloading - finit_moduleThe operating system must alert the ISSO and SA (at a minimum) in the event of an audit processing failure.Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. + CCE-80678-6: Configure auditd mail_acct Action on Low Disk SpaceIf the auditd daemon is configured to use the augenrules program -to read audit rules during daemon startup (the default), add the following lines to a file -with suffix .rules in the directory /etc/audit/rules.d to capture kernel module -loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: + It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without this notification, the security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected. -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
- If the auditd daemon is configured to use the auditctl utility to read audit -rules during daemon startup, add the following lines to /etc/audit/audit.rules file -in order to capture kernel module loading and unloading events, setting ARCH to either b32 or -b64 as appropriate for your system: +Audit processing failures include software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded. -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
The auditd service can be configured to send email to +a designated account in certain situations. Add or correct the following line +in /etc/audit/auditd.conf to ensure that administrators are notified +via email for those situations: +
action_mail_acct = 
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.To determine if the system is configured to audit calls to the -finit_module system call, run the following command: -
$ sudo grep "finit_module" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.If the auditd daemon is configured to use the augenrules program -to read audit rules during daemon startup (the default), add the following lines to a file -with suffix .rules in the directory /etc/audit/rules.d to capture kernel module -loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: + Verify the operating system alerts the ISSO and SA (at a minimum) in the event of an audit processing failure. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to notify the SA and/or ISSO (at a minimum) in the event of an audit processing failure with the following command: -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
- If the auditd daemon is configured to use the auditctl utility to read audit -rules during daemon startup, add the following lines to /etc/audit/audit.rules file -in order to capture kernel module loading and unloading events, setting ARCH to either b32 or -b64 as appropriate for your system: +
$ sudo grep action_mail_acct /etc/audit/auditd.conf
 
-
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
Configure the operating system to alert the ISSO and SA (at a minimum) in the event of an audit processing failure.The auditd service can be configured to send email to +a designated account in certain situations. Add or correct the following line +in /etc/audit/auditd.conf to ensure that administrators are notified +via email for those situations: +
action_mail_acct = 
medium
CCI-000135SRG-OS-000042-GPOS-00020CCI-000140SRG-OS-000047-GPOS-00023 TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.The operating system must shut down by default upon audit failure (unless availability is an overriding concern).CCE-80706-5: Ensure auditd Collects File Deletion Events by User - unlinkCCE-84045-4: Configure auditd Disk Full Action when Disk Space Is FullReconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. - -At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.To determine if the system is configured to audit calls to the -unlink system call, run the following command: -
$ sudo grep "unlink" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
medium
CCI-000135SRG-OS-000042-GPOS-00020TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.CCE-80756-0: Record Unsuccessful Access Attempts to Files - truncateReconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. - -At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the truncate system call. - -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: - -$ sudo grep -r truncate /etc/audit/rules.d - -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: - -$ sudo grep truncate /etc/audit/audit.rules - -The output should be the following: - --a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium
CCI-000135SRG-OS-000042-GPOS-00020TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.CCE-85944-7: Record Any Attempts to Run ssh-agentReconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. - -At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect any execution attempt -of the ssh-agent command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-agent" command with the following command: - -$ sudo auditctl -l | grep ssh-agent - --a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect any execution attempt -of the ssh-agent command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
medium
CCI-000135SRG-OS-000042-GPOS-00020TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records containing the full-text recording of privileged commands.CCE-80741-2: Ensure auditd Collects Information on the Use of Privileged Commands - userhelperReconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. - -At a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system generates audit records containing the full-text recording of privileged commands. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "userhelper" command with the following command: - -$ sudo auditctl -l | grep userhelper - --a always,exit -F path=/usr/bin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -k privileged-userhelper Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records containing the full-text recording of privileged commands.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000135SRG-OS-000042-GPOS-00021TBD - Assigned by DISA after STIG releaseThe operating system must produce audit records containing the individual identities of group account users.CCE-80872-5: Enable auditd ServiceReconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. - -At a minimum, the organization must audit the individual identities of group users. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the actual account involved in the activity.The auditd service is an essential userspace component of -the Linux Auditing System, as it is responsible for writing audit records to -disk. - -The auditd service can be enabled with the following command: -
$ sudo systemctl enable auditd.service
Applicable - ConfigurableVerify the operating system produces audit records containing the individual identities of group account users. If it does not, this is a finding. - -Run the following command to determine the current status of the -auditd service: -
$ sudo systemctl is-active auditd
-If the service is running, it should return the following:
active
Is it the case that the auditd service is not running?
Configure the operating system to produce audit records containing the individual identities of group account users.The auditd service is an essential userspace component of -the Linux Auditing System, as it is responsible for writing audit records to -disk. - -The auditd service can be enabled with the following command: -
$ sudo systemctl enable auditd.service
medium
CCI-000135SRG-OS-000042-GPOS-00021TBD - Assigned by DISA after STIG releaseThe operating system must produce audit records containing the individual identities of group account users.CCE-81043-2: Ensure the audit Subsystem is InstalledReconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. - -At a minimum, the organization must audit the individual identities of group users. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the actual account involved in the activity.The audit package should be installed.Applicable - ConfigurableVerify the operating system produces audit records containing the individual identities of group account users. If it does not, this is a finding.Run the following command to determine if the audit package is installed:
$ rpm -q audit
Is it the case that the audit package is not installed?
Configure the operating system to produce audit records containing the individual identities of group account users.The audit package should be installed.medium
CCI-000139SRG-OS-000046-GPOS-00022TBD - Assigned by DISA after STIG releaseThe operating system must alert the ISSO and SA (at a minimum) in the event of an audit processing failure.CCE-85983-5: The Postfix package is installedIt is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without this notification, the security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected. - -Audit processing failures include software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded. - -This requirement applies to each audit data storage repository (i.e., distinct information system component where audit records are stored), the centralized audit storage capacity of organizations (i.e., all audit data storage repositories combined), or both.A mail server is required for sending emails. -The postfix package can be installed with the following command: -
-$ sudo yum install postfix
Applicable - ConfigurableVerify the operating system alerts the ISSO and SA (at a minimum) in the event of an audit processing failure. If it does not, this is a finding.Run the following command to determine if the postfix package is installed:
$ rpm -q postfix
Is it the case that the package is not installed?
Configure the operating system to alert the ISSO and SA (at a minimum) in the event of an audit processing failure.A mail server is required for sending emails. -The postfix package can be installed with the following command: -
-$ sudo yum install postfix
medium
CCI-000139SRG-OS-000046-GPOS-00022TBD - Assigned by DISA after STIG releaseThe operating system must alert the ISSO and SA (at a minimum) in the event of an audit processing failure.CCE-80678-6: Configure auditd mail_acct Action on Low Disk SpaceIt is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without this notification, the security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected. - -Audit processing failures include software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded. - -This requirement applies to each audit data storage repository (i.e., distinct information system component where audit records are stored), the centralized audit storage capacity of organizations (i.e., all audit data storage repositories combined), or both.The auditd service can be configured to send email to -a designated account in certain situations. Add or correct the following line -in /etc/audit/auditd.conf to ensure that administrators are notified -via email for those situations: -
action_mail_acct = 
Applicable - ConfigurableVerify the operating system alerts the ISSO and SA (at a minimum) in the event of an audit processing failure. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to notify the SA and/or ISSO (at a minimum) in the event of an audit processing failure with the following command: - -
$ sudo grep action_mail_acct /etc/audit/auditd.conf
-
-action_mail_acct = 
Is it the case that the value of the "action_mail_acct" keyword is not set to "" and/or other accounts for security personnel, the "action_mail_acct" keyword is missing, or the retuned line is commented out, ask the system administrator to indicate how they and the ISSO are notified of an audit process failure. If there is no evidence of the proper personnel being notified of an audit processing failure?
Configure the operating system to alert the ISSO and SA (at a minimum) in the event of an audit processing failure.The auditd service can be configured to send email to -a designated account in certain situations. Add or correct the following line -in /etc/audit/auditd.conf to ensure that administrators are notified -via email for those situations: -
action_mail_acct = 
medium
CCI-000139SRG-OS-000046-GPOS-00022TBD - Assigned by DISA after STIG releaseThe operating system must alert the ISSO and SA (at a minimum) in the event of an audit processing failure.CCE-89063-2: Configure System to Forward All Mail From Postmaster to The Root AccountIt is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without this notification, the security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected. - -Audit processing failures include software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded. - -This requirement applies to each audit data storage repository (i.e., distinct information system component where audit records are stored), the centralized audit storage capacity of organizations (i.e., all audit data storage repositories combined), or both.Verify the administrators are notified in the event of an audit processing failure. -Check that the "/etc/aliases" file has a defined value for "root". -
$ sudo grep "postmaster:\s*root$" /etc/aliases
-
-postmaster: root
Applicable - ConfigurableVerify the operating system alerts the ISSO and SA (at a minimum) in the event of an audit processing failure. If it does not, this is a finding.Find the list of alias maps used by the Postfix mail server: -
$ sudo postconf alias_maps
-Query the Postfix alias maps for an alias for the postmaster user: -
$ sudo postmap -q postmaster hash:/etc/aliases
-The output should return root. Is it the case that the alias is not set or is not root?
Configure the operating system to alert the ISSO and SA (at a minimum) in the event of an audit processing failure.Verify the administrators are notified in the event of an audit processing failure. -Check that the "/etc/aliases" file has a defined value for "root". -
$ sudo grep "postmaster:\s*root$" /etc/aliases
-
-postmaster: root
medium
CCI-000140SRG-OS-000047-GPOS-00023TBD - Assigned by DISA after STIG releaseThe operating system must shut down by default upon audit failure (unless availability is an overriding concern).CCE-84046-2: Configure auditd Disk Error Action on Disk ErrorIt is critical that when the operating system is at risk of failing to process audit logs as required, it takes action to mitigate the failure. Audit processing failures include: software/hardware errors; failures in the audit capturing mechanisms; and audit storage capacity being reached or exceeded. Responses to audit failure depend upon the nature of the failure mode. + It is critical that when the operating system is at risk of failing to process audit logs as required, it takes action to mitigate the failure. Audit processing failures include: software/hardware errors; failures in the audit capturing mechanisms; and audit storage capacity being reached or exceeded. Responses to audit failure depend upon the nature of the failure mode. When availability is an overriding concern, other approved actions in response to an audit failure are as follows: @@ -10231,36 +10231,42 @@ 2) If audit records are sent to a centralized collection server and communication with this server is lost or the server fails, the operating system must queue audit records locally until communication is restored or until the audit records are retrieved manually. Upon restoration of the connection to the centralized collection server, action should be taken to synchronize the local audit data with the collection server. The auditd service can be configured to take an action -when there is a disk error. +when disk space is running low but prior to running out of space completely. Edit the file /etc/audit/auditd.conf. Add or modify the following line, substituting ACTION appropriately: -
disk_error_action = ACTION
+
disk_full_action = ACTION
Set this value to single to cause the system to switch to single-user mode for corrective action. Acceptable values also include syslog, -exec, single, and halt. For certain systems, the need for availability + +exec, + +single, and halt. For certain systems, the need for availability outweighs the need to log all actions, and a different setting should be determined. Details regarding all possible values for ACTION are described in the auditd.conf man page.
Applicable - Configurable Verify the operating system shuts down by default upon audit failure (unless availability is an overriding concern). If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 takes the appropriate action when an audit processing failure occurs. + Verify Red Hat Enterprise Linux 8 takes the appropriate action when the audit storage volume is full. -Check that Red Hat Enterprise Linux 8 takes the appropriate action when an audit processing failure occurs with the following command: +Check that Red Hat Enterprise Linux 8 takes the appropriate action when the audit storage volume is full with the following command: -$ sudo grep disk_error_action /etc/audit/auditd.conf +$ sudo grep disk_full_action /etc/audit/auditd.conf -disk_error_action = +disk_full_action = -If the value of the "disk_error_action" option is not "SYSLOG", "SINGLE", or "HALT", or the line is commented out, ask the system administrator to indicate how the system takes appropriate action when an audit process failure occurs. Is it the case that there is no evidence of appropriate action? Configure the operating system to shut down by default upon audit failure (unless availability is an overriding concern). The auditd service can be configured to take an action -when there is a disk error. +when disk space is running low but prior to running out of space completely. Edit the file /etc/audit/auditd.conf. Add or modify the following line, substituting ACTION appropriately: -
disk_error_action = ACTION
+
disk_full_action = ACTION
Set this value to single to cause the system to switch to single-user mode for corrective action. Acceptable values also include syslog, -exec, single, and halt. For certain systems, the need for availability + +exec, + +single, and halt. For certain systems, the need for availability outweighs the need to log all actions, and a different setting should be determined. Details regarding all possible values for ACTION are described in the auditd.conf man page.
TBD - Assigned by DISA after STIG release The operating system must shut down by default upon audit failure (unless availability is an overriding concern).CCE-84045-4: Configure auditd Disk Full Action when Disk Space Is FullCCE-84046-2: Configure auditd Disk Error Action on Disk Error It is critical that when the operating system is at risk of failing to process audit logs as required, it takes action to mitigate the failure. Audit processing failures include: software/hardware errors; failures in the audit capturing mechanisms; and audit storage capacity being reached or exceeded. Responses to audit failure depend upon the nature of the failure mode. @@ -10286,42 +10292,36 @@ 2) If audit records are sent to a centralized collection server and communication with this server is lost or the server fails, the operating system must queue audit records locally until communication is restored or until the audit records are retrieved manually. Upon restoration of the connection to the centralized collection server, action should be taken to synchronize the local audit data with the collection server. The auditd service can be configured to take an action -when disk space is running low but prior to running out of space completely. +when there is a disk error. Edit the file /etc/audit/auditd.conf. Add or modify the following line, substituting ACTION appropriately: -
disk_full_action = ACTION
+
disk_error_action = ACTION
Set this value to single to cause the system to switch to single-user mode for corrective action. Acceptable values also include syslog, - -exec, - -single, and halt. For certain systems, the need for availability +exec, single, and halt. For certain systems, the need for availability outweighs the need to log all actions, and a different setting should be determined. Details regarding all possible values for ACTION are described in the auditd.conf man page.
Applicable - Configurable Verify the operating system shuts down by default upon audit failure (unless availability is an overriding concern). If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 takes the appropriate action when the audit storage volume is full. + Verify Red Hat Enterprise Linux 8 takes the appropriate action when an audit processing failure occurs. -Check that Red Hat Enterprise Linux 8 takes the appropriate action when the audit storage volume is full with the following command: +Check that Red Hat Enterprise Linux 8 takes the appropriate action when an audit processing failure occurs with the following command: -$ sudo grep disk_full_action /etc/audit/auditd.conf +$ sudo grep disk_error_action /etc/audit/auditd.conf -disk_full_action = +disk_error_action = -If the value of the "disk_full_action" option is not "SYSLOG", "SINGLE", or "HALT", or the line is commented out, ask the system administrator to indicate how the system takes appropriate action when an audit storage volume is full. Is it the case that there is no evidence of appropriate action? Configure the operating system to shut down by default upon audit failure (unless availability is an overriding concern). The auditd service can be configured to take an action -when disk space is running low but prior to running out of space completely. +when there is a disk error. Edit the file /etc/audit/auditd.conf. Add or modify the following line, substituting ACTION appropriately: -
disk_full_action = ACTION
+
disk_error_action = ACTION
Set this value to single to cause the system to switch to single-user mode for corrective action. Acceptable values also include syslog, - -exec, - -single, and halt. For certain systems, the need for availability +exec, single, and halt. For certain systems, the need for availability outweighs the need to log all actions, and a different setting should be determined. Details regarding all possible values for ACTION are described in the auditd.conf man page.
CCI-000154SRG-OS-000051-GPOS-00024TBD - Assigned by DISA after STIG releaseThe operating system must provide the capability to centrally review and analyze audit records from multiple components within the system.CCE-80847-7: Ensure rsyslog is InstalledSuccessful incident response and auditing relies on timely, accurate system information and analysis in order to allow the organization to identify and respond to potential incidents in a proficient manner. If the operating system does not provide the ability to centrally review the operating system logs, forensic analysis is negatively impacted. - -Segregation of logging data to multiple disparate computer systems is counterproductive and makes log analysis and log event alarming difficult to implement and manage, particularly when the system has multiple logging components writing to different locations or systems. - -To support the centralized capability, the operating system must be able to provide the information in a format that can be extracted and used, allowing the application performing the centralization of the log records to meet this requirement.Rsyslog is installed by default. The rsyslog package can be installed with the following command:
 $ sudo yum install rsyslog
Applicable - ConfigurableVerify the operating system provides the capability to centrally review and analyze audit records from multiple components within the system. If it does not, this is a finding.Run the following command to determine if the rsyslog package is installed:
$ rpm -q rsyslog
Is it the case that the package is not installed?
Configure the operating system to provide the capability to centrally review and analyze audit records from multiple components within the system.Rsyslog is installed by default. The rsyslog package can be installed with the following command:
 $ sudo yum install rsyslog
medium
CCI-000154 SRG-OS-000051-GPOS-00024
CCI-000154SRG-OS-000051-GPOS-00024TBD - Assigned by DISA after STIG releaseThe operating system must provide the capability to centrally review and analyze audit records from multiple components within the system.CCE-80847-7: Ensure rsyslog is InstalledSuccessful incident response and auditing relies on timely, accurate system information and analysis in order to allow the organization to identify and respond to potential incidents in a proficient manner. If the operating system does not provide the ability to centrally review the operating system logs, forensic analysis is negatively impacted. + +Segregation of logging data to multiple disparate computer systems is counterproductive and makes log analysis and log event alarming difficult to implement and manage, particularly when the system has multiple logging components writing to different locations or systems. + +To support the centralized capability, the operating system must be able to provide the information in a format that can be extracted and used, allowing the application performing the centralization of the log records to meet this requirement.Rsyslog is installed by default. The rsyslog package can be installed with the following command:
 $ sudo yum install rsyslog
Applicable - ConfigurableVerify the operating system provides the capability to centrally review and analyze audit records from multiple components within the system. If it does not, this is a finding.Run the following command to determine if the rsyslog package is installed:
$ rpm -q rsyslog
Is it the case that the package is not installed?
Configure the operating system to provide the capability to centrally review and analyze audit records from multiple components within the system.Rsyslog is installed by default. The rsyslog package can be installed with the following command:
 $ sudo yum install rsyslog
medium
TBD - Assigned by DISA after STIG release The operating system must protect audit information from unauthorized read access.CCE-88227-4: System Audit Logs Must Be Group Owned By RootCCE-88225-8: System Audit Directories Must Be Group Owned By Root Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit operating system activity.All audit logs must be group owned by root user. The path for audit log can -be configured via log_file parameter in
/etc/audit/auditd.conf
-or, by default, the path for audit log is
/var/log/audit/
. +
All audit directories must be group owned by root user. 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/*
+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.
Applicable - Configurable Verify the operating system protects audit information from unauthorized read access. If it does not, this is a finding.Check group owners of the system audit logs. - -First, determine where the audit log file is located. - -
$ sudo grep -iw ^log_file /etc/audit/auditd.conf
-
log_file = /var/log/audit/audit.log
- -The log_file option specifies the audit log file path. -If the log_file option isn't defined, check all files within /var/log/audit directory. - - -Then, determine the audit log group by running the following command: -
$ sudo grep -P '^[ ]*log_group[ ]+=.*$' /etc/audit/auditd.conf
- +
+Determine the audit log group by running the following command: -Then, check that the audit log file is owned by the correct group. -Run the following command to display the owner of the audit log file: +$ sudo grep -P '^[ ]*log_group[ ]+=.*$' /etc/audit/auditd.conf -
$ sudo stat -c "%n %G" log_file
+Then, check that all directories within the /var/log/audit directory are owned by the group specified as log_group or by root if the log_group is not specified. +Run the following command: +$ sudo find /var/log/audit -type d -printf "%p %g\n" -The audit log file must be owned by the log_group or by root if the log_group is not specified. Is it the case that audit log files are owned by incorrect group?
Configure the operating system to protect audit information from unauthorized read access.All audit logs must be group owned by root user. The path for audit log can -be configured via log_file parameter in
/etc/audit/auditd.conf
-or, 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.
medium
CCI-000162SRG-OS-000057-GPOS-00027TBD - Assigned by DISA after STIG releaseThe operating system must protect audit information from unauthorized read access.CCE-90783-2: Configure immutable Audit login UIDsAll audit directories must be group owned by root user. By default, the path for audit log is
/var/log/audit/
. -
Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. +To properly set the group owner of /var/log/audit, run the command: +
$ sudo chgrp root /var/log/audit
-Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit operating system activity.
Configure kernel to prevent modification of login UIDs once they are set. -Changing login UIDs while this configuration is enforced requires special capabilities which -are not available to unprivileged users. -If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d in order to make login UIDs -immutable: -
--loginuid-immutable
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file in order to make login UIDs -immutable: -
--loginuid-immutable
Applicable - ConfigurableVerify the operating system protects audit information from unauthorized read access. If it does not, this is a finding.To determine if the system is configured to make login UIDs immutable, run -one of the following commands. -If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), run the following: -
sudo grep immutable /etc/audit/rules.d/*.rules
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, run the following command: -
sudo grep immutable /etc/audit/audit.rules
-The following line should be returned: -
--loginuid-immutable
Is it the case that the system is not configured to make login UIDs immutable?
Configure the operating system to protect audit information from unauthorized read access.Configure kernel to prevent modification of login UIDs once they are set. -Changing login UIDs while this configuration is enforced requires special capabilities which -are not available to unprivileged users. -If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d in order to make login UIDs -immutable: -
--loginuid-immutable
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file in order to make login UIDs -immutable: -
--loginuid-immutable
medium TBD - Assigned by DISA after STIG release The operating system must protect audit information from unauthorized read access.CCE-84048-8: System Audit Logs Must Have Mode 0750 or Less PermissiveCCE-88226-6: System Audit Directories Must Be Owned By Root Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit operating system activity. -Verify the audit log directories have a mode of "0700" or less permissive by first determining -where the audit logs are stored with the following command: -
$ sudo grep -iw log_file /etc/audit/auditd.conf
+    
All audit directories must be owned by root user. By default, the path for audit log is
/var/log/audit/
. -log_file = /var/log/audit/audit.log -Configure the audit log directory to be protected from unauthorized read access by setting the -correct permissive mode with the following command: -
$ sudo chmod 0700 audit_log_directory
-By default, audit_log_directory is "/var/log/audit".
Applicable - Configurable Verify the operating system protects audit information from unauthorized read access. If it does not, this is a finding.Verify the audit log directories have a correct mode or less permissive mode. - -Find the location of the audit logs: - -$ sudo grep "^log_file" /etc/audit/auditd.conf - + Determine where the audit logs are stored with the following command: +$ sudo grep -iw log_file /etc/audit/auditd.conf -Run the following command to check the mode of the system audit logs: +log_file = /var/log/audit/audit.log -$ sudo stat -c "%a %n" [audit_log_directory] +Determine the owner of the audit log directory by using the output of the above command +(default: "/var/log/audit/"). Run the following command with the correct audit log directory +path: -Replace "[audit_log_directory]" to the correct audit log directory path, by default this location is "/var/log/audit". +$ sudo ls -ld /var/log/audit +drwx------ 2 root root 23 Jun 11 11:56 /var/log/audit -The correct permissions are 0700 Is it the case that audit logs have a more permissive mode? Configure the operating system to protect audit information from unauthorized read access. -Verify the audit log directories have a mode of "0700" or less permissive by first determining -where the audit logs are stored with the following command: -
$ sudo grep -iw log_file /etc/audit/auditd.conf
+    
All audit directories must be owned by root user. By default, the path for audit log is
/var/log/audit/
. -log_file = /var/log/audit/audit.log -Configure the audit log directory to be protected from unauthorized read access by setting the -correct permissive mode with the following command: -
$ sudo chmod 0700 audit_log_directory
-By default, audit_log_directory is "/var/log/audit".
medium
CCI-000162SRG-OS-000057-GPOS-00027TBD - Assigned by DISA after STIG releaseThe operating system must protect audit information from unauthorized read access.CCE-80819-6: System Audit Logs Must Have Mode 0640 or Less PermissiveUnauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. - -Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit operating system activity. -Determine where the audit logs are stored with the following command: -
$ sudo grep -iw log_file /etc/audit/auditd.conf
-log_file = /var/log/audit/audit.log
-Configure the audit log to be protected from unauthorized read access by setting the correct -permissive mode with the following command: -
$ sudo chmod 0600 audit_log_file
-By default, audit_log_file is "/var/log/audit/audit.log".
Applicable - ConfigurableVerify the operating system protects audit information from unauthorized read access. If it does not, this is a finding.Run the following command to check the mode of the system audit logs: -
$ sudo grep -iw log_file /etc/audit/auditd.conf
-
log_file=/var/log/audit/audit.log
-
$ sudo stat -c "%n %a" /var/log/audit/*
-
$ sudo ls -l /var/log/audit
-Audit logs must be mode 0640 or less permissive. Is it the case that any permissions are more permissive?
Configure the operating system to protect audit information from unauthorized read access. -Determine where the audit logs are stored with the following command: -
$ sudo grep -iw log_file /etc/audit/auditd.conf
-log_file = /var/log/audit/audit.log
-Configure the audit log to be protected from unauthorized read access by setting the correct -permissive mode with the following command: -
$ sudo chmod 0600 audit_log_file
-By default, audit_log_file is "/var/log/audit/audit.log".
medium
CCI-000162 SRG-OS-000057-GPOS-00027TBD - Assigned by DISA after STIG release The operating system must protect audit information from unauthorized read access.CCE-88226-6: System Audit Directories Must Be Owned By RootUnauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. - -Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit operating system activity.All audit directories must be owned by root user. 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 
Applicable - ConfigurableVerify the operating system protects audit information from unauthorized read access. If it does not, this is a finding.Determine where the audit logs are stored with the following command: - -$ sudo grep -iw log_file /etc/audit/auditd.conf - -log_file = /var/log/audit/audit.log - -Determine the owner of the audit log directory by using the output of the above command -(default: "/var/log/audit/"). Run the following command with the correct audit log directory -path: - -$ sudo ls -ld /var/log/audit - -drwx------ 2 root root 23 Jun 11 11:56 /var/log/audit - -The audit log directory must be owned by "root" Is it the case that the directory is not owned by root?Configure the operating system to protect audit information from unauthorized read access.All audit directories must be owned by root user. 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 
medium
CCI-000162SRG-OS-000057-GPOS-00027TBD - Assigned by DISA after STIG releaseThe operating system must protect audit information from unauthorized read access.CCE-88225-8: System Audit Directories Must Be Group Owned By RootCCE-88227-4: System Audit Logs Must Be Group Owned By Root Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit operating system activity.All audit directories must be group owned by root user. 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 directories to this specific group.
Applicable - ConfigurableVerify the operating system protects audit information from unauthorized read access. If it does not, this is a finding. -Determine the audit log group by running the following command: - -$ sudo grep -P '^[ ]*log_group[ ]+=.*$' /etc/audit/auditd.conf - -Then, check that all directories within the /var/log/audit directory are owned by the group specified as log_group or by root if the log_group is not specified. -Run the following command: - -$ sudo find /var/log/audit -type d -printf "%p %g\n" - -All listed directories must be owned by the log_group or by root if the log_group is not specified. Is it the case that there is a directory owned by different group?Configure the operating system to protect audit information from unauthorized read access.All audit directories must be group owned by root user. 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 directories to this specific group.
medium
CCI-000163SRG-OS-000058-GPOS-00028TBD - Assigned by DISA after STIG releaseThe operating system must protect audit information from unauthorized modification.CCE-88227-4: System Audit Logs Must Be Group Owned By RootIf audit information were to become compromised, then forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. - -To ensure the veracity of audit information, the operating system must protect audit information from unauthorized modification. - -Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit information system activity. All audit logs must be group owned by root user. The path for audit log can be configured via log_file parameter in
/etc/audit/auditd.conf
or, by default, the path for audit log is
/var/log/audit/
. @@ -10949,7 +10723,7 @@ than the root group account, change the group ownership of the audit logs to this specific group.
Applicable - ConfigurableVerify the operating system protects audit information from unauthorized modification. If it does not, this is a finding.Verify the operating system protects audit information from unauthorized read access. If it does not, this is a finding. Check group owners of the system audit logs. First, determine where the audit log file is located. @@ -10972,7 +10746,7 @@ The audit log file must be owned by the log_group or by root if the log_group is not specified. Is it the case that audit log files are owned by incorrect group?Configure the operating system to protect audit information from unauthorized modification.Configure the operating system to protect audit information from unauthorized read access. All audit logs must be group owned by root user. The path for audit log can be configured via log_file parameter in
/etc/audit/auditd.conf
or, by default, the path for audit log is
/var/log/audit/
. @@ -10990,18 +10764,16 @@
CCI-000163SRG-OS-000058-GPOS-00028CCI-000162SRG-OS-000057-GPOS-00027 TBD - Assigned by DISA after STIG releaseThe operating system must protect audit information from unauthorized modification.The operating system must protect audit information from unauthorized read access. CCE-90783-2: Configure immutable Audit login UIDsIf audit information were to become compromised, then forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. - -To ensure the veracity of audit information, the operating system must protect audit information from unauthorized modification. + Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. -Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit information system activity. Configure kernel to prevent modification of login UIDs once they are set. Changing login UIDs while this configuration is enforced requires special capabilities which are not available to unprivileged users. @@ -11017,7 +10789,7 @@ immutable:
--loginuid-immutable
Applicable - ConfigurableVerify the operating system protects audit information from unauthorized modification. If it does not, this is a finding.Verify the operating system protects audit information from unauthorized read access. If it does not, this is a finding. To determine if the system is configured to make login UIDs immutable, run one of the following commands. If the auditd daemon is configured to use the @@ -11029,7 +10801,7 @@
sudo grep immutable /etc/audit/audit.rules
The following line should be returned:
--loginuid-immutable
Is it the case that the system is not configured to make login UIDs immutable?
Configure the operating system to protect audit information from unauthorized modification.Configure the operating system to protect audit information from unauthorized read access. Configure kernel to prevent modification of login UIDs once they are set. Changing login UIDs while this configuration is enforced requires special capabilities which are not available to unprivileged users. @@ -11051,18 +10823,58 @@
CCI-000163SRG-OS-000058-GPOS-00028CCI-000162SRG-OS-000057-GPOS-00027 TBD - Assigned by DISA after STIG releaseThe operating system must protect audit information from unauthorized modification.The operating system must protect audit information from unauthorized read access.CCE-84048-8: System Audit Logs Must Have Mode 0750 or Less PermissiveCCE-80819-6: System Audit Logs Must Have Mode 0640 or Less PermissiveIf audit information were to become compromised, then forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. + Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. -To ensure the veracity of audit information, the operating system must protect audit information from unauthorized modification. +Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit operating system activity. +Determine where the audit logs are stored with the following command: +
$ sudo grep -iw log_file /etc/audit/auditd.conf
+log_file = /var/log/audit/audit.log
+Configure the audit log to be protected from unauthorized read access by setting the correct +permissive mode with the following command: +
$ sudo chmod 0600 audit_log_file
+By default, audit_log_file is "/var/log/audit/audit.log".
Applicable - ConfigurableVerify the operating system protects audit information from unauthorized read access. If it does not, this is a finding.Run the following command to check the mode of the system audit logs: +
$ sudo grep -iw log_file /etc/audit/auditd.conf
+
log_file=/var/log/audit/audit.log
+
$ sudo stat -c "%n %a" /var/log/audit/*
+
$ sudo ls -l /var/log/audit
+Audit logs must be mode 0640 or less permissive. Is it the case that any permissions are more permissive?
Configure the operating system to protect audit information from unauthorized read access. +Determine where the audit logs are stored with the following command: +
$ sudo grep -iw log_file /etc/audit/auditd.conf
+log_file = /var/log/audit/audit.log
+Configure the audit log to be protected from unauthorized read access by setting the correct +permissive mode with the following command: +
$ sudo chmod 0600 audit_log_file
+By default, audit_log_file is "/var/log/audit/audit.log".
medium
CCI-000162SRG-OS-000057-GPOS-00027TBD - Assigned by DISA after STIG releaseThe operating system must protect audit information from unauthorized read access.CCE-84048-8: System Audit Logs Must Have Mode 0750 or Less PermissiveUnauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. + +Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit operating system activity. Verify the audit log directories have a mode of "0700" or less permissive by first determining where the audit logs are stored with the following command: @@ -11074,7 +10886,7 @@
$ sudo chmod 0700 audit_log_directory
By default, audit_log_directory is "/var/log/audit".
Applicable - ConfigurableVerify the operating system protects audit information from unauthorized modification. If it does not, this is a finding.Verify the operating system protects audit information from unauthorized read access. If it does not, this is a finding. Verify the audit log directories have a correct mode or less permissive mode. Find the location of the audit logs: @@ -11091,7 +10903,7 @@ The correct permissions are 0700 Is it the case that audit logs have a more permissive mode?Configure the operating system to protect audit information from unauthorized modification.Configure the operating system to protect audit information from unauthorized read access. Verify the audit log directories have a mode of "0700" or less permissive by first determining where the audit logs are stored with the following command: @@ -11108,41 +10920,52 @@
CCI-000163 SRG-OS-000058-GPOS-00028 TBD - Assigned by DISA after STIG release The operating system must protect audit information from unauthorized modification.CCE-88228-2: System Audit Logs Must Be Owned By RootCCE-88225-8: System Audit Directories Must Be Group Owned By Root If audit information were to become compromised, then forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. To ensure the veracity of audit information, the operating system must protect audit information from unauthorized modification. Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit information system activity.All audit logs must be owned by root user. The path for audit log can be -configured via log_file parameter in
/etc/audit/auditd.conf
-or by default, the path for audit log is
/var/log/audit/
. +
All audit directories must be group owned by root user. 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/* 
Applicable - Configurable Verify the operating system protects audit information from unauthorized modification. If it does not, this is a finding.Verify the audit logs are owned by "root". First, determine where the audit logs are stored with the following command: -
$ sudo grep -iw log_file /etc/audit/auditd.conf
-
log_file = /var/log/audit/audit.log
-Using the location of the audit log file, determine if the audit log is owned by "root" using the following command: -
$ sudo stat -c "%n %U" /var/log/audit/audit.log
-Audit logs must be owned by user root. -If the log_file isn't defined in /etc/audit/auditd.conf, check all files in /var/log/audit/ directory instead. Is it the case that the audit log is not owned by root?
+Determine the audit log group by running the following command: + +$ sudo grep -P '^[ ]*log_group[ ]+=.*$' /etc/audit/auditd.conf + +Then, check that all directories within the /var/log/audit directory are owned by the group specified as log_group or by root if the log_group is not specified. +Run the following command: + +$ sudo find /var/log/audit -type d -printf "%p %g\n" + +All listed directories must be owned by the log_group or by root if the log_group is not specified. Is it the case that there is a directory owned by different group? Configure the operating system to protect audit information from unauthorized modification.All audit logs must be owned by root user. The path for audit log can be -configured via log_file parameter in
/etc/audit/auditd.conf
-or by default, the path for audit log is
/var/log/audit/
. +
All audit directories must be group owned by root user. 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/* 
medium TBD - Assigned by DISA after STIG release The operating system must protect audit information from unauthorized modification.CCE-80819-6: System Audit Logs Must Have Mode 0640 or Less PermissiveCCE-88226-6: System Audit Directories Must Be Owned By Root If audit information were to become compromised, then forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. To ensure the veracity of audit information, the operating system must protect audit information from unauthorized modification. Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit information system activity. -Determine where the audit logs are stored with the following command: -
$ sudo grep -iw log_file /etc/audit/auditd.conf
-log_file = /var/log/audit/audit.log
-Configure the audit log to be protected from unauthorized read access by setting the correct -permissive mode with the following command: -
$ sudo chmod 0600 audit_log_file
-By default, audit_log_file is "/var/log/audit/audit.log".
All audit directories must be owned by root user. 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 
Applicable - Configurable Verify the operating system protects audit information from unauthorized modification. If it does not, this is a finding.Run the following command to check the mode of the system audit logs: + Determine where the audit logs are stored with the following command: + +$ sudo grep -iw log_file /etc/audit/auditd.conf + +log_file = /var/log/audit/audit.log + +Determine the owner of the audit log directory by using the output of the above command +(default: "/var/log/audit/"). Run the following command with the correct audit log directory +path: + +$ sudo ls -ld /var/log/audit + +drwx------ 2 root root 23 Jun 11 11:56 /var/log/audit + +The audit log directory must be owned by "root" Is it the case that the directory is not owned by root?Configure the operating system to protect audit information from unauthorized modification.All audit directories must be owned by root user. 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 
medium
CCI-000163SRG-OS-000058-GPOS-00028TBD - Assigned by DISA after STIG releaseThe operating system must protect audit information from unauthorized modification.CCE-88228-2: System Audit Logs Must Be Owned By RootIf audit information were to become compromised, then forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. + +To ensure the veracity of audit information, the operating system must protect audit information from unauthorized modification. + +Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit information system activity.All audit logs must be owned by root user. The path for audit log can be +configured via log_file parameter in
/etc/audit/auditd.conf
+or 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/* 
Applicable - ConfigurableVerify the operating system protects audit information from unauthorized modification. If it does not, this is a finding.Verify the audit logs are owned by "root". First, determine where the audit logs are stored with the following command:
$ sudo grep -iw log_file /etc/audit/auditd.conf
-
log_file=/var/log/audit/audit.log
-
$ sudo stat -c "%n %a" /var/log/audit/*
-
$ sudo ls -l /var/log/audit
-Audit logs must be mode 0640 or less permissive. Is it the case that any permissions are more permissive?
Configure the operating system to protect audit information from unauthorized modification. -Determine where the audit logs are stored with the following command: -
$ sudo grep -iw log_file /etc/audit/auditd.conf
-log_file = /var/log/audit/audit.log
-Configure the audit log to be protected from unauthorized read access by setting the correct -permissive mode with the following command: -
$ sudo chmod 0600 audit_log_file
-By default, audit_log_file is "/var/log/audit/audit.log".
All audit logs must be owned by root user. The path for audit log can be +configured via log_file parameter in
/etc/audit/auditd.conf
+or 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/* 
medium TBD - Assigned by DISA after STIG release The operating system must protect audit information from unauthorized modification.CCE-88226-6: System Audit Directories Must Be Owned By RootCCE-88227-4: System Audit Logs Must Be Group Owned By Root If audit information were to become compromised, then forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. To ensure the veracity of audit information, the operating system must protect audit information from unauthorized modification. Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit information system activity.All audit directories must be owned by root user. By default, the path for audit log is
/var/log/audit/
. +
All audit logs must be group owned by root user. The path for audit log can +be configured via log_file parameter in
/etc/audit/auditd.conf
+or, 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 
Applicable - Configurable Verify the operating system protects audit information from unauthorized modification. If it does not, this is a finding.Determine where the audit logs are stored with the following command: - -$ sudo grep -iw log_file /etc/audit/auditd.conf - -log_file = /var/log/audit/audit.log - -Determine the owner of the audit log directory by using the output of the above command -(default: "/var/log/audit/"). Run the following command with the correct audit log directory -path: - -$ sudo ls -ld /var/log/audit - -drwx------ 2 root root 23 Jun 11 11:56 /var/log/audit - -The audit log directory must be owned by "root" Is it the case that the directory is not owned by root?Configure the operating system to protect audit information from unauthorized modification.All audit directories must be owned by root user. 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 
medium
CCI-000163SRG-OS-000058-GPOS-00028TBD - Assigned by DISA after STIG releaseThe operating system must protect audit information from unauthorized modification.CCE-88225-8: System Audit Directories Must Be Group Owned By RootIf audit information were to become compromised, then forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. - -To ensure the veracity of audit information, the operating system must protect audit information from unauthorized modification. - -Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit information system activity.All audit directories must be group owned by root user. 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 directories to this specific group.
Applicable - ConfigurableVerify the operating system protects audit information from unauthorized modification. If it does not, this is a finding. -Determine the audit log group by running the following command: - -$ sudo grep -P '^[ ]*log_group[ ]+=.*$' /etc/audit/auditd.conf - -Then, check that all directories within the /var/log/audit directory are owned by the group specified as log_group or by root if the log_group is not specified. -Run the following command: - -$ sudo find /var/log/audit -type d -printf "%p %g\n" - -All listed directories must be owned by the log_group or by root if the log_group is not specified. Is it the case that there is a directory owned by different group?Configure the operating system to protect audit information from unauthorized modification.All audit directories must be group owned by root user. 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 directories to this specific group.
medium
CCI-000164SRG-OS-000059-GPOS-00029TBD - Assigned by DISA after STIG releaseThe operating system must protect audit information from unauthorized deletion.CCE-88227-4: System Audit Logs Must Be Group Owned By RootIf audit information were to become compromised, then forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. - -To ensure the veracity of audit information, the operating system must protect audit information from unauthorized deletion. This requirement can be achieved through multiple methods, which will depend upon system architecture and design. - -Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit information system activity.All audit logs must be group owned by root user. The path for audit log can -be configured via log_file parameter in
/etc/audit/auditd.conf
-or, 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.
Applicable - ConfigurableVerify the operating system protects audit information from unauthorized deletion. If it does not, this is a finding. Check group owners of the system audit logs. First, determine where the audit log file is located. @@ -11388,7 +11156,7 @@ The audit log file must be owned by the log_group or by root if the log_group is not specified. Is it the case that audit log files are owned by incorrect group?Configure the operating system to protect audit information from unauthorized deletion.Configure the operating system to protect audit information from unauthorized modification. All audit logs must be group owned by root user. The path for audit log can be configured via log_file parameter in
/etc/audit/auditd.conf
or, by default, the path for audit log is
/var/log/audit/
. @@ -11406,16 +11174,16 @@
CCI-000164SRG-OS-000059-GPOS-00029CCI-000163SRG-OS-000058-GPOS-00028 TBD - Assigned by DISA after STIG releaseThe operating system must protect audit information from unauthorized deletion.The operating system must protect audit information from unauthorized modification. CCE-90783-2: Configure immutable Audit login UIDs If audit information were to become compromised, then forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. -To ensure the veracity of audit information, the operating system must protect audit information from unauthorized deletion. This requirement can be achieved through multiple methods, which will depend upon system architecture and design. +To ensure the veracity of audit information, the operating system must protect audit information from unauthorized modification. Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit information system activity. Configure kernel to prevent modification of login UIDs once they are set. @@ -11433,7 +11201,7 @@ immutable:
--loginuid-immutable
Applicable - ConfigurableVerify the operating system protects audit information from unauthorized deletion. If it does not, this is a finding.Verify the operating system protects audit information from unauthorized modification. If it does not, this is a finding. To determine if the system is configured to make login UIDs immutable, run one of the following commands. If the auditd daemon is configured to use the @@ -11445,7 +11213,7 @@
sudo grep immutable /etc/audit/audit.rules
The following line should be returned:
--loginuid-immutable
Is it the case that the system is not configured to make login UIDs immutable?
Configure the operating system to protect audit information from unauthorized deletion.Configure the operating system to protect audit information from unauthorized modification. Configure kernel to prevent modification of login UIDs once they are set. Changing login UIDs while this configuration is enforced requires special capabilities which are not available to unprivileged users. @@ -11467,16 +11235,60 @@
CCI-000164SRG-OS-000059-GPOS-00029CCI-000163SRG-OS-000058-GPOS-00028 TBD - Assigned by DISA after STIG releaseThe operating system must protect audit information from unauthorized deletion.The operating system must protect audit information from unauthorized modification.CCE-80819-6: System Audit Logs Must Have Mode 0640 or Less PermissiveIf audit information were to become compromised, then forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. + +To ensure the veracity of audit information, the operating system must protect audit information from unauthorized modification. + +Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit information system activity. +Determine where the audit logs are stored with the following command: +
$ sudo grep -iw log_file /etc/audit/auditd.conf
+log_file = /var/log/audit/audit.log
+Configure the audit log to be protected from unauthorized read access by setting the correct +permissive mode with the following command: +
$ sudo chmod 0600 audit_log_file
+By default, audit_log_file is "/var/log/audit/audit.log".
Applicable - ConfigurableVerify the operating system protects audit information from unauthorized modification. If it does not, this is a finding.Run the following command to check the mode of the system audit logs: +
$ sudo grep -iw log_file /etc/audit/auditd.conf
+
log_file=/var/log/audit/audit.log
+
$ sudo stat -c "%n %a" /var/log/audit/*
+
$ sudo ls -l /var/log/audit
+Audit logs must be mode 0640 or less permissive. Is it the case that any permissions are more permissive?
Configure the operating system to protect audit information from unauthorized modification. +Determine where the audit logs are stored with the following command: +
$ sudo grep -iw log_file /etc/audit/auditd.conf
+log_file = /var/log/audit/audit.log
+Configure the audit log to be protected from unauthorized read access by setting the correct +permissive mode with the following command: +
$ sudo chmod 0600 audit_log_file
+By default, audit_log_file is "/var/log/audit/audit.log".
medium
CCI-000163SRG-OS-000058-GPOS-00028TBD - Assigned by DISA after STIG releaseThe operating system must protect audit information from unauthorized modification. CCE-84048-8: System Audit Logs Must Have Mode 0750 or Less Permissive If audit information were to become compromised, then forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. -To ensure the veracity of audit information, the operating system must protect audit information from unauthorized deletion. This requirement can be achieved through multiple methods, which will depend upon system architecture and design. +To ensure the veracity of audit information, the operating system must protect audit information from unauthorized modification. Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit information system activity. @@ -11490,7 +11302,7 @@
$ sudo chmod 0700 audit_log_directory
By default, audit_log_directory is "/var/log/audit".
Applicable - ConfigurableVerify the operating system protects audit information from unauthorized deletion. If it does not, this is a finding.Verify the operating system protects audit information from unauthorized modification. If it does not, this is a finding. Verify the audit log directories have a correct mode or less permissive mode. Find the location of the audit logs: @@ -11507,7 +11319,7 @@ The correct permissions are 0700 Is it the case that audit logs have a more permissive mode?Configure the operating system to protect audit information from unauthorized deletion.Configure the operating system to protect audit information from unauthorized modification. Verify the audit log directories have a mode of "0700" or less permissive by first determining where the audit logs are stored with the following command: @@ -11524,41 +11336,52 @@
CCI-000164 SRG-OS-000059-GPOS-00029 TBD - Assigned by DISA after STIG release The operating system must protect audit information from unauthorized deletion.CCE-88228-2: System Audit Logs Must Be Owned By RootCCE-88225-8: System Audit Directories Must Be Group Owned By Root If audit information were to become compromised, then forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. To ensure the veracity of audit information, the operating system must protect audit information from unauthorized deletion. This requirement can be achieved through multiple methods, which will depend upon system architecture and design. Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit information system activity.All audit logs must be owned by root user. The path for audit log can be -configured via log_file parameter in
/etc/audit/auditd.conf
-or by default, the path for audit log is
/var/log/audit/
. +
All audit directories must be group owned by root user. 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/* 
Applicable - Configurable Verify the operating system protects audit information from unauthorized deletion. If it does not, this is a finding.Verify the audit logs are owned by "root". First, determine where the audit logs are stored with the following command: -
$ sudo grep -iw log_file /etc/audit/auditd.conf
-
log_file = /var/log/audit/audit.log
-Using the location of the audit log file, determine if the audit log is owned by "root" using the following command: -
$ sudo stat -c "%n %U" /var/log/audit/audit.log
-Audit logs must be owned by user root. -If the log_file isn't defined in /etc/audit/auditd.conf, check all files in /var/log/audit/ directory instead. Is it the case that the audit log is not owned by root?
+Determine the audit log group by running the following command: + +$ sudo grep -P '^[ ]*log_group[ ]+=.*$' /etc/audit/auditd.conf + +Then, check that all directories within the /var/log/audit directory are owned by the group specified as log_group or by root if the log_group is not specified. +Run the following command: + +$ sudo find /var/log/audit -type d -printf "%p %g\n" + +All listed directories must be owned by the log_group or by root if the log_group is not specified. Is it the case that there is a directory owned by different group? Configure the operating system to protect audit information from unauthorized deletion.All audit logs must be owned by root user. The path for audit log can be -configured via log_file parameter in
/etc/audit/auditd.conf
-or by default, the path for audit log is
/var/log/audit/
. +
All audit directories must be group owned by root user. 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/* 
medium TBD - Assigned by DISA after STIG release The operating system must protect audit information from unauthorized deletion.CCE-80819-6: System Audit Logs Must Have Mode 0640 or Less PermissiveCCE-88226-6: System Audit Directories Must Be Owned By Root If audit information were to become compromised, then forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. To ensure the veracity of audit information, the operating system must protect audit information from unauthorized deletion. This requirement can be achieved through multiple methods, which will depend upon system architecture and design. Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit information system activity. -Determine where the audit logs are stored with the following command: -
$ sudo grep -iw log_file /etc/audit/auditd.conf
-log_file = /var/log/audit/audit.log
-Configure the audit log to be protected from unauthorized read access by setting the correct -permissive mode with the following command: -
$ sudo chmod 0600 audit_log_file
-By default, audit_log_file is "/var/log/audit/audit.log".
All audit directories must be owned by root user. 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 
Applicable - Configurable Verify the operating system protects audit information from unauthorized deletion. If it does not, this is a finding.Run the following command to check the mode of the system audit logs: + Determine where the audit logs are stored with the following command: + +$ sudo grep -iw log_file /etc/audit/auditd.conf + +log_file = /var/log/audit/audit.log + +Determine the owner of the audit log directory by using the output of the above command +(default: "/var/log/audit/"). Run the following command with the correct audit log directory +path: + +$ sudo ls -ld /var/log/audit + +drwx------ 2 root root 23 Jun 11 11:56 /var/log/audit + +The audit log directory must be owned by "root" Is it the case that the directory is not owned by root?Configure the operating system to protect audit information from unauthorized deletion.All audit directories must be owned by root user. 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 
medium
CCI-000164SRG-OS-000059-GPOS-00029TBD - Assigned by DISA after STIG releaseThe operating system must protect audit information from unauthorized deletion.CCE-88228-2: System Audit Logs Must Be Owned By RootIf audit information were to become compromised, then forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. + +To ensure the veracity of audit information, the operating system must protect audit information from unauthorized deletion. This requirement can be achieved through multiple methods, which will depend upon system architecture and design. + +Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit information system activity.All audit logs must be owned by root user. The path for audit log can be +configured via log_file parameter in
/etc/audit/auditd.conf
+or 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/* 
Applicable - ConfigurableVerify the operating system protects audit information from unauthorized deletion. If it does not, this is a finding.Verify the audit logs are owned by "root". First, determine where the audit logs are stored with the following command:
$ sudo grep -iw log_file /etc/audit/auditd.conf
-
log_file=/var/log/audit/audit.log
-
$ sudo stat -c "%n %a" /var/log/audit/*
-
$ sudo ls -l /var/log/audit
-Audit logs must be mode 0640 or less permissive. Is it the case that any permissions are more permissive?
Configure the operating system to protect audit information from unauthorized deletion. -Determine where the audit logs are stored with the following command: -
$ sudo grep -iw log_file /etc/audit/auditd.conf
-log_file = /var/log/audit/audit.log
-Configure the audit log to be protected from unauthorized read access by setting the correct -permissive mode with the following command: -
$ sudo chmod 0600 audit_log_file
-By default, audit_log_file is "/var/log/audit/audit.log".
All audit logs must be owned by root user. The path for audit log can be +configured via log_file parameter in
/etc/audit/auditd.conf
+or 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/* 
medium TBD - Assigned by DISA after STIG release The operating system must protect audit information from unauthorized deletion.CCE-88226-6: System Audit Directories Must Be Owned By RootCCE-88227-4: System Audit Logs Must Be Group Owned By Root If audit information were to become compromised, then forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. To ensure the veracity of audit information, the operating system must protect audit information from unauthorized deletion. This requirement can be achieved through multiple methods, which will depend upon system architecture and design. Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit information system activity.All audit directories must be owned by root user. By default, the path for audit log is
/var/log/audit/
. +
All audit logs must be group owned by root user. The path for audit log can +be configured via log_file parameter in
/etc/audit/auditd.conf
+or, 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 
Applicable - Configurable Verify the operating system protects audit information from unauthorized deletion. If it does not, this is a finding.Determine where the audit logs are stored with the following command: + Check group owners of the system audit logs. -$ sudo grep -iw log_file /etc/audit/auditd.conf +First, determine where the audit log file is located. -log_file = /var/log/audit/audit.log +
$ sudo grep -iw ^log_file /etc/audit/auditd.conf
+
log_file = /var/log/audit/audit.log
-Determine the owner of the audit log directory by using the output of the above command -(default: "/var/log/audit/"). Run the following command with the correct audit log directory -path: +The log_file option specifies the audit log file path. +If the log_file option isn't defined, check all files within /var/log/audit directory. -$ sudo ls -ld /var/log/audit -drwx------ 2 root root 23 Jun 11 11:56 /var/log/audit +Then, determine the audit log group by running the following command: +
$ sudo grep -P '^[ ]*log_group[ ]+=.*$' /etc/audit/auditd.conf
-The audit log directory must be owned by "root" Is it the case that the directory is not owned by root?
Configure the operating system to protect audit information from unauthorized deletion.All audit directories must be owned by root user. By default, the path for audit log is
/var/log/audit/
. +
All audit logs must be group owned by root user. The path for audit log can +be configured via log_file parameter in
/etc/audit/auditd.conf
+or, 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 
medium TBD - Assigned by DISA after STIG release The operating system must protect audit information from unauthorized deletion.CCE-88225-8: System Audit Directories Must Be Group Owned By RootCCE-90783-2: Configure immutable Audit login UIDs If audit information were to become compromised, then forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. To ensure the veracity of audit information, the operating system must protect audit information from unauthorized deletion. This requirement can be achieved through multiple methods, which will depend upon system architecture and design. Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit information system activity.All audit directories must be group owned by root user. By default, the path for audit log is
/var/log/audit/
. +
Configure kernel to prevent modification of login UIDs once they are set. +Changing login UIDs while this configuration is enforced requires special capabilities which +are not available to unprivileged users. +If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d in order to make login UIDs +immutable: +
--loginuid-immutable
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file in order to make login UIDs +immutable: +
--loginuid-immutable
Applicable - ConfigurableVerify the operating system protects audit information from unauthorized deletion. If it does not, this is a finding.To determine if the system is configured to make login UIDs immutable, run +one of the following commands. +If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), run the following: +
sudo grep immutable /etc/audit/rules.d/*.rules
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, run the following command: +
sudo grep immutable /etc/audit/audit.rules
+The following line should be returned: +
--loginuid-immutable
Is it the case that the system is not configured to make login UIDs immutable?
Configure the operating system to protect audit information from unauthorized deletion.Configure kernel to prevent modification of login UIDs once they are set. +Changing login UIDs while this configuration is enforced requires special capabilities which +are not available to unprivileged users. +If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d in order to make login UIDs +immutable: +
--loginuid-immutable
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file in order to make login UIDs +immutable: +
--loginuid-immutable
medium
CCI-000164SRG-OS-000059-GPOS-00029TBD - Assigned by DISA after STIG releaseThe operating system must protect audit information from unauthorized deletion.CCE-80819-6: System Audit Logs Must Have Mode 0640 or Less PermissiveIf audit information were to become compromised, then forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. + +To ensure the veracity of audit information, the operating system must protect audit information from unauthorized deletion. This requirement can be achieved through multiple methods, which will depend upon system architecture and design. + +Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit information system activity. +Determine where the audit logs are stored with the following command: +
$ sudo grep -iw log_file /etc/audit/auditd.conf
+log_file = /var/log/audit/audit.log
+Configure the audit log to be protected from unauthorized read access by setting the correct +permissive mode with the following command: +
$ sudo chmod 0600 audit_log_file
+By default, audit_log_file is "/var/log/audit/audit.log".
Applicable - Configurable Verify the operating system protects audit information from unauthorized deletion. If it does not, this is a finding.Run the following command to check the mode of the system audit logs: +
$ sudo grep -iw log_file /etc/audit/auditd.conf
+
log_file=/var/log/audit/audit.log
+
$ sudo stat -c "%n %a" /var/log/audit/*
+
$ sudo ls -l /var/log/audit
+Audit logs must be mode 0640 or less permissive. Is it the case that any permissions are more permissive?
Configure the operating system to protect audit information from unauthorized deletion. -Determine the audit log group by running the following command: +Determine where the audit logs are stored with the following command: +
$ sudo grep -iw log_file /etc/audit/auditd.conf
+log_file = /var/log/audit/audit.log
+Configure the audit log to be protected from unauthorized read access by setting the correct +permissive mode with the following command: +
$ sudo chmod 0600 audit_log_file
+By default, audit_log_file is "/var/log/audit/audit.log".
medium
CCI-000164SRG-OS-000059-GPOS-00029TBD - Assigned by DISA after STIG releaseThe operating system must protect audit information from unauthorized deletion.CCE-84048-8: System Audit Logs Must Have Mode 0750 or Less PermissiveIf audit information were to become compromised, then forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. -All listed directories must be owned by the log_group or by root if the log_group is not specified. Is it the case that there is a directory owned by different group?Configure the operating system to protect audit information from unauthorized deletion.All audit directories must be group owned by root user. By default, the path for audit log is
/var/log/audit/
. +To ensure the veracity of audit information, the operating system must protect audit information from unauthorized deletion. This requirement can be achieved through multiple methods, which will depend upon system architecture and design. -To properly set the group owner of /var/log/audit, run the command: -
$ sudo chgrp root /var/log/audit
+Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit information system activity.
+Verify the audit log directories have a mode of "0700" or less permissive by first determining +where the audit logs are stored with the following command: +
$ sudo grep -iw log_file /etc/audit/auditd.conf
 
-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 directories to this specific group.
Applicable - ConfigurableVerify the operating system protects audit information from unauthorized deletion. If it does not, this is a finding.Verify the audit log directories have a correct mode or less permissive mode. + +Find the location of the audit logs: + +$ sudo grep "^log_file" /etc/audit/auditd.conf + + + +Run the following command to check the mode of the system audit logs: + +$ sudo stat -c "%a %n" [audit_log_directory] + +Replace "[audit_log_directory]" to the correct audit log directory path, by default this location is "/var/log/audit". + + +The correct permissions are 0700 Is it the case that audit logs have a more permissive mode?Configure the operating system to protect audit information from unauthorized deletion. +Verify the audit log directories have a mode of "0700" or less permissive by first determining +where the audit logs are stored with the following command: +
$ sudo grep -iw log_file /etc/audit/auditd.conf
+
+log_file = /var/log/audit/audit.log
+Configure the audit log directory to be protected from unauthorized read access by setting the +correct permissive mode with the following command: +
$ sudo chmod 0700 audit_log_directory
+By default, audit_log_directory is "/var/log/audit".
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80754-5: Record Unsuccessful Access Attempts to Files - openatCCE-80704-0: Ensure auditd Collects File Deletion Events by User - renameat Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -11780,29 +11780,18 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -11817,22 +11806,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the openat system call. - -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: - -$ sudo grep -r openat /etc/audit/rules.d - -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: - -$ sudo grep openat /etc/audit/audit.rules - -The output should be the following: - --a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +renameat system call, run the following command: +
$ sudo grep "renameat" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -11844,29 +11822,18 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80711-5: Ensure auditd Collects Information on Kernel Module Unloading - delete_moduleCCE-89446-9: Record Any Attempts to Run chacl Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -11896,18 +11863,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.To capture kernel module unloading events, use following line, setting ARCH to -either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: - -
-a always,exit -F arch=ARCH -S delete_module -F auid>=1000 -F auid!=unset -F key=modules
- - -Place to add the line depends on a way auditd daemon is configured. If it is configured -to use the augenrules program (the default), add the line to a file with suffix -.rules in the directory /etc/audit/rules.d. - -If the auditd daemon is configured to use the auditctl utility, -add the line to file /etc/audit/audit.rules.
At a minimum, the audit system should collect any execution attempt +of the chacl command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -11922,11 +11887,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -delete_module system call, run the following command: -
$ sudo grep "delete_module" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chacl" command with the following command: + +$ sudo auditctl -l | grep chacl + +-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -11938,18 +11903,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.To capture kernel module unloading events, use following line, setting ARCH to -either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: - -
-a always,exit -F arch=ARCH -S delete_module -F auid>=1000 -F auid!=unset -F key=modules
- - -Place to add the line depends on a way auditd daemon is configured. If it is configured -to use the augenrules program (the default), add the line to a file with suffix -.rules in the directory /etc/audit/rules.d. - -If the auditd daemon is configured to use the auditctl utility, -add the line to file /etc/audit/audit.rules.
At a minimum, the audit system should collect any execution attempt +of the chacl command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80685-1: Record Events that Modify the System's Discretionary Access Controls - chmodCCE-80741-2: Ensure auditd Collects Information on the Use of Privileged Commands - userhelper Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -11979,20 +11942,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -12007,11 +11966,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -chmod system call, run the following command: -
$ sudo grep "chmod" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "userhelper" command with the following command: + +$ sudo auditctl -l | grep userhelper + +-a always,exit -F path=/usr/bin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -k privileged-userhelper Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -12023,20 +11982,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80697-6: Record Events that Modify the System's Discretionary Access Controls - setxattrCCE-80733-9: Ensure auditd Collects Information on the Use of Privileged Commands - postqueue Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -12066,24 +12021,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -12098,11 +12045,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -setxattr system call, run the following command: -
$ sudo grep "setxattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postqueue" command with the following command: + +$ sudo auditctl -l | grep postqueue + +-a always,exit -F path=/usr/bin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postqueue Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -12114,24 +12061,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoersCCE-80728-9: Ensure auditd Collects Information on the Use of Privileged Commands - gpasswd Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -12161,16 +12100,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -12185,11 +12124,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "gpasswd" command with the following command: -$ sudo auditctl -l | grep /etc/sudoers +$ sudo auditctl -l | grep gpasswd --w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -12201,16 +12140,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80690-1: Record Events that Modify the System's Discretionary Access Controls - fchownatCCE-80711-5: Ensure auditd Collects Information on Kernel Module Unloading - delete_module Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -12240,20 +12179,18 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
To capture kernel module unloading events, use following line, setting ARCH to +either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: + +
-a always,exit -F arch=ARCH -S delete_module -F auid>=1000 -F auid!=unset -F key=modules
+ + +Place to add the line depends on a way auditd daemon is configured. If it is configured +to use the augenrules program (the default), add the line to a file with suffix +.rules in the directory /etc/audit/rules.d. + +If the auditd daemon is configured to use the auditctl utility, +add the line to file /etc/audit/audit.rules.
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -12269,8 +12206,8 @@ If it does not, this is a finding. To determine if the system is configured to audit calls to the -fchownat system call, run the following command: -
$ sudo grep "fchownat" /etc/audit/audit.*
+delete_module system call, run the following command: +
$ sudo grep "delete_module" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. @@ -12284,20 +12221,18 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
To capture kernel module unloading events, use following line, setting ARCH to +either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: + +
-a always,exit -F arch=ARCH -S delete_module -F auid>=1000 -F auid!=unset -F key=modules
+ + +Place to add the line depends on a way auditd daemon is configured. If it is configured +to use the augenrules program (the default), add the line to a file with suffix +.rules in the directory /etc/audit/rules.d. + +If the auditd daemon is configured to use the auditctl utility, +add the line to file /etc/audit/audit.rules.
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-82280-9: Record Any Attempts to Run setfilesCCE-89480-8: Ensure auditd Collects Information on the Use of Privileged Commands - unix_update Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -12327,16 +12262,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect any execution attempt -of the setfiles command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -12351,11 +12286,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfiles" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_update" command with the following command: -$ sudo auditctl -l | grep setfiles +$ sudo auditctl -l | grep unix_update --a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -12367,16 +12302,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect any execution attempt -of the setfiles command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80700-8: Record Any Attempts to Run semanageCCE-80707-3: Ensure auditd Collects File Deletion Events by User - unlinkat Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -12406,16 +12341,18 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect any execution attempt -of the semanage command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -12430,11 +12367,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "semanage" command with the following command: - -$ sudo auditctl -l | grep semanage - --a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +unlinkat system call, run the following command: +
$ sudo grep "unlinkat" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -12446,16 +12383,18 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect any execution attempt -of the semanage command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80692-7: Record Events that Modify the System's Discretionary Access Controls - fsetxattrCCE-80740-4: Ensure auditd Collects Information on the Use of Privileged Commands - unix_chkpwd Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -12485,24 +12424,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -12517,11 +12448,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -fsetxattr system call, run the following command: -
$ sudo grep "fsetxattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_chkpwd" command with the following command: + +$ sudo auditctl -l | grep unix_chkpwd + +-a always,exit -F path=/usr/bin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_chkpwd Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -12533,24 +12464,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-88437-9: Record Any Attempts to Run setfaclCCE-80691-9: Record Events that Modify the System's Discretionary Access Controls - fremovexattr Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -12580,16 +12503,29 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect any execution attempt -of the setfacl command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect file permission +changes for all users and root. +

+If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -12604,11 +12540,111 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfacl" command with the following command: + To determine if the system is configured to audit calls to the +fremovexattr system call, run the following command: +
$ sudo grep "fremovexattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. -$ sudo auditctl -l | grep setfacl +DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: --a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out?At a minimum, the audit system should collect file permission +changes for all users and root. +

+If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
medium
CCI-000169SRG-OS-000062-GPOS-00031TBD - Assigned by DISA after STIG releaseThe operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80697-6: Record Events that Modify the System's Discretionary Access Controls - setxattrWithout the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter). + +The list of audited events is the set of events for which audits are to be generated. This set of events is typically a subset of the list of all events for which the system is capable of generating audit records. + +DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: + +1) Successful and unsuccessful attempts to access, modify, or delete privileges, security objects, security levels, or categories of information (e.g., classification levels); + +2) Access actions, such as successful and unsuccessful logon attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logons from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system; + +3) All account creations, modifications, disabling, and terminations; and + +4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
Applicable - ConfigurableVerify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. + +DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: + +1) Successful and unsuccessful attempts to access, modify, or delete privileges, security objects, security levels, or categories of information (e.g., classification levels); + +2) Access actions, such as successful and unsuccessful logon attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logons from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system; + +3) All account creations, modifications, disabling, and terminations; and + +4) All kernel module load, unload, and restart actions. + +If it does not, this is a finding.To determine if the system is configured to audit calls to the +setxattr system call, run the following command: +
$ sudo grep "setxattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -12620,16 +12656,24 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect any execution attempt -of the setfacl command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80732-1: Ensure auditd Collects Information on the Use of Privileged Commands - postdropCCE-80739-6: Ensure auditd Collects Information on the Use of Privileged Commands - umount Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -12664,11 +12708,11 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -12683,11 +12727,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postdrop" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "umount" command with the following command: -$ sudo auditctl -l | grep postdrop +$ sudo auditctl -l | grep umount --a always,exit -F path=/usr/bin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postdrop Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -12704,11 +12748,11 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80694-3: Record Events that Modify the System's Discretionary Access Controls - lremovexattrCCE-80752-9: Record Unsuccessful Access Attempts to Files - ftruncate Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -12738,29 +12782,29 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured +
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -12775,11 +12819,22 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -lremovexattr system call, run the following command: -
$ sudo grep "lremovexattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the ftruncate system call. + +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: + +$ sudo grep -r ftruncate /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep ftruncate /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -12791,29 +12846,29 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured +
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80689-3: Record Events that Modify the System's Discretionary Access Controls - fchownCCE-80756-0: Record Unsuccessful Access Attempts to Files - truncate Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -12843,23 +12898,29 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured + At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -12874,11 +12935,22 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -fchown system call, run the following command: -
$ sudo grep "fchown" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the truncate system call. + +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: + +$ sudo grep -r truncate /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep truncate /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -12890,23 +12962,29 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured + At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80696-8: Record Events that Modify the System's Discretionary Access Controls - removexattrCCE-80686-9: Record Events that Modify the System's Discretionary Access Controls - chown Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -12937,27 +13015,19 @@ 4) All kernel module load, unload, and restart actions. At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured to use the augenrules -program to read audit rules during daemon startup (the default), add the -following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -12973,8 +13043,8 @@ If it does not, this is a finding. To determine if the system is configured to audit calls to the -removexattr system call, run the following command: -
$ sudo grep "removexattr" /etc/audit/audit.*
+chown system call, run the following command: +
$ sudo grep "chown" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. @@ -12989,27 +13059,19 @@ 4) All kernel module load, unload, and restart actions. At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured to use the augenrules -program to read audit rules during daemon startup (the default), add the -following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80701-6: Record Any Attempts to Run setseboolCCE-80719-8: Record Attempts to Alter Logon and Logout Events - lastlog Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -13039,16 +13101,18 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect any execution attempt -of the setsebool command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
The audit system already collects login information for all users +and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d in order to watch for attempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -13063,11 +13127,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setsebool" command with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/lastlog" with the following command: -$ sudo auditctl -l | grep setsebool +$ sudo auditctl -l | grep /var/log/lastlog --a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -k privileged Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -13079,16 +13143,18 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect any execution attempt -of the setsebool command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
The audit system already collects login information for all users +and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d in order to watch for attempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswdCCE-80701-6: Record Any Attempts to Run setsebool Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -13118,20 +13184,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect any execution attempt +of the setsebool command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -13146,11 +13208,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setsebool" command with the following command: -$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' +$ sudo auditctl -l | grep setsebool --w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -13162,20 +13224,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect any execution attempt +of the setsebool command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80758-6: Record Events that Modify User/Group Information - /etc/groupCCE-80700-8: Record Any Attempts to Run semanage Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -13205,20 +13263,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect any execution attempt +of the semanage command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -13233,11 +13287,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/group" with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "semanage" command with the following command: -$ sudo auditctl -l | grep -E '(/etc/group)' +$ sudo auditctl -l | grep semanage --w /etc/group -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -13249,20 +13303,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect any execution attempt +of the semanage command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80727-1: Ensure auditd Collects Information on the Use of Privileged Commands - crontabCCE-80730-5: Ensure auditd Collects Information on the Use of Privileged Commands - pam_timestamp_check Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -13297,11 +13347,13 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -13316,11 +13368,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "crontab" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "pam_timestamp_check" command with the following command: -$ sudo auditctl -l | grep crontab +$ sudo auditctl -l | grep pam_timestamp_check --a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -k privileged-crontab Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -13337,11 +13389,13 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80691-9: Record Events that Modify the System's Discretionary Access Controls - fremovexattrCCE-80694-3: Record Events that Modify the System's Discretionary Access Controls - lremovexattr Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -13378,22 +13432,22 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -13409,8 +13463,8 @@ If it does not, this is a finding. To determine if the system is configured to audit calls to the -fremovexattr system call, run the following command: -
$ sudo grep "fremovexattr" /etc/audit/audit.*
+lremovexattr system call, run the following command: +
$ sudo grep "lremovexattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. @@ -13431,22 +13485,22 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80728-9: Ensure auditd Collects Information on the Use of Privileged Commands - gpasswdCCE-80692-7: Record Events that Modify the System's Discretionary Access Controls - fsetxattr Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -13476,16 +13530,24 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -13500,11 +13562,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "gpasswd" command with the following command: - -$ sudo auditctl -l | grep gpasswd - --a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-gpasswd Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +fsetxattr system call, run the following command: +
$ sudo grep "fsetxattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -13516,16 +13578,24 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80943-4: Extend Audit Backlog Limit for the Audit DaemonCCE-85944-7: Record Any Attempts to Run ssh-agent Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -13555,15 +13625,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.To improve the kernel capacity to queue all log events, even those which occurred -prior to the audit daemon, add the argument audit_backlog_limit=8192 to the default -GRUB 2 command line for the Linux operating system. -To ensure that audit_backlog_limit=8192 is added as a kernel command line -argument to newly installed kernels, add audit_backlog_limit=8192 to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... audit_backlog_limit=8192 ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit_backlog_limit=8192"
At a minimum, the audit system should collect any execution attempt +of the ssh-agent command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -13578,18 +13649,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Inspect the form of default GRUB 2 command line for the Linux operating system -in /etc/default/grub. If it includes audit_backlog_limit=8192, -then the parameter will be configured for newly installed kernels. -First check if the GRUB recovery is enabled: -
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
-If this option is set to true, then check that a line is output by the following command: -
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*audit_backlog_limit=8192.*' /etc/default/grub
-If the recovery is disabled, check the line with -
$ sudo grep 'GRUB_CMDLINE_LINUX.*audit_backlog_limit=8192.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. -Run the following command: -
$ sudo grubby --info=ALL | grep args | grep -v 'audit_backlog_limit=8192'
-The command should not return any output. Is it the case that audit backlog limit is not configured?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-agent" command with the following command: + +$ sudo auditctl -l | grep ssh-agent + +-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -13601,16 +13665,17 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.To improve the kernel capacity to queue all log events, even those which occurred -prior to the audit daemon, add the argument audit_backlog_limit=8192 to the default -GRUB 2 command line for the Linux operating system. -To ensure that audit_backlog_limit=8192 is added as a kernel command line -argument to newly installed kernels, add audit_backlog_limit=8192 to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... audit_backlog_limit=8192 ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit_backlog_limit=8192"
lowAt a minimum, the audit system should collect any execution attempt +of the ssh-agent command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadowCCE-80690-1: Record Events that Modify the System's Discretionary Access Controls - fchownat Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -13755,20 +13820,20 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -13783,13 +13848,96 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: + To determine if the system is configured to audit calls to the +fchownat system call, run the following command: +
$ sudo grep "fchownat" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. -$ sudo auditctl -l | grep -E '(/etc/gshadow)' +DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: --w /etc/gshadow -p wa -k identity +1) Successful and unsuccessful attempts to access, modify, or delete privileges, security objects, security levels, or categories of information (e.g., classification levels); -If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes?At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
medium
CCI-000169SRG-OS-000062-GPOS-00031TBD - Assigned by DISA after STIG releaseThe operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80705-7: Ensure auditd Collects File Deletion Events by User - rmdirWithout the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter). + +The list of audited events is the set of events for which audits are to be generated. This set of events is typically a subset of the list of all events for which the system is capable of generating audit records. + +DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: + +1) Successful and unsuccessful attempts to access, modify, or delete privileges, security objects, security levels, or categories of information (e.g., classification levels); + +2) Access actions, such as successful and unsuccessful logon attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logons from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system; + +3) All account creations, modifications, disabling, and terminations; and + +4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
Applicable - ConfigurableVerify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. + +DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: + +1) Successful and unsuccessful attempts to access, modify, or delete privileges, security objects, security levels, or categories of information (e.g., classification levels); + +2) Access actions, such as successful and unsuccessful logon attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logons from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system; + +3) All account creations, modifications, disabling, and terminations; and + +4) All kernel module load, unload, and restart actions. + +If it does not, this is a finding.To determine if the system is configured to audit calls to the +rmdir system call, run the following command: +
$ sudo grep "rmdir" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -13801,20 +13949,18 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.If the auditd daemon is configured to use the + At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
-

+default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-89455-0: Ensure auditd Collects Information on the Use of Privileged Commands - kmodCCE-80687-7: Record Events that Modify the System's Discretionary Access Controls - fchmod Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -13844,16 +13990,20 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -13868,11 +14018,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "kmod" command with the following command: - -$ sudo auditctl -l | grep kmod - --a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-kmod Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +fchmod system call, run the following command: +
$ sudo grep "fchmod" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -13884,16 +14034,20 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80751-1: Record Unsuccessful Access Attempts to Files - creatCCE-80943-4: Extend Audit Backlog Limit for the Audit Daemon Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14002,26 +14156,15 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
To improve the kernel capacity to queue all log events, even those which occurred +prior to the audit daemon, add the argument audit_backlog_limit=8192 to the default +GRUB 2 command line for the Linux operating system. +To ensure that audit_backlog_limit=8192 is added as a kernel command line +argument to newly installed kernels, add audit_backlog_limit=8192 to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... audit_backlog_limit=8192 ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit_backlog_limit=8192"
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -14036,22 +14179,18 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the creat system call. - -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: - -$ sudo grep -r creat /etc/audit/rules.d - -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: - -$ sudo grep creat /etc/audit/audit.rules - -The output should be the following: - --a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?Inspect the form of default GRUB 2 command line for the Linux operating system +in /etc/default/grub. If it includes audit_backlog_limit=8192, +then the parameter will be configured for newly installed kernels. +First check if the GRUB recovery is enabled: +
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
+If this option is set to true, then check that a line is output by the following command: +
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*audit_backlog_limit=8192.*' /etc/default/grub
+If the recovery is disabled, check the line with +
$ sudo grep 'GRUB_CMDLINE_LINUX.*audit_backlog_limit=8192.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. +Run the following command: +
$ sudo grubby --info=ALL | grep args | grep -v 'audit_backlog_limit=8192'
+The command should not return any output. Is it the case that audit backlog limit is not configured?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -14063,27 +14202,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
mediumTo improve the kernel capacity to queue all log events, even those which occurred +prior to the audit daemon, add the argument audit_backlog_limit=8192 to the default +GRUB 2 command line for the Linux operating system. +To ensure that audit_backlog_limit=8192 is added as a kernel command line +argument to newly installed kernels, add audit_backlog_limit=8192 to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... audit_backlog_limit=8192 ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit_backlog_limit=8192"
low TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80761-0: Record Events that Modify User/Group Information - /etc/passwdCCE-80713-1: Ensure auditd Collects Information on Kernel Module Loading - init_module Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14112,20 +14240,18 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
To capture kernel module loading events, use following line, setting ARCH to +either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: + +
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
+ + +Place to add the line depends on a way auditd daemon is configured. If it is configured +to use the augenrules program (the default), add the line to a file with suffix +.rules in the directory /etc/audit/rules.d. + +If the auditd daemon is configured to use the auditctl utility, +add the line to file /etc/audit/audit.rules.
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -14140,11 +14266,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: - -$ sudo auditctl -l | grep -E '(/etc/passwd)' - --w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +init_module system call, run the following command: +
$ sudo grep "init_module" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -14156,20 +14282,18 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
To capture kernel module loading events, use following line, setting ARCH to +either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: + +
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
+ + +Place to add the line depends on a way auditd daemon is configured. If it is configured +to use the augenrules program (the default), add the line to a file with suffix +.rules in the directory /etc/audit/rules.d. + +If the auditd daemon is configured to use the auditctl utility, +add the line to file /etc/audit/audit.rules.
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80762-8: Record Events that Modify User/Group Information - /etc/shadowCCE-80737-0: Ensure auditd Collects Information on the Use of Privileged Commands - sudo Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14199,20 +14323,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -14227,11 +14347,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "sudo" command with the following command: -$ sudo auditctl -l | grep -E '(/etc/shadow)' +$ sudo auditctl -l | grep sudo --w /etc/shadow -p wa -k identity Is it the case that command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -14243,20 +14363,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80872-5: Enable auditd ServiceCCE-82168-6: Log USBGuard daemon audit events using Linux Audit Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14286,12 +14402,10 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.The auditd service is an essential userspace component of -the Linux Auditing System, as it is responsible for writing audit records to -disk. - -The auditd service can be enabled with the following command: -
$ sudo systemctl enable auditd.service
To configure USBGuard daemon to log via Linux Audit +(as opposed directly to a file), +AuditBackend option in /etc/usbguard/usbguard-daemon.conf +needs to be set to LinuxAudit. Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -14306,12 +14420,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding. - -Run the following command to determine the current status of the -auditd service: -
$ sudo systemctl is-active auditd
-If the service is running, it should return the following:
active
Is it the case that the auditd service is not running?
To verify that Linux Audit logging is enabled for the USBGuard daemon, +run the following command: +
$ sudo grep AuditBackend /etc/usbguard/usbguard-daemon.conf
+The output should be +
AuditBackend=LinuxAudit
Is it the case that AuditBackend is not set to LinuxAudit?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -14323,13 +14436,11 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.The auditd service is an essential userspace component of -the Linux Auditing System, as it is responsible for writing audit records to -disk. - -The auditd service can be enabled with the following command: -
$ sudo systemctl enable auditd.service
mediumTo configure USBGuard daemon to log via Linux Audit +(as opposed directly to a file), +AuditBackend option in /etc/usbguard/usbguard-daemon.conf +needs to be set to LinuxAudit.low TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80989-7: Ensure auditd Collects Information on the Use of Privileged Commands - mountCCE-80696-8: Record Events that Modify the System's Discretionary Access Controls - removexattr Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14358,16 +14469,28 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules +program to read audit rules during daemon startup (the default), add the +following line to a file with suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -14382,11 +14505,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "mount" command with the following command: - -$ sudo auditctl -l | grep mount - --a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-mount Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +removexattr system call, run the following command: +
$ sudo grep "removexattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -14398,16 +14521,28 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules +program to read audit rules during daemon startup (the default), add the +following line to a file with suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80755-2: Record Unsuccessful Access Attempts to Files - open_by_handle_atCCE-80751-1: Record Unsuccessful Access Attempts to Files - creat Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14442,21 +14577,21 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -14471,22 +14606,22 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the open_by_handle_at system call. + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the creat system call. If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: -$ sudo grep -r open_by_handle_at /etc/audit/rules.d +$ sudo grep -r creat /etc/audit/rules.d If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: -$ sudo grep open_by_handle_at /etc/audit/audit.rules +$ sudo grep creat /etc/audit/audit.rules The output should be the following: --a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -14503,21 +14638,21 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80735-4: Ensure auditd Collects Information on the Use of Privileged Commands - ssh-keysignCCE-80872-5: Enable auditd Service Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14547,16 +14682,12 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
The auditd service is an essential userspace component of +the Linux Auditing System, as it is responsible for writing audit records to +disk. + +The auditd service can be enabled with the following command: +
$ sudo systemctl enable auditd.service
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -14571,11 +14702,12 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-keysign" command with the following command: - -$ sudo auditctl -l | grep ssh-keysign + --a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-keysign Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -14587,16 +14719,12 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
The auditd service is an essential userspace component of +the Linux Auditing System, as it is responsible for writing audit records to +disk. + +The auditd service can be enabled with the following command: +
$ sudo systemctl enable auditd.service
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80731-3: Ensure auditd Collects Information on the Use of Privileged Commands - passwdCCE-80712-3: Ensure auditd Collects Information on Kernel Module Loading and Unloading - finit_module Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14626,16 +14754,18 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the augenrules program +to read audit rules during daemon startup (the default), add the following lines to a file +with suffix .rules in the directory /etc/audit/rules.d to capture kernel module +loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: + +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
+ If the auditd daemon is configured to use the auditctl utility to read audit +rules during daemon startup, add the following lines to /etc/audit/audit.rules file +in order to capture kernel module loading and unloading events, setting ARCH to either b32 or +b64 as appropriate for your system: + +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -14650,11 +14780,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "passwd" command with the following command: - -$ sudo auditctl -l | grep passwd - --a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-passwd Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +finit_module system call, run the following command: +
$ sudo grep "finit_module" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -14666,16 +14796,18 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the augenrules program +to read audit rules during daemon startup (the default), add the following lines to a file +with suffix .rules in the directory /etc/audit/rules.d to capture kernel module +loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: + +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
+ If the auditd daemon is configured to use the auditctl utility to read audit +rules during daemon startup, add the following lines to /etc/audit/audit.rules file +in order to capture kernel module loading and unloading events, setting ARCH to either b32 or +b64 as appropriate for your system: + +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80737-0: Ensure auditd Collects Information on the Use of Privileged Commands - sudoCCE-81043-2: Ensure the audit Subsystem is Installed Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14705,16 +14837,7 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
The audit package should be installed. Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -14729,11 +14852,7 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "sudo" command with the following command: - -$ sudo auditctl -l | grep sudo - --a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -k privileged-sudo Is it the case that the command does not return a line, or the line is commented out?Run the following command to determine if the audit package is installed:
$ rpm -q audit
Is it the case that the audit package is not installed?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -14745,16 +14864,7 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
The audit package should be installed. medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80725-5: Ensure auditd Collects Information on the Use of Privileged Commands - chageCCE-80731-3: Ensure auditd Collects Information on the Use of Privileged Commands - passwd Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14789,11 +14899,11 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -14808,11 +14918,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chage" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "passwd" command with the following command: -$ sudo auditctl -l | grep chage +$ sudo auditctl -l | grep passwd --a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chage Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -14829,11 +14939,11 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80733-9: Ensure auditd Collects Information on the Use of Privileged Commands - postqueueCCE-80735-4: Ensure auditd Collects Information on the Use of Privileged Commands - ssh-keysign Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14868,11 +14978,11 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -14887,11 +14997,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postqueue" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-keysign" command with the following command: -$ sudo auditctl -l | grep postqueue +$ sudo auditctl -l | grep ssh-keysign --a always,exit -F path=/usr/bin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postqueue Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -14908,11 +15018,11 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80693-5: Record Events that Modify the System's Discretionary Access Controls - lchownCCE-80989-7: Ensure auditd Collects Information on the Use of Privileged Commands - mount Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -14942,20 +15052,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -14970,11 +15076,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -lchown system call, run the following command: -
$ sudo grep "lchown" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "mount" command with the following command: + +$ sudo auditctl -l | grep mount + +-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-mount Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -14986,20 +15092,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-86027-0: Ensure auditd Collects Information on the Use of Privileged Commands - usermodCCE-80754-5: Record Unsuccessful Access Attempts to Files - openat Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15029,20 +15131,33 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. + At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - ConfigurableVerify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. + +DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: 1) Successful and unsuccessful attempts to access, modify, or delete privileges, security objects, security levels, or categories of information (e.g., classification levels); @@ -15053,11 +15168,22 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "usermod" command with the following command: + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the openat system call. -$ sudo auditctl -l | grep usermod +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: --a always,exit -F path=/usr/bin/usermod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-usermod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -15069,16 +15195,29 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80687-7: Record Events that Modify the System's Discretionary Access Controls - fchmodCCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/ Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15108,20 +15247,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -15136,11 +15271,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -fchmod system call, run the following command: -
$ sudo grep "fchmod" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: + +$ sudo auditctl -l | grep/etc/sudoers.d + +-w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -15152,20 +15287,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80739-6: Ensure auditd Collects Information on the Use of Privileged Commands - umountCCE-80727-1: Ensure auditd Collects Information on the Use of Privileged Commands - crontab Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15200,11 +15331,11 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -15219,11 +15350,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "umount" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "crontab" command with the following command: -$ sudo auditctl -l | grep umount +$ sudo auditctl -l | grep crontab --a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-umount Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -15240,11 +15371,11 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/CCE-89455-0: Ensure auditd Collects Information on the Use of Privileged Commands - kmod Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15274,16 +15405,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -15298,11 +15429,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "kmod" command with the following command: -$ sudo auditctl -l | grep/etc/sudoers.d +$ sudo auditctl -l | grep kmod --w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -15314,99 +15445,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
medium
CCI-000169SRG-OS-000062-GPOS-00031TBD - Assigned by DISA after STIG releaseThe operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80713-1: Ensure auditd Collects Information on Kernel Module Loading - init_moduleWithout the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter). - -The list of audited events is the set of events for which audits are to be generated. This set of events is typically a subset of the list of all events for which the system is capable of generating audit records. - -DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: - -1) Successful and unsuccessful attempts to access, modify, or delete privileges, security objects, security levels, or categories of information (e.g., classification levels); - -2) Access actions, such as successful and unsuccessful logon attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logons from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system; - -3) All account creations, modifications, disabling, and terminations; and - -4) All kernel module load, unload, and restart actions.To capture kernel module loading events, use following line, setting ARCH to -either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: - -
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
- - -Place to add the line depends on a way auditd daemon is configured. If it is configured -to use the augenrules program (the default), add the line to a file with suffix -.rules in the directory /etc/audit/rules.d. - -If the auditd daemon is configured to use the auditctl utility, -add the line to file /etc/audit/audit.rules.
Applicable - ConfigurableVerify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. - -DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: - -1) Successful and unsuccessful attempts to access, modify, or delete privileges, security objects, security levels, or categories of information (e.g., classification levels); - -2) Access actions, such as successful and unsuccessful logon attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logons from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system; - -3) All account creations, modifications, disabling, and terminations; and - -4) All kernel module load, unload, and restart actions. - -If it does not, this is a finding.To determine if the system is configured to audit calls to the -init_module system call, run the following command: -
$ sudo grep "init_module" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. - -DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: - -1) Successful and unsuccessful attempts to access, modify, or delete privileges, security objects, security levels, or categories of information (e.g., classification levels); - -2) Access actions, such as successful and unsuccessful logon attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logons from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system; - -3) All account creations, modifications, disabling, and terminations; and - -4) All kernel module load, unload, and restart actions.To capture kernel module loading events, use following line, setting ARCH to -either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: - -
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
- - -Place to add the line depends on a way auditd daemon is configured. If it is configured -to use the augenrules program (the default), add the line to a file with suffix -.rules in the directory /etc/audit/rules.d. - -If the auditd daemon is configured to use the auditctl utility, -add the line to file /etc/audit/audit.rules.
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80726-3: Ensure auditd Collects Information on the Use of Privileged Commands - chshCCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadow Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15436,16 +15484,20 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -15460,11 +15512,13 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chsh" command with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: -$ sudo auditctl -l | grep chsh +$ sudo auditctl -l | grep -E '(/etc/gshadow)' --a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chsh Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -15476,16 +15530,20 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80698-4: Record Any Attempts to Run chconCCE-88437-9: Record Any Attempts to Run setfacl Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15516,15 +15574,15 @@ 4) All kernel module load, unload, and restart actions. At a minimum, the audit system should collect any execution attempt -of the chcon command for all users and root. If the auditd +of the setfacl command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -15539,11 +15597,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chcon" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfacl" command with the following command: -$ sudo auditctl -l | grep chcon +$ sudo auditctl -l | grep setfacl --a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -15556,15 +15614,15 @@ 4) All kernel module load, unload, and restart actions. At a minimum, the audit system should collect any execution attempt -of the chcon command for all users and root. If the auditd +of the setfacl command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80722-2: Ensure auditd Collects Information on Exporting to Media (successful)CCE-80693-5: Record Events that Modify the System's Discretionary Access Controls - lchown Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15594,18 +15652,20 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect media exportation -events for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -15621,8 +15681,8 @@ If it does not, this is a finding. To determine if the system is configured to audit calls to the -mount system call, run the following command: -
$ sudo grep "mount" /etc/audit/audit.*
+lchown system call, run the following command: +
$ sudo grep "lchown" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. @@ -15636,18 +15696,20 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect media exportation -events for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80729-7: Ensure auditd Collects Information on the Use of Privileged Commands - newgrpCCE-86027-0: Ensure auditd Collects Information on the Use of Privileged Commands - usermod Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15682,11 +15744,11 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -15701,11 +15763,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "newgrp" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "usermod" command with the following command: -$ sudo auditctl -l | grep newgrp +$ sudo auditctl -l | grep usermod --a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -k privileged-newgrp Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -15722,11 +15784,11 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80703-2: Ensure auditd Collects File Deletion Events by User - renameCCE-80706-5: Ensure auditd Collects File Deletion Events by User - unlink Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15762,12 +15824,12 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -15783,8 +15845,8 @@ If it does not, this is a finding. To determine if the system is configured to audit calls to the -rename system call, run the following command: -
$ sudo grep "rename" /etc/audit/audit.*
+unlink system call, run the following command: +
$ sudo grep "unlink" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. @@ -15804,12 +15866,12 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80686-9: Record Events that Modify the System's Discretionary Access Controls - chownCCE-80755-2: Record Unsuccessful Access Attempts to Files - open_by_handle_at Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15839,20 +15901,26 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -15867,11 +15935,22 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -chown system call, run the following command: -
$ sudo grep "chown" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the open_by_handle_at system call. + +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: + +$ sudo grep -r open_by_handle_at /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep open_by_handle_at /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -15883,20 +15962,26 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80752-9: Record Unsuccessful Access Attempts to Files - ftruncateCCE-80695-0: Record Events that Modify the System's Discretionary Access Controls - lsetxattr Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -15926,29 +16011,24 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -15963,22 +16043,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the ftruncate system call. - -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: - -$ sudo grep -r ftruncate /etc/audit/rules.d - -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: - -$ sudo grep ftruncate /etc/audit/audit.rules - -The output should be the following: - --a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +lsetxattr system call, run the following command: +
$ sudo grep "lsetxattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -15990,29 +16059,24 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80704-0: Ensure auditd Collects File Deletion Events by User - renameatCCE-80758-6: Record Events that Modify User/Group Information - /etc/group Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -16042,18 +16106,20 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the + If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -16068,11 +16134,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -renameat system call, run the following command: -
$ sudo grep "renameat" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/group" with the following command: + +$ sudo auditctl -l | grep -E '(/etc/group)' + +-w /etc/group -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -16084,18 +16150,20 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the + If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-89480-8: Ensure auditd Collects Information on the Use of Privileged Commands - unix_updateCCE-80732-1: Ensure auditd Collects Information on the Use of Privileged Commands - postdrop Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -16130,11 +16198,11 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -16149,11 +16217,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_update" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postdrop" command with the following command: -$ sudo auditctl -l | grep unix_update +$ sudo auditctl -l | grep postdrop --a always,exit -F path=/usr/bin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_update Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -16170,11 +16238,11 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80730-5: Ensure auditd Collects Information on the Use of Privileged Commands - pam_timestamp_checkCCE-80761-0: Record Events that Modify User/Group Information - /etc/passwd Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -16204,18 +16272,20 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -16230,11 +16300,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "pam_timestamp_check" command with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: -$ sudo auditctl -l | grep pam_timestamp_check +$ sudo auditctl -l | grep -E '(/etc/passwd)' --a always,exit -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid>=1000 -F auid!=unset -k privileged-pam_timestamp_check Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -16246,18 +16316,20 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80740-4: Ensure auditd Collects Information on the Use of Privileged Commands - unix_chkpwdCCE-80729-7: Ensure auditd Collects Information on the Use of Privileged Commands - newgrp Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -16292,11 +16364,11 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -16311,11 +16383,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_chkpwd" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "newgrp" command with the following command: -$ sudo auditctl -l | grep unix_chkpwd +$ sudo auditctl -l | grep newgrp --a always,exit -F path=/usr/bin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_chkpwd Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -16332,11 +16404,11 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-82233-8: Include Local Events in Audit LogsCCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswd Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -16366,9 +16438,20 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.To configure Audit daemon to include local events in Audit logs, set -local_events to yes in /etc/audit/auditd.conf. -This is the default setting.If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -16383,11 +16466,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.To verify that Audit Daemon is configured to include local events, run the -following command: -
$ sudo grep local_events /etc/audit/auditd.conf
-The output should return the following: -
local_events = yes
Is it the case that local_events isn't set to yes?
Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: + +$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' + +-w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -16399,9 +16482,20 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.To configure Audit daemon to include local events in Audit logs, set -local_events to yes in /etc/audit/auditd.conf. -This is the default setting.If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-81043-2: Ensure the audit Subsystem is InstalledCCE-80722-2: Ensure auditd Collects Information on Exporting to Media (successful) Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -16431,7 +16525,18 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.The audit package should be installed.At a minimum, the audit system should collect media exportation +events for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -16446,7 +16551,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Run the following command to determine if the audit package is installed:
$ rpm -q audit
Is it the case that the audit package is not installed?
To determine if the system is configured to audit calls to the +mount system call, run the following command: +
$ sudo grep "mount" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -16458,7 +16567,18 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.The audit package should be installed.At a minimum, the audit system should collect media exportation +events for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80695-0: Record Events that Modify the System's Discretionary Access Controls - lsetxattrCCE-82280-9: Record Any Attempts to Run setfiles Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -16488,24 +16608,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix + At a minimum, the audit system should collect any execution attempt +of the setfiles command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -16520,11 +16632,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -lsetxattr system call, run the following command: -
$ sudo grep "lsetxattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfiles" command with the following command: + +$ sudo auditctl -l | grep setfiles + +-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -16536,24 +16648,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix + At a minimum, the audit system should collect any execution attempt +of the setfiles command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80688-5: Record Events that Modify the System's Discretionary Access Controls - fchmodatCCE-80685-1: Record Events that Modify the System's Discretionary Access Controls - chmod Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -16588,15 +16692,15 @@ use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -16612,8 +16716,8 @@ If it does not, this is a finding. To determine if the system is configured to audit calls to the -fchmodat system call, run the following command: -
$ sudo grep "fchmodat" /etc/audit/audit.*
+chmod system call, run the following command: +
$ sudo grep "chmod" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. @@ -16632,15 +16736,15 @@ use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-89446-9: Record Any Attempts to Run chaclCCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoers Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -16670,16 +16774,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect any execution attempt -of the chacl command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -16694,11 +16798,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chacl" command with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: -$ sudo auditctl -l | grep chacl +$ sudo auditctl -l | grep /etc/sudoers --a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -16710,16 +16814,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect any execution attempt -of the chacl command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80719-8: Record Attempts to Alter Logon and Logout Events - lastlogCCE-80825-3: Enable Auditing for Processes Which Start Prior to the Audit Daemon Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -16749,18 +16853,15 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.The audit system already collects login information for all users -and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d in order to watch for attempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file in order to watch for unattempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
To ensure all processes can be audited, even those which start +prior to the audit daemon, add the argument audit=1 to the default +GRUB 2 command line for the Linux operating system. +To ensure that audit=1 is added as a kernel command line +argument to newly installed kernels, add audit=1 to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... audit=1 ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit=1"
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -16775,11 +16876,18 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/lastlog" with the following command: - -$ sudo auditctl -l | grep /var/log/lastlog - --w /var/log/lastlog -p wa -k logins Is it the case that the command does not return a line, or the line is commented out?Inspect the form of default GRUB 2 command line for the Linux operating system +in /etc/default/grub. If it includes audit=1, +then the parameter will be configured for newly installed kernels. +First check if the GRUB recovery is enabled: +
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
+If this option is set to true, then check that a line is output by the following command: +
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*audit=1.*' /etc/default/grub
+If the recovery is disabled, check the line with +
$ sudo grep 'GRUB_CMDLINE_LINUX.*audit=1.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. +Run the following command: +
$ sudo grubby --info=ALL | grep args | grep -v 'audit=1'
+The command should not return any output. Is it the case that auditing is not enabled at boot time?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -16791,19 +16899,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.The audit system already collects login information for all users -and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d in order to watch for attempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file in order to watch for unattempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
mediumTo ensure all processes can be audited, even those which start +prior to the audit daemon, add the argument audit=1 to the default +GRUB 2 command line for the Linux operating system. +To ensure that audit=1 is added as a kernel command line +argument to newly installed kernels, add audit=1 to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... audit=1 ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit=1"
low TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80705-7: Ensure auditd Collects File Deletion Events by User - rmdirCCE-80698-4: Record Any Attempts to Run chcon Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -16832,18 +16937,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect any execution attempt +of the chcon command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -16858,11 +16961,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -rmdir system call, run the following command: -
$ sudo grep "rmdir" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chcon" command with the following command: + +$ sudo auditctl -l | grep chcon + +-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -16874,18 +16977,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect any execution attempt +of the chcon command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-82168-6: Log USBGuard daemon audit events using Linux AuditCCE-82233-8: Include Local Events in Audit Logs Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -16915,10 +17016,9 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.To configure USBGuard daemon to log via Linux Audit -(as opposed directly to a file), -AuditBackend option in /etc/usbguard/usbguard-daemon.conf -needs to be set to LinuxAudit.To configure Audit daemon to include local events in Audit logs, set +local_events to yes in /etc/audit/auditd.conf. +This is the default setting. Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -16933,11 +17033,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.To verify that Linux Audit logging is enabled for the USBGuard daemon, -run the following command: -
$ sudo grep AuditBackend /etc/usbguard/usbguard-daemon.conf
-The output should be -
AuditBackend=LinuxAudit
Is it the case that AuditBackend is not set to LinuxAudit?
To verify that Audit Daemon is configured to include local events, run the +following command: +
$ sudo grep local_events /etc/audit/auditd.conf
+The output should return the following: +
local_events = yes
Is it the case that local_events isn't set to yes?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -16949,11 +17049,10 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.To configure USBGuard daemon to log via Linux Audit -(as opposed directly to a file), -AuditBackend option in /etc/usbguard/usbguard-daemon.conf -needs to be set to LinuxAudit.lowTo configure Audit daemon to include local events in Audit logs, set +local_events to yes in /etc/audit/auditd.conf. +This is the default setting.medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80825-3: Enable Auditing for Processes Which Start Prior to the Audit DaemonCCE-80725-5: Ensure auditd Collects Information on the Use of Privileged Commands - chage Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -16982,15 +17081,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.To ensure all processes can be audited, even those which start -prior to the audit daemon, add the argument audit=1 to the default -GRUB 2 command line for the Linux operating system. -To ensure that audit=1 is added as a kernel command line -argument to newly installed kernels, add audit=1 to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... audit=1 ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit=1"
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -17005,18 +17105,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Inspect the form of default GRUB 2 command line for the Linux operating system -in /etc/default/grub. If it includes audit=1, -then the parameter will be configured for newly installed kernels. -First check if the GRUB recovery is enabled: -
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
-If this option is set to true, then check that a line is output by the following command: -
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*audit=1.*' /etc/default/grub
-If the recovery is disabled, check the line with -
$ sudo grep 'GRUB_CMDLINE_LINUX.*audit=1.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. -Run the following command: -
$ sudo grubby --info=ALL | grep args | grep -v 'audit=1'
-The command should not return any output. Is it the case that auditing is not enabled at boot time?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chage" command with the following command: + +$ sudo auditctl -l | grep chage + +-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chage Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -17028,16 +17121,17 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.To ensure all processes can be audited, even those which start -prior to the audit daemon, add the argument audit=1 to the default -GRUB 2 command line for the Linux operating system. -To ensure that audit=1 is added as a kernel command line -argument to newly installed kernels, add audit=1 to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... audit=1 ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit=1"
lowAt a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80707-3: Ensure auditd Collects File Deletion Events by User - unlinkatCCE-80762-8: Record Events that Modify User/Group Information - /etc/shadow Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -17066,18 +17160,20 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the + If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
+default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -17092,11 +17188,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -unlinkat system call, run the following command: -
$ sudo grep "unlinkat" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd with the following command: + +$ sudo auditctl -l | grep -E '(/etc/shadow)' + +-w /etc/shadow -p wa -k identity Is it the case that command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -17108,18 +17204,20 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the + If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
+default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80712-3: Ensure auditd Collects Information on Kernel Module Loading and Unloading - finit_moduleCCE-80726-3: Ensure auditd Collects Information on the Use of Privileged Commands - chsh Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -17149,18 +17247,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.If the auditd daemon is configured to use the augenrules program -to read audit rules during daemon startup (the default), add the following lines to a file -with suffix .rules in the directory /etc/audit/rules.d to capture kernel module -loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: - -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
- If the auditd daemon is configured to use the auditctl utility to read audit -rules during daemon startup, add the following lines to /etc/audit/audit.rules file -in order to capture kernel module loading and unloading events, setting ARCH to either b32 or -b64 as appropriate for your system: - -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -17175,11 +17271,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -finit_module system call, run the following command: -
$ sudo grep "finit_module" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chsh" command with the following command: + +$ sudo auditctl -l | grep chsh + +-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chsh Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -17191,18 +17287,16 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.If the auditd daemon is configured to use the augenrules program -to read audit rules during daemon startup (the default), add the following lines to a file -with suffix .rules in the directory /etc/audit/rules.d to capture kernel module -loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: - -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
- If the auditd daemon is configured to use the auditctl utility to read audit -rules during daemon startup, add the following lines to /etc/audit/audit.rules file -in order to capture kernel module loading and unloading events, setting ARCH to either b32 or -b64 as appropriate for your system: - -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80706-5: Ensure auditd Collects File Deletion Events by User - unlinkCCE-80703-2: Ensure auditd Collects File Deletion Events by User - rename Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -17238,12 +17332,12 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -17259,8 +17353,8 @@ If it does not, this is a finding. To determine if the system is configured to audit calls to the -unlink system call, run the following command: -
$ sudo grep "unlink" /etc/audit/audit.*
+rename system call, run the following command: +
$ sudo grep "rename" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. @@ -17280,12 +17374,12 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80756-0: Record Unsuccessful Access Attempts to Files - truncateCCE-80689-3: Record Events that Modify the System's Discretionary Access Controls - fchown Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -17315,29 +17409,23 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -17352,22 +17440,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the truncate system call. - -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: - -$ sudo grep -r truncate /etc/audit/rules.d - -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: - -$ sudo grep truncate /etc/audit/audit.rules - -The output should be the following: - --a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +fchown system call, run the following command: +
$ sudo grep "fchown" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -17379,29 +17456,23 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium TBD - Assigned by DISA after STIG release The operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-85944-7: Record Any Attempts to Run ssh-agentCCE-80688-5: Record Events that Modify the System's Discretionary Access Controls - fchmodat Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -17431,16 +17502,20 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect any execution attempt -of the ssh-agent command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
Applicable - Configurable Verify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. @@ -17455,11 +17530,11 @@ 4) All kernel module load, unload, and restart actions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-agent" command with the following command: - -$ sudo auditctl -l | grep ssh-agent - --a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +fchmodat system call, run the following command: +
$ sudo grep "fchmodat" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: @@ -17471,95 +17546,20 @@ 3) All account creations, modifications, disabling, and terminations; and 4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect any execution attempt -of the ssh-agent command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
medium
CCI-000169SRG-OS-000062-GPOS-00031TBD - Assigned by DISA after STIG releaseThe operating system must provide audit record generation capability for DoD-defined auditable events for all operating system components.CCE-80741-2: Ensure auditd Collects Information on the Use of Privileged Commands - userhelperWithout the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter). - -The list of audited events is the set of events for which audits are to be generated. This set of events is typically a subset of the list of all events for which the system is capable of generating audit records. - -DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: - -1) Successful and unsuccessful attempts to access, modify, or delete privileges, security objects, security levels, or categories of information (e.g., classification levels); - -2) Access actions, such as successful and unsuccessful logon attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logons from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system; - -3) All account creations, modifications, disabling, and terminations; and - -4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system provides audit record generation capability for DoD-defined auditable events for all operating system components. - -DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: - -1) Successful and unsuccessful attempts to access, modify, or delete privileges, security objects, security levels, or categories of information (e.g., classification levels); - -2) Access actions, such as successful and unsuccessful logon attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logons from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system; - -3) All account creations, modifications, disabling, and terminations; and - -4) All kernel module load, unload, and restart actions. - -If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "userhelper" command with the following command: - -$ sudo auditctl -l | grep userhelper - --a always,exit -F path=/usr/bin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -k privileged-userhelper Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to provide audit record generation capability for DoD-defined auditable events for all operating system components. - -DoD has defined the list of events for which the operating system will provide an audit record generation capability as the following: - -1) Successful and unsuccessful attempts to access, modify, or delete privileges, security objects, security levels, or categories of information (e.g., classification levels); - -2) Access actions, such as successful and unsuccessful logon attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logons from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system; - -3) All account creations, modifications, disabling, and terminations; and - -4) All kernel module load, unload, and restart actions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access privileges occur.CCE-80754-5: Record Unsuccessful Access Attempts to Files - openatCCE-89480-8: Ensure auditd Collects Information on the Use of Privileged Commands - unix_update Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the openat system call. + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_update" command with the following command: -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: +$ sudo auditctl -l | grep unix_update -$ sudo grep -r openat /etc/audit/rules.d +-a always,exit -F path=/usr/bin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_update Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records when successful/unsuccessful attempts to access privileges occur.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000172SRG-OS-000064-GPOS-00033TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to access privileges occur.CCE-80691-9: Record Events that Modify the System's Discretionary Access Controls - fremovexattrWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. --a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records when successful/unsuccessful attempts to access privileges occur.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured +Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium
CCI-000172SRG-OS-000064-GPOS-00033TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to access privileges occur.CCE-80685-1: Record Events that Modify the System's Discretionary Access Controls - chmodWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -chmod system call, run the following command: -
$ sudo grep "chmod" /etc/audit/audit.*
+fremovexattr system call, run the following command: +
$ sudo grep "fremovexattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access privileges occur. At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+changes for all users and root. +

+If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access privileges occur.CCE-80690-1: Record Events that Modify the System's Discretionary Access Controls - fchownatCCE-80752-9: Record Unsuccessful Access Attempts to Files - ftruncate Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured + At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -fchownat system call, run the following command: -
$ sudo grep "fchownat" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access privileges occur.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
medium
Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the ftruncate system call. -
CCI-000172SRG-OS-000064-GPOS-00033TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to access privileges occur.CCE-80692-7: Record Events that Modify the System's Discretionary Access Controls - fsetxattrWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: -Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to access privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -fsetxattr system call, run the following command: -
$ sudo grep "fsetxattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access privileges occur.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured + At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access privileges occur.CCE-80694-3: Record Events that Modify the System's Discretionary Access Controls - lremovexattrCCE-80756-0: Record Unsuccessful Access Attempts to Files - truncate Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured +
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -lremovexattr system call, run the following command: -
$ sudo grep "lremovexattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the truncate system call. + +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: + +$ sudo grep -r truncate /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep truncate /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to access privileges occur.At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured +
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access privileges occur.CCE-80689-3: Record Events that Modify the System's Discretionary Access Controls - fchownCCE-80686-9: Record Events that Modify the System's Discretionary Access Controls - chown Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fchown system call, run the following command: -
$ sudo grep "fchown" /etc/audit/audit.*
+chown system call, run the following command: +
$ sudo grep "chown" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access privileges occur. At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access privileges occur.CCE-80696-8: Record Events that Modify the System's Discretionary Access Controls - removexattrCCE-80694-3: Record Events that Modify the System's Discretionary Access Controls - lremovexattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -18088,55 +18042,57 @@ At a minimum, the audit system should collect file permission changes for all users and root.

-If the auditd daemon is configured to use the augenrules -program to read audit rules during daemon startup (the default), add the -following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -removexattr system call, run the following command: -
$ sudo grep "removexattr" /etc/audit/audit.*
+lremovexattr system call, run the following command: +
$ sudo grep "lremovexattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access privileges occur. At a minimum, the audit system should collect file permission changes for all users and root.

-If the auditd daemon is configured to use the augenrules -program to read audit rules during daemon startup (the default), add the -following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access privileges occur.CCE-80691-9: Record Events that Modify the System's Discretionary Access Controls - fremovexattrCCE-80692-7: Record Events that Modify the System's Discretionary Access Controls - fsetxattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured +changes for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fremovexattr system call, run the following command: -
$ sudo grep "fremovexattr" /etc/audit/audit.*
+fsetxattr system call, run the following command: +
$ sudo grep "fsetxattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access privileges occur. At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured +changes for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access privileges occur.CCE-80751-1: Record Unsuccessful Access Attempts to Files - creatCCE-80690-1: Record Events that Modify the System's Discretionary Access Controls - fchownat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to access privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the creat system call. - -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: - -$ sudo grep -r creat /etc/audit/rules.d - -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: - -$ sudo grep creat /etc/audit/audit.rules - -The output should be the following: - --a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records when successful/unsuccessful attempts to access privileges occur.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium
CCI-000172SRG-OS-000064-GPOS-00033TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to access privileges occur.CCE-80755-2: Record Unsuccessful Access Attempts to Files - open_by_handle_atWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to access privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the open_by_handle_at system call. - -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: - -$ sudo grep -r open_by_handle_at /etc/audit/rules.d - -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: - -$ sudo grep open_by_handle_at /etc/audit/audit.rules - -The output should be the following: - --a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records when successful/unsuccessful attempts to access privileges occur.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium
CCI-000172SRG-OS-000064-GPOS-00033TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to access privileges occur.CCE-80693-5: Record Events that Modify the System's Discretionary Access Controls - lchownWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -lchown system call, run the following command: -
$ sudo grep "lchown" /etc/audit/audit.*
+fchownat system call, run the following command: +
$ sudo grep "fchownat" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access privileges occur. medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access privileges occur.CCE-80686-9: Record Events that Modify the System's Discretionary Access Controls - chownCCE-80696-8: Record Events that Modify the System's Discretionary Access Controls - removexattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+changes for all users and root. +

+If the auditd daemon is configured to use the augenrules +program to read audit rules during daemon startup (the default), add the +following line to a file with suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -chown system call, run the following command: -
$ sudo grep "chown" /etc/audit/audit.*
+removexattr system call, run the following command: +
$ sudo grep "removexattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access privileges occur. At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+changes for all users and root. +

+If the auditd daemon is configured to use the augenrules +program to read audit rules during daemon startup (the default), add the +following line to a file with suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access privileges occur.CCE-80752-9: Record Unsuccessful Access Attempts to Files - ftruncateCCE-80751-1: Record Unsuccessful Access Attempts to Files - creat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -18623,66 +18433,142 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to access privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the creat system call. + +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: + +$ sudo grep -r creat /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep creat /etc/audit/audit.rules + +The output should be the following: +-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records when successful/unsuccessful attempts to access privileges occur.At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access +If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium
CCI-000172SRG-OS-000064-GPOS-00033TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to access privileges occur.CCE-80754-5: Record Unsuccessful Access Attempts to Files - openatWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the ftruncate system call. + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the openat system call. If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: -$ sudo grep -r ftruncate /etc/audit/rules.d +$ sudo grep -r openat /etc/audit/rules.d If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: -$ sudo grep ftruncate /etc/audit/audit.rules +$ sudo grep openat /etc/audit/audit.rules The output should be the following: --a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to access privileges occur. At a minimum, the audit system should collect unauthorized file accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access privileges occur.CCE-89480-8: Ensure auditd Collects Information on the Use of Privileged Commands - unix_updateCCE-80693-5: Record Events that Modify the System's Discretionary Access Controls - lchown Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_update" command with the following command: + To determine if the system is configured to audit calls to the +lchown system call, run the following command: +
$ sudo grep "lchown" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access privileges occur.At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium
CCI-000172SRG-OS-000064-GPOS-00033TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to access privileges occur.CCE-80755-2: Record Unsuccessful Access Attempts to Files - open_by_handle_atWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to access privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the open_by_handle_at system call. + +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: + +$ sudo grep -r open_by_handle_at /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep open_by_handle_at /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to access privileges occur.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access privileges occur.CCE-80688-5: Record Events that Modify the System's Discretionary Access Controls - fchmodatCCE-80685-1: Record Events that Modify the System's Discretionary Access Controls - chmod Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -18811,20 +18781,20 @@ use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fchmodat system call, run the following command: -
$ sudo grep "fchmodat" /etc/audit/audit.*
+chmod system call, run the following command: +
$ sudo grep "chmod" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access privileges occur. medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access privileges occur.CCE-80756-0: Record Unsuccessful Access Attempts to Files - truncateCCE-80689-3: Record Events that Modify the System's Discretionary Access Controls - fchown Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the truncate system call. - -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: + To determine if the system is configured to audit calls to the +fchown system call, run the following command: +
$ sudo grep "fchown" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access privileges occur.At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-$ sudo grep -r truncate /etc/audit/rules.d +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: +If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-$ sudo grep truncate /etc/audit/audit.rules +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium
CCI-000172SRG-OS-000064-GPOS-00033TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to access privileges occur.Configure the operating system to generate audit records when successful/unsuccessful attempts to access privileges occur.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
CCE-80688-5: Record Events that Modify the System's Discretionary Access Controls - fchmodatWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. +Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to access privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the +fchmodat system call, run the following command: +
$ sudo grep "fchmodat" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access privileges occur.At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must enforce password complexity by requiring that at least one upper-case character be used.CCE-80665-3: Ensure PAM Enforces Password Requirements - Minimum Uppercase CharactersCCE-80664-6: Ensure PAM Enforces Password Requirements - Authentication Retry Prompts Permitted Per-Session Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised.The pam_pwquality module's ucredit= parameter controls requirements for -usage of uppercase letters in a password. When set to a negative number, any password will be required to -contain that many uppercase characters. When set to a positive number, pam_pwquality will grant +1 additional -length credit for each uppercase character. Modify the ucredit setting in -/etc/security/pwquality.conf to require the use of an uppercase character in passwords.To configure the number of retry prompts that are permitted per-session: + +Edit the /etc/security/pwquality.conf to include + +retry=, or a lower value if site +policy is more restrictive. The DoD requirement is a maximum of 3 prompts +per session. Applicable - Configurable Verify the operating system enforces password complexity by requiring that at least one upper-case character be used. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 enforces password complexity by requiring that at least one upper-case character. - -Check the value for "ucredit" with the following command: + Verify Red Hat Enterprise Linux 8 is configured to limit the "pwquality" retry option to . -$ sudo grep ucredit /etc/security/pwquality.conf /etc/security/pwquality.conf.d/*.conf -ucredit = -1 Is it the case that the value of "ucredit" is a positive number or is commented out?Configure the operating system to enforce password complexity by requiring that at least one upper-case character be used.The pam_pwquality module's ucredit= parameter controls requirements for -usage of uppercase letters in a password. When set to a negative number, any password will be required to -contain that many uppercase characters. When set to a positive number, pam_pwquality will grant +1 additional -length credit for each uppercase character. Modify the ucredit setting in -/etc/security/pwquality.conf to require the use of an uppercase character in passwords.To configure the number of retry prompts that are permitted per-session: + +Edit the /etc/security/pwquality.conf to include + +retry=, or a lower value if site +policy is more restrictive. The DoD requirement is a maximum of 3 prompts +per session. medium TBD - Assigned by DISA after STIG release The operating system must enforce password complexity by requiring that at least one upper-case character be used.CCE-80664-6: Ensure PAM Enforces Password Requirements - Authentication Retry Prompts Permitted Per-SessionCCE-80665-3: Ensure PAM Enforces Password Requirements - Minimum Uppercase Characters Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised.To configure the number of retry prompts that are permitted per-session: - -Edit the /etc/security/pwquality.conf to include - -retry=, or a lower value if site -policy is more restrictive. The DoD requirement is a maximum of 3 prompts -per session.The pam_pwquality module's ucredit= parameter controls requirements for +usage of uppercase letters in a password. When set to a negative number, any password will be required to +contain that many uppercase characters. When set to a positive number, pam_pwquality will grant +1 additional +length credit for each uppercase character. Modify the ucredit setting in +/etc/security/pwquality.conf to require the use of an uppercase character in passwords. Applicable - Configurable Verify the operating system enforces password complexity by requiring that at least one upper-case character be used. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 is configured to limit the "pwquality" retry option to . - + Verify that Red Hat Enterprise Linux 8 enforces password complexity by requiring that at least one upper-case character. -Check for the use of the "pwquality" retry option in the pwquality.conf file with the following command: -
$ grep retry /etc/security/pwquality.conf
Is it the case that the value of "retry" is set to "0" or greater than "", or is missing?
Configure the operating system to enforce password complexity by requiring that at least one upper-case character be used.To configure the number of retry prompts that are permitted per-session: +Check the value for "ucredit" with the following command: -Edit the /etc/security/pwquality.conf to include +$ sudo grep ucredit /etc/security/pwquality.conf /etc/security/pwquality.conf.d/*.conf -retry=, or a lower value if site -policy is more restrictive. The DoD requirement is a maximum of 3 prompts -per session.Configure the operating system to enforce password complexity by requiring that at least one upper-case character be used.The pam_pwquality module's ucredit= parameter controls requirements for +usage of uppercase letters in a password. When set to a negative number, any password will be required to +contain that many uppercase characters. When set to a positive number, pam_pwquality will grant +1 additional +length credit for each uppercase character. Modify the ucredit setting in +/etc/security/pwquality.conf to require the use of an uppercase character in passwords. medium TBD - Assigned by DISA after STIG release The operating system must enforce password complexity by requiring that at least one lower-case character be used.CCE-80665-3: Ensure PAM Enforces Password Requirements - Minimum Uppercase CharactersCCE-80655-4: Ensure PAM Enforces Password Requirements - Minimum Lowercase Characters Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised.The pam_pwquality module's ucredit= parameter controls requirements for -usage of uppercase letters in a password. When set to a negative number, any password will be required to -contain that many uppercase characters. When set to a positive number, pam_pwquality will grant +1 additional -length credit for each uppercase character. Modify the ucredit setting in -/etc/security/pwquality.conf to require the use of an uppercase character in passwords.The pam_pwquality module's lcredit parameter controls requirements for +usage of lowercase letters in a password. When set to a negative number, any password will be required to +contain that many lowercase characters. When set to a positive number, pam_pwquality will grant +1 additional +length credit for each lowercase character. Modify the lcredit setting in +/etc/security/pwquality.conf to require the use of a lowercase character in passwords. Applicable - Configurable Verify the operating system enforces password complexity by requiring that at least one lower-case character be used. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 enforces password complexity by requiring that at least one upper-case character. + Verify that Red Hat Enterprise Linux 8 enforces password complexity by requiring that at least one lower-case character. -Check the value for "ucredit" with the following command: +Check the value for "lcredit" with the following command: -$ sudo grep ucredit /etc/security/pwquality.conf /etc/security/pwquality.conf.d/*.conf +
$ sudo grep lcredit /etc/security/pwquality.conf /etc/security/pwquality.conf.d/*.conf
 
-ucredit = -1 Is it the case that the value of "ucredit" is a positive number or is commented out?
Configure the operating system to enforce password complexity by requiring that at least one lower-case character be used.The pam_pwquality module's ucredit= parameter controls requirements for -usage of uppercase letters in a password. When set to a negative number, any password will be required to -contain that many uppercase characters. When set to a positive number, pam_pwquality will grant +1 additional -length credit for each uppercase character. Modify the ucredit setting in -/etc/security/pwquality.conf to require the use of an uppercase character in passwords.The pam_pwquality module's lcredit parameter controls requirements for +usage of lowercase letters in a password. When set to a negative number, any password will be required to +contain that many lowercase characters. When set to a positive number, pam_pwquality will grant +1 additional +length credit for each lowercase character. Modify the lcredit setting in +/etc/security/pwquality.conf to require the use of a lowercase character in passwords. medium TBD - Assigned by DISA after STIG release The operating system must enforce password complexity by requiring that at least one lower-case character be used.CCE-80655-4: Ensure PAM Enforces Password Requirements - Minimum Lowercase CharactersCCE-80665-3: Ensure PAM Enforces Password Requirements - Minimum Uppercase Characters Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised.The pam_pwquality module's lcredit parameter controls requirements for -usage of lowercase letters in a password. When set to a negative number, any password will be required to -contain that many lowercase characters. When set to a positive number, pam_pwquality will grant +1 additional -length credit for each lowercase character. Modify the lcredit setting in -/etc/security/pwquality.conf to require the use of a lowercase character in passwords.The pam_pwquality module's ucredit= parameter controls requirements for +usage of uppercase letters in a password. When set to a negative number, any password will be required to +contain that many uppercase characters. When set to a positive number, pam_pwquality will grant +1 additional +length credit for each uppercase character. Modify the ucredit setting in +/etc/security/pwquality.conf to require the use of an uppercase character in passwords. Applicable - Configurable Verify the operating system enforces password complexity by requiring that at least one lower-case character be used. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 enforces password complexity by requiring that at least one lower-case character. + Verify that Red Hat Enterprise Linux 8 enforces password complexity by requiring that at least one upper-case character. -Check the value for "lcredit" with the following command: +Check the value for "ucredit" with the following command: -
$ sudo grep lcredit /etc/security/pwquality.conf /etc/security/pwquality.conf.d/*.conf
+$ sudo grep ucredit /etc/security/pwquality.conf /etc/security/pwquality.conf.d/*.conf
 
-/etc/security/pwquality.conf:lcredit = -1
Is it the case that the value of "lcredit" is a positive number or is commented out?
Configure the operating system to enforce password complexity by requiring that at least one lower-case character be used.The pam_pwquality module's lcredit parameter controls requirements for -usage of lowercase letters in a password. When set to a negative number, any password will be required to -contain that many lowercase characters. When set to a positive number, pam_pwquality will grant +1 additional -length credit for each lowercase character. Modify the lcredit setting in -/etc/security/pwquality.conf to require the use of a lowercase character in passwords.The pam_pwquality module's ucredit= parameter controls requirements for +usage of uppercase letters in a password. When set to a negative number, any password will be required to +contain that many uppercase characters. When set to a positive number, pam_pwquality will grant +1 additional +length credit for each uppercase character. Modify the ucredit setting in +/etc/security/pwquality.conf to require the use of an uppercase character in passwords. medium
CCI-000195SRG-OS-000072-GPOS-00040TBD - Assigned by DISA after STIG releaseThe operating system must require the change of at least 50% of the total number of characters when passwords are changed.CCE-82066-2: Set Password Maximum Consecutive Repeating Characters If the operating system allows the user to consecutively reuse extensive portions of passwords, this increases the chances of password compromise by increasing the window of opportunity for attempts at guessing and brute-force attacks. - -The number of changed characters refers to the number of changes required with respect to the total number of positions in the current password. In other words, characters may be the same within the two passwords; however, the positions of the like characters must be different. - -If the password length is an odd number then number of changed characters must be rounded up. For example, a password length of 15 characters must require the change of at least 8 characters.The pam_pwquality module's maxrepeat parameter controls requirements for -consecutive repeating characters. When set to a positive number, it will reject passwords -which contain more than that number of consecutive characters. Modify the maxrepeat setting -in /etc/security/pwquality.conf to equal to prevent a -run of ( + 1) or more identical characters.Applicable - ConfigurableVerify the operating system requires the change of at least eight of the total number of characters when passwords are changed. If it does not, this is a finding.Verify the value of the "maxrepeat" option in "/etc/security/pwquality.conf" with the following command: - -
$ grep maxrepeat /etc/security/pwquality.conf
-
-maxrepeat = 
Is it the case that the value of "maxrepeat" is set to more than "" or is commented out?
Configure the operating system to require the change of at least eight of the total number of characters when passwords are changed.The pam_pwquality module's maxrepeat parameter controls requirements for -consecutive repeating characters. When set to a positive number, it will reject passwords -which contain more than that number of consecutive characters. Modify the maxrepeat setting -in /etc/security/pwquality.conf to equal to prevent a -run of ( + 1) or more identical characters.medium
CCI-000195SRG-OS-000072-GPOS-00040TBD - Assigned by DISA after STIG releaseThe operating system must require the change of at least 50% of the total number of characters when passwords are changed.CCE-80654-7: Ensure PAM Enforces Password Requirements - Minimum Different Characters If the operating system allows the user to consecutively reuse extensive portions of passwords, this increases the chances of password compromise by increasing the window of opportunity for attempts at guessing and brute-force attacks. - -The number of changed characters refers to the number of changes required with respect to the total number of positions in the current password. In other words, characters may be the same within the two passwords; however, the positions of the like characters must be different. - -If the password length is an odd number then number of changed characters must be rounded up. For example, a password length of 15 characters must require the change of at least 8 characters.The pam_pwquality module's difok parameter sets the number of characters -in a password that must not be present in and old password during a password change. -

-Modify the difok setting in /etc/security/pwquality.conf -to equal to require differing characters -when changing passwords.
Applicable - ConfigurableVerify the operating system requires the change of at least eight of the total number of characters when passwords are changed. If it does not, this is a finding.Verify the value of the "difok" option in "/etc/security/pwquality.conf" with the following command: - -
$ sudo grep difok /etc/security/pwquality.conf
-
-difok = 
Is it the case that the value of "difok" is set to less than "", or is commented out?
Configure the operating system to require the change of at least eight of the total number of characters when passwords are changed.The pam_pwquality module's difok parameter sets the number of characters -in a password that must not be present in and old password during a password change. -

-Modify the difok setting in /etc/security/pwquality.conf -to equal to require differing characters -when changing passwords.
medium
CCI-000195 SRG-OS-000072-GPOS-00040
CCI-000195SRG-OS-000072-GPOS-00040TBD - Assigned by DISA after STIG releaseThe operating system must require the change of at least 50% of the total number of characters when passwords are changed.CCE-80654-7: Ensure PAM Enforces Password Requirements - Minimum Different Characters If the operating system allows the user to consecutively reuse extensive portions of passwords, this increases the chances of password compromise by increasing the window of opportunity for attempts at guessing and brute-force attacks. +The number of changed characters refers to the number of changes required with respect to the total number of positions in the current password. In other words, characters may be the same within the two passwords; however, the positions of the like characters must be different. +If the password length is an odd number then number of changed characters must be rounded up. For example, a password length of 15 characters must require the change of at least 8 characters.The pam_pwquality module's difok parameter sets the number of characters +in a password that must not be present in and old password during a password change. +

+Modify the difok setting in /etc/security/pwquality.conf +to equal to require differing characters +when changing passwords.
Applicable - ConfigurableVerify the operating system requires the change of at least eight of the total number of characters when passwords are changed. If it does not, this is a finding.Verify the value of the "difok" option in "/etc/security/pwquality.conf" with the following command: + +
$ sudo grep difok /etc/security/pwquality.conf
+
+difok = 
Is it the case that the value of "difok" is set to less than "", or is commented out?
Configure the operating system to require the change of at least eight of the total number of characters when passwords are changed.The pam_pwquality module's difok parameter sets the number of characters +in a password that must not be present in and old password during a password change. +

+Modify the difok setting in /etc/security/pwquality.conf +to equal to require differing characters +when changing passwords.
medium
CCI-000196SRG-OS-000073-GPOS-00041CCI-000195SRG-OS-000072-GPOS-00040 TBD - Assigned by DISA after STIG releaseThe operating system must store only encrypted representations of passwords.The operating system must require the change of at least 50% of the total number of characters when passwords are changed.CCE-89707-4: Set Password Hashing Rounds in /etc/login.defsCCE-82066-2: Set Password Maximum Consecutive Repeating CharactersPasswords 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.In /etc/login.defs, ensure SHA_CRYPT_MIN_ROUNDS and -SHA_CRYPT_MAX_ROUNDS has the minimum value of 5000. -For example: -
SHA_CRYPT_MIN_ROUNDS 5000
-SHA_CRYPT_MAX_ROUNDS 5000
-Notice that if neither are set, they already have the default value of 5000. -If either is set, they must have the minimum value of 5000.
If the operating system allows the user to consecutively reuse extensive portions of passwords, this increases the chances of password compromise by increasing the window of opportunity for attempts at guessing and brute-force attacks. + +The number of changed characters refers to the number of changes required with respect to the total number of positions in the current password. In other words, characters may be the same within the two passwords; however, the positions of the like characters must be different. + +If the password length is an odd number then number of changed characters must be rounded up. For example, a password length of 15 characters must require the change of at least 8 characters.The pam_pwquality module's maxrepeat parameter controls requirements for +consecutive repeating characters. When set to a positive number, it will reject passwords +which contain more than that number of consecutive characters. Modify the maxrepeat setting +in /etc/security/pwquality.conf to equal to prevent a +run of ( + 1) or more identical characters. Applicable - ConfigurableVerify the operating system stores only encrypted representations of passwords. If it does not, this is a finding.Inspect /etc/login.defs and ensure that if eihter -SHA_CRYPT_MIN_ROUNDS or SHA_CRYPT_MAX_ROUNDS -are set, they must have the minimum value of 5000. Is it the case that it does not?Configure the operating system to store only encrypted representations of passwords.In /etc/login.defs, ensure SHA_CRYPT_MIN_ROUNDS and -SHA_CRYPT_MAX_ROUNDS has the minimum value of 5000. -For example: -
SHA_CRYPT_MIN_ROUNDS 5000
-SHA_CRYPT_MAX_ROUNDS 5000
-Notice that if neither are set, they already have the default value of 5000. -If either is set, they must have the minimum value of 5000.
Verify the operating system requires the change of at least eight of the total number of characters when passwords are changed. If it does not, this is a finding.Verify the value of the "maxrepeat" option in "/etc/security/pwquality.conf" with the following command: + +
$ grep maxrepeat /etc/security/pwquality.conf
+
+maxrepeat = 
Is it the case that the value of "maxrepeat" is set to more than "" or is commented out?
Configure the operating system to require the change of at least eight of the total number of characters when passwords are changed.The pam_pwquality module's maxrepeat parameter controls requirements for +consecutive repeating characters. When set to a positive number, it will reject passwords +which contain more than that number of consecutive characters. Modify the maxrepeat setting +in /etc/security/pwquality.conf to equal to prevent a +run of ( + 1) or more identical characters. medium
CCI-000196 SRG-OS-000073-GPOS-00041TBD - Assigned by DISA after STIG release The operating system must store only encrypted representations of passwords.CCE-80892-3: Set Password Hashing Algorithm in /etc/login.defsCCE-89707-4: Set Password Hashing Rounds in /etc/login.defs 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.In /etc/login.defs, add or correct the following line to ensure -the system will use as the hashing algorithm: -
ENCRYPT_METHOD 
In /etc/login.defs, ensure SHA_CRYPT_MIN_ROUNDS and +SHA_CRYPT_MAX_ROUNDS has the minimum value of 5000. +For example: +
SHA_CRYPT_MIN_ROUNDS 5000
+SHA_CRYPT_MAX_ROUNDS 5000
+Notice that if neither are set, they already have the default value of 5000. +If either is set, they must have the minimum value of 5000.
Applicable - Configurable Verify the operating system stores only encrypted representations of passwords. If it does not, this is a finding. -Verify that the shadow password suite configuration is set to encrypt password with a FIPS 140-2 approved cryptographic hashing algorithm. - -Check the hashing algorithm that is being used to hash passwords with the following command: - -$ sudo grep -i ENCRYPT_METHOD /etc/login.defs - -ENCRYPT_METHOD Is it the case that ENCRYPT_METHOD is not set to ?Inspect /etc/login.defs and ensure that if eihter +SHA_CRYPT_MIN_ROUNDS or SHA_CRYPT_MAX_ROUNDS +are set, they must have the minimum value of 5000. Is it the case that it does not? Configure the operating system to store only encrypted representations of passwords.In /etc/login.defs, add or correct the following line to ensure -the system will use as the hashing algorithm: -
ENCRYPT_METHOD 
In /etc/login.defs, ensure SHA_CRYPT_MIN_ROUNDS and +SHA_CRYPT_MAX_ROUNDS has the minimum value of 5000. +For example: +
SHA_CRYPT_MIN_ROUNDS 5000
+SHA_CRYPT_MAX_ROUNDS 5000
+Notice that if neither are set, they already have the default value of 5000. +If either is set, they must have the minimum value of 5000.
medium
CCI-000196SRG-OS-000073-GPOS-00041TBD - Assigned by DISA after STIG releaseThe operating system must store only encrypted representations of passwords.CCE-80892-3: Set Password Hashing Algorithm in /etc/login.defsPasswords 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.In /etc/login.defs, add or correct the following line to ensure +the system will use as the hashing algorithm: +
ENCRYPT_METHOD 
Applicable - ConfigurableVerify the operating system stores only encrypted representations of passwords. If it does not, this is a finding. +Verify that the shadow password suite configuration is set to encrypt password with a FIPS 140-2 approved cryptographic hashing algorithm. + +Check the hashing algorithm that is being used to hash passwords with the following command: + +$ sudo grep -i ENCRYPT_METHOD /etc/login.defs + +ENCRYPT_METHOD Is it the case that ENCRYPT_METHOD is not set to ?Configure the operating system to store only encrypted representations of passwords.In /etc/login.defs, add or correct the following line to ensure +the system will use as the hashing algorithm: +
ENCRYPT_METHOD 
medium
CCI-000196 SRG-OS-000073-GPOS-00041TBD - Assigned by DISA after STIG release The operating system must prohibit password reuse for a minimum of five generations.CCE-83480-4: Limit Password Reuse: system-authCCE-83478-8: Limit Password Reuse: password-auth Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. If the information system or application allows the user to consecutively reuse their password when that password has exceeded its defined lifetime, the end result is a password that is not changed as per policy requirements. Do not allow users to reuse recent passwords. This can be accomplished by using the @@ -19940,13 +19940,13 @@ Applicable - Configurable Verify the operating system prohibits password reuse for a minimum of five generations. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 use the "pam_pwhistory.so" module in the /etc/pam.d/system-auth file + Verify Red Hat Enterprise Linux 8 use the "pam_pwhistory.so" module in the /etc/pam.d/password-auth file and is configured to prohibit password reuse for a minimum of generations. -Verify the "/etc/pam.d/system-auth" file with the following command: +Verify the "/etc/pam.d/password-auth" file with the following command: -
$ grep pam_pwhistory.so /etc/pam.d/system-auth
+
$ grep pam_pwhistory.so /etc/pam.d/password-auth
 password  pam_pwhistory.so use_authtok remember=
@@ -19956,7 +19956,7 @@ remember =
The pam_pwhistory.so "remember" option must be configured only in one file. Is it the case that the pam_pwhistory.so module is not used, the "remember" module option is not set in -/etc/pam.d/system-auth or in /etc/security/pwhistory.conf, or is set in both files, or is set +/etc/pam.d/password-auth or in /etc/security/pwhistory.conf, or is set in both files, or is set with a value less than ""?
Configure the operating system to prohibit password reuse for a minimum of five generations. Do not allow users to reuse recent passwords. This can be accomplished by using the @@ -19987,7 +19987,7 @@ TBD - Assigned by DISA after STIG release The operating system must prohibit password reuse for a minimum of five generations.CCE-83478-8: Limit Password Reuse: password-authCCE-83480-4: Limit Password Reuse: system-auth Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. If the information system or application allows the user to consecutively reuse their password when that password has exceeded its defined lifetime, the end result is a password that is not changed as per policy requirements. Do not allow users to reuse recent passwords. This can be accomplished by using the @@ -20008,13 +20008,13 @@ Applicable - Configurable Verify the operating system prohibits password reuse for a minimum of five generations. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 use the "pam_pwhistory.so" module in the /etc/pam.d/password-auth file + Verify Red Hat Enterprise Linux 8 use the "pam_pwhistory.so" module in the /etc/pam.d/system-auth file and is configured to prohibit password reuse for a minimum of generations. -Verify the "/etc/pam.d/password-auth" file with the following command: +Verify the "/etc/pam.d/system-auth" file with the following command: -
$ grep pam_pwhistory.so /etc/pam.d/password-auth
+
$ grep pam_pwhistory.so /etc/pam.d/system-auth
 password  pam_pwhistory.so use_authtok remember=
@@ -20024,7 +20024,7 @@ remember =
The pam_pwhistory.so "remember" option must be configured only in one file. Is it the case that the pam_pwhistory.so module is not used, the "remember" module option is not set in -/etc/pam.d/password-auth or in /etc/security/pwhistory.conf, or is set in both files, or is set +/etc/pam.d/system-auth or in /etc/security/pwhistory.conf, or is set in both files, or is set with a value less than ""?
Configure the operating system to prohibit password reuse for a minimum of five generations. Do not allow users to reuse recent passwords. This can be accomplished by using the @@ -20163,6 +20163,108 @@ +
CCI-000213SRG-OS-000080-GPOS-00048TBD - Assigned by DISA after STIG releaseThe operating system must enforce approved authorizations for logical access to information and system resources in accordance with applicable access control policies.CCE-80828-7: Set Boot Loader Password in grub2To mitigate the risk of unauthorized access to sensitive information by entities that have been issued certificates by DoD-approved PKIs, all DoD systems (e.g., web servers and web portals) must be properly configured to incorporate access control methods that do not rely solely on the possession of a certificate for access. Successful authentication must not automatically give an entity access to an asset or security boundary. Authorization procedures and controls must be implemented to ensure each authenticated entity also has a validated and current authorization. Authorization is the process of determining whether an entity, once authenticated, is permitted to access a specific asset. Information systems use access control policies and enforcement mechanisms to implement this requirement. + +Access control policies include: identity-based policies, role-based policies, and attribute-based policies. Access enforcement mechanisms include: access control lists, access control matrices, and cryptography. These policies and mechanisms must be employed by the application to control access between users (or processes acting on behalf of users) and objects (e.g., devices, files, records, processes, programs, and domains) in the information system.The grub2 boot loader should have a superuser account and password +protection enabled to protect boot-time settings. +

+Since plaintext passwords are a security risk, generate a hash for the password +by running the following command: + +
# grub2-setpassword
+ +When prompted, enter the password that was selected. +

Applicable - ConfigurableVerify the operating system enforces approved authorizations for logical access to information and system resources in accordance with applicable access control policies. If it does not, this is a finding.First, check whether the password is defined in either /boot/grub2/user.cfg or +/boot/grub2/grub.cfg. +Run the following commands: +
$ sudo grep '^[\s]*GRUB2_PASSWORD=grub\.pbkdf2\.sha512.*$' /boot/grub2/user.cfg
+$ sudo grep '^[\s]*password_pbkdf2[\s]+.*[\s]+grub\.pbkdf2\.sha512.*$' /boot/grub2/grub.cfg
+
+ +Second, check that a superuser is defined in /boot/grub2/grub.cfg. +
$ sudo grep '^[\s]*set[\s]+superusers=("?)[a-zA-Z_]+\1$'  /boot/grub2/grub.cfg
Is it the case that it does not produce any output?
Configure the operating system to enforce approved authorizations for logical access to information and system resources in accordance with applicable access control policies.The grub2 boot loader should have a superuser account and password +protection enabled to protect boot-time settings. +

+Since plaintext passwords are a security risk, generate a hash for the password +by running the following command: + +
# grub2-setpassword
+ +When prompted, enter the password that was selected. +

high
CCI-000213SRG-OS-000080-GPOS-00048TBD - Assigned by DISA after STIG releaseThe operating system must enforce approved authorizations for logical access to information and system resources in accordance with applicable access control policies.CCE-82186-8: Require Authentication for Emergency Systemd TargetTo mitigate the risk of unauthorized access to sensitive information by entities that have been issued certificates by DoD-approved PKIs, all DoD systems (e.g., web servers and web portals) must be properly configured to incorporate access control methods that do not rely solely on the possession of a certificate for access. Successful authentication must not automatically give an entity access to an asset or security boundary. Authorization procedures and controls must be implemented to ensure each authenticated entity also has a validated and current authorization. Authorization is the process of determining whether an entity, once authenticated, is permitted to access a specific asset. Information systems use access control policies and enforcement mechanisms to implement this requirement. + +Access control policies include: identity-based policies, role-based policies, and attribute-based policies. Access enforcement mechanisms include: access control lists, access control matrices, and cryptography. These policies and mechanisms must be employed by the application to control access between users (or processes acting on behalf of users) and objects (e.g., devices, files, records, processes, programs, and domains) in the information system.Emergency mode is intended as a system recovery +method, providing a single user root access to the system +during a failed boot sequence. +

+By default, Emergency mode is protected by requiring a password and is set +in /usr/lib/systemd/system/emergency.service.
Applicable - ConfigurableVerify the operating system enforces approved authorizations for logical access to information and system resources in accordance with applicable access control policies. If it does not, this is a finding.To check if authentication is required for emergency mode, run the following command: +
$ grep sulogin /usr/lib/systemd/system/emergency.service
+The output should be similar to the following, and the line must begin with +ExecStart and /usr/lib/systemd/systemd-sulogin-shell. +
ExecStart=-/usr/lib/systemd/systemd-sulogin-shell emergency
+ +Then, check if the emergency target requires the emergency service: +Run the following command: +
$ sudo grep Requires /usr/lib/systemd/system/emergency.target
+The output should be the following: +
Requires=emergency.service
+ +Then, check if there is no custom emergency target configured in systemd configuration. +Run the following command: +
$ sudo grep -r emergency.target /etc/systemd/system/
+The output should be empty. + +Then, check if there is no custom emergency service configured in systemd configuration. +Run the following command: +
$ sudo grep -r emergency.service /etc/systemd/system/
+The output should be empty. Is it the case that the output is different?
Configure the operating system to enforce approved authorizations for logical access to information and system resources in accordance with applicable access control policies.Emergency mode is intended as a system recovery +method, providing a single user root access to the system +during a failed boot sequence. +

+By default, Emergency mode is protected by requiring a password and is set +in /usr/lib/systemd/system/emergency.service.
medium
CCI-000213 SRG-OS-000080-GPOS-00048
CCI-000213SRG-OS-000080-GPOS-00048TBD - Assigned by DISA after STIG releaseThe operating system must enforce approved authorizations for logical access to information and system resources in accordance with applicable access control policies.CCE-80855-0: Require Authentication for Single User ModeTo mitigate the risk of unauthorized access to sensitive information by entities that have been issued certificates by DoD-approved PKIs, all DoD systems (e.g., web servers and web portals) must be properly configured to incorporate access control methods that do not rely solely on the possession of a certificate for access. Successful authentication must not automatically give an entity access to an asset or security boundary. Authorization procedures and controls must be implemented to ensure each authenticated entity also has a validated and current authorization. Authorization is the process of determining whether an entity, once authenticated, is permitted to access a specific asset. Information systems use access control policies and enforcement mechanisms to implement this requirement. + +Access control policies include: identity-based policies, role-based policies, and attribute-based policies. Access enforcement mechanisms include: access control lists, access control matrices, and cryptography. These policies and mechanisms must be employed by the application to control access between users (or processes acting on behalf of users) and objects (e.g., devices, files, records, processes, programs, and domains) in the information system.Single-user mode is intended as a system recovery +method, providing a single user root access to the system by +providing a boot option at startup. +

+By default, single-user mode is protected by requiring a password and is set +in /usr/lib/systemd/system/rescue.service.
Applicable - ConfigurableVerify the operating system enforces approved authorizations for logical access to information and system resources in accordance with applicable access control policies. If it does not, this is a finding.To check if authentication is required for single-user mode, run the following command: +
$ grep sulogin /usr/lib/systemd/system/rescue.service
+The output should be similar to the following, and the line must begin with +ExecStart and /usr/lib/systemd/systemd-sulogin-shell. +
ExecStart=-/usr/lib/systemd/systemd-sulogin-shell rescue
Is it the case that the output is different?
Configure the operating system to enforce approved authorizations for logical access to information and system resources in accordance with applicable access control policies.Single-user mode is intended as a system recovery +method, providing a single user root access to the system by +providing a boot option at startup. +

+By default, single-user mode is protected by requiring a password and is set +in /usr/lib/systemd/system/rescue.service.
medium
CCI-000213 SRG-OS-000080-GPOS-00048
CCI-000213SRG-OS-000080-GPOS-00048TBD - Assigned by DISA after STIG releaseThe operating system must enforce approved authorizations for logical access to information and system resources in accordance with applicable access control policies.CCE-80855-0: Require Authentication for Single User ModeTo mitigate the risk of unauthorized access to sensitive information by entities that have been issued certificates by DoD-approved PKIs, all DoD systems (e.g., web servers and web portals) must be properly configured to incorporate access control methods that do not rely solely on the possession of a certificate for access. Successful authentication must not automatically give an entity access to an asset or security boundary. Authorization procedures and controls must be implemented to ensure each authenticated entity also has a validated and current authorization. Authorization is the process of determining whether an entity, once authenticated, is permitted to access a specific asset. Information systems use access control policies and enforcement mechanisms to implement this requirement. -Access control policies include: identity-based policies, role-based policies, and attribute-based policies. Access enforcement mechanisms include: access control lists, access control matrices, and cryptography. These policies and mechanisms must be employed by the application to control access between users (or processes acting on behalf of users) and objects (e.g., devices, files, records, processes, programs, and domains) in the information system.Single-user mode is intended as a system recovery -method, providing a single user root access to the system by -providing a boot option at startup. -

-By default, single-user mode is protected by requiring a password and is set -in /usr/lib/systemd/system/rescue.service.
Applicable - ConfigurableVerify the operating system enforces approved authorizations for logical access to information and system resources in accordance with applicable access control policies. If it does not, this is a finding.To check if authentication is required for single-user mode, run the following command: -
$ grep sulogin /usr/lib/systemd/system/rescue.service
-The output should be similar to the following, and the line must begin with -ExecStart and /usr/lib/systemd/systemd-sulogin-shell. -
ExecStart=-/usr/lib/systemd/systemd-sulogin-shell rescue
Is it the case that the output is different?
Configure the operating system to enforce approved authorizations for logical access to information and system resources in accordance with applicable access control policies.Single-user mode is intended as a system recovery -method, providing a single user root access to the system by -providing a boot option at startup. -

-By default, single-user mode is protected by requiring a password and is set -in /usr/lib/systemd/system/rescue.service.
medium
CCI-000213SRG-OS-000080-GPOS-00048CCI-000381SRG-OS-000095-GPOS-00049 TBD - Assigned by DISA after STIG releaseThe operating system must enforce approved authorizations for logical access to information and system resources in accordance with applicable access control policies.CCE-80828-7: Set Boot Loader Password in grub2To mitigate the risk of unauthorized access to sensitive information by entities that have been issued certificates by DoD-approved PKIs, all DoD systems (e.g., web servers and web portals) must be properly configured to incorporate access control methods that do not rely solely on the possession of a certificate for access. Successful authentication must not automatically give an entity access to an asset or security boundary. Authorization procedures and controls must be implemented to ensure each authenticated entity also has a validated and current authorization. Authorization is the process of determining whether an entity, once authenticated, is permitted to access a specific asset. Information systems use access control policies and enforcement mechanisms to implement this requirement. - -Access control policies include: identity-based policies, role-based policies, and attribute-based policies. Access enforcement mechanisms include: access control lists, access control matrices, and cryptography. These policies and mechanisms must be employed by the application to control access between users (or processes acting on behalf of users) and objects (e.g., devices, files, records, processes, programs, and domains) in the information system.The grub2 boot loader should have a superuser account and password -protection enabled to protect boot-time settings. -

-Since plaintext passwords are a security risk, generate a hash for the password -by running the following command: - -
# grub2-setpassword
- -When prompted, enter the password that was selected. -

Applicable - ConfigurableVerify the operating system enforces approved authorizations for logical access to information and system resources in accordance with applicable access control policies. If it does not, this is a finding.First, check whether the password is defined in either /boot/grub2/user.cfg or -/boot/grub2/grub.cfg. -Run the following commands: -
$ sudo grep '^[\s]*GRUB2_PASSWORD=grub\.pbkdf2\.sha512.*$' /boot/grub2/user.cfg
-$ sudo grep '^[\s]*password_pbkdf2[\s]+.*[\s]+grub\.pbkdf2\.sha512.*$' /boot/grub2/grub.cfg
-
- -Second, check that a superuser is defined in /boot/grub2/grub.cfg. -
$ sudo grep '^[\s]*set[\s]+superusers=("?)[a-zA-Z_]+\1$'  /boot/grub2/grub.cfg
Is it the case that it does not produce any output?
Configure the operating system to enforce approved authorizations for logical access to information and system resources in accordance with applicable access control policies.The grub2 boot loader should have a superuser account and password -protection enabled to protect boot-time settings. -

-Since plaintext passwords are a security risk, generate a hash for the password -by running the following command: +
The operating system must be configured to disable non-essential capabilities.CCE-80834-5: Disable SCTP Supporthigh
It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. -
CCI-000213SRG-OS-000080-GPOS-00048TBD - Assigned by DISA after STIG releaseThe operating system must enforce approved authorizations for logical access to information and system resources in accordance with applicable access control policies.CCE-82186-8: Require Authentication for Emergency Systemd TargetThe Stream Control Transmission Protocol (SCTP) is a +transport layer protocol, designed to support the idea of +message-oriented communication, with several streams of messages +within one connection. - To mitigate the risk of unauthorized access to sensitive information by entities that have been issued certificates by DoD-approved PKIs, all DoD systems (e.g., web servers and web portals) must be properly configured to incorporate access control methods that do not rely solely on the possession of a certificate for access. Successful authentication must not automatically give an entity access to an asset or security boundary. Authorization procedures and controls must be implemented to ensure each authenticated entity also has a validated and current authorization. Authorization is the process of determining whether an entity, once authenticated, is permitted to access a specific asset. Information systems use access control policies and enforcement mechanisms to implement this requirement. +To configure the system to prevent the sctp +kernel module from being loaded, add the following line to the file /etc/modprobe.d/sctp.conf: +
install sctp /bin/true
-Access control policies include: identity-based policies, role-based policies, and attribute-based policies. Access enforcement mechanisms include: access control lists, access control matrices, and cryptography. These policies and mechanisms must be employed by the application to control access between users (or processes acting on behalf of users) and objects (e.g., devices, files, records, processes, programs, and domains) in the information system.
Emergency mode is intended as a system recovery -method, providing a single user root access to the system -during a failed boot sequence. -

-By default, Emergency mode is protected by requiring a password and is set -in /usr/lib/systemd/system/emergency.service.
Applicable - ConfigurableVerify the operating system enforces approved authorizations for logical access to information and system resources in accordance with applicable access control policies. If it does not, this is a finding.To check if authentication is required for emergency mode, run the following command: -
$ grep sulogin /usr/lib/systemd/system/emergency.service
-The output should be similar to the following, and the line must begin with -ExecStart and /usr/lib/systemd/systemd-sulogin-shell. -
ExecStart=-/usr/lib/systemd/systemd-sulogin-shell emergency
+
Verify the operating system is configured to disable non-essential capabilities. If it does not, this is a finding. +If the system is configured to prevent the loading of the sctp kernel module, +it will contain lines inside any file in /etc/modprobe.d or the deprecated /etc/modprobe.conf. +These lines instruct the module loading system to run another program (such as /bin/true) upon a module install event. -Then, check if the emergency target requires the emergency service: -Run the following command: -
$ sudo grep Requires /usr/lib/systemd/system/emergency.target
-The output should be the following: -
Requires=emergency.service
+These lines can also instruct the module loading system to ignore the sctp kernel module via blacklist keyword. -Then, check if there is no custom emergency target configured in systemd configuration. -Run the following command: -
$ sudo grep -r emergency.target /etc/systemd/system/
-The output should be empty. +Run the following command to search for such lines in all files in /etc/modprobe.d and the deprecated /etc/modprobe.conf: +
$ grep -r sctp /etc/modprobe.conf /etc/modprobe.d
Is it the case that no line is returned?
Configure the operating system to disable non-essential capabilities.The Stream Control Transmission Protocol (SCTP) is a +transport layer protocol, designed to support the idea of +message-oriented communication, with several streams of messages +within one connection. -Then, check if there is no custom emergency service configured in systemd configuration. -Run the following command: -
$ sudo grep -r emergency.service /etc/systemd/system/
-The output should be empty. Is it the case that the output is different?
Configure the operating system to enforce approved authorizations for logical access to information and system resources in accordance with applicable access control policies.Emergency mode is intended as a system recovery -method, providing a single user root access to the system -during a failed boot sequence. -

-By default, Emergency mode is protected by requiring a password and is set -in /usr/lib/systemd/system/emergency.service.
medium
CCI-000381 SRG-OS-000095-GPOS-00049 TBD - Assigned by DISA after STIG release The operating system must be configured to disable non-essential capabilities.CCE-82919-2: Uninstall abrt-addon-ccpp PackageCCE-86084-1: Uninstall python3-abrt-addon Package It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software, not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled.The abrt-addon-ccpp package can be removed with the following command: + The python3-abrt-addon package can be removed with the following command:
-$ sudo yum erase abrt-addon-ccpp
Applicable - Configurable Verify the operating system is configured to disable non-essential capabilities. If it does not, this is a finding.Run the following command to determine if the abrt-addon-ccpp package is installed: -
$ rpm -q abrt-addon-ccpp
Is it the case that the package is installed?
Run the following command to determine if the python3-abrt-addon package is installed: +
$ rpm -q python3-abrt-addon
Is it the case that the package is installed?
Configure the operating system to disable non-essential capabilities.The abrt-addon-ccpp package can be removed with the following command: + The python3-abrt-addon package can be removed with the following command:
-$ sudo yum erase abrt-addon-ccpp
low TBD - Assigned by DISA after STIG release The operating system must be configured to disable non-essential capabilities.CCE-82904-4: Uninstall tuned PackageCCE-82182-7: Uninstall telnet-server Package It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software, not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled.The tuned package can be removed with the following command: + The telnet-server package can be removed with the following command:
-$ sudo yum erase tuned
Applicable - Configurable Verify the operating system is configured to disable non-essential capabilities. If it does not, this is a finding.Run the following command to determine if the tuned package is installed: -
$ rpm -q tuned
Is it the case that the package is installed?
Run the following command to determine if the telnet-server package is installed: +
$ rpm -q telnet-server
Is it the case that the package is installed?
Configure the operating system to disable non-essential capabilities.The tuned package can be removed with the following command: + The telnet-server package can be removed with the following command:
-$ sudo yum erase tuned
mediumhigh TBD - Assigned by DISA after STIG release The operating system must be configured to disable non-essential capabilities.CCE-82907-7: Uninstall abrt-cli PackageCCE-88955-0: Uninstall libreport-plugin-rhtsupport Package It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software, not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled.The abrt-cli package can be removed with the following command: + The libreport-plugin-rhtsupport package can be removed with the following command:
-$ sudo yum erase abrt-cli
Applicable - Configurable Verify the operating system is configured to disable non-essential capabilities. If it does not, this is a finding.Run the following command to determine if the abrt-cli package is installed: -
$ rpm -q abrt-cli
Is it the case that the package is installed?
Run the following command to determine if the libreport-plugin-rhtsupport package is installed: +
$ rpm -q libreport-plugin-rhtsupport
Is it the case that the package is installed?
Configure the operating system to disable non-essential capabilities.The abrt-cli package can be removed with the following command: + The libreport-plugin-rhtsupport package can be removed with the following command:
-$ sudo yum erase abrt-cli
low TBD - Assigned by DISA after STIG release The operating system must be configured to disable non-essential capabilities.CCE-82182-7: Uninstall telnet-server PackageCCE-82931-7: Uninstall krb5-workstation Package It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software, not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled.The telnet-server package can be removed with the following command: + The krb5-workstation package can be removed with the following command:
-$ sudo yum erase telnet-server
Applicable - Configurable Verify the operating system is configured to disable non-essential capabilities. If it does not, this is a finding.Run the following command to determine if the telnet-server package is installed: -
$ rpm -q telnet-server
Is it the case that the package is installed?
Run the following command to determine if the krb5-workstation package is installed: +
$ rpm -q krb5-workstation
Is it the case that the package is installed?
Configure the operating system to disable non-essential capabilities.The telnet-server package can be removed with the following command: + The krb5-workstation package can be removed with the following command:
-$ sudo yum erase telnet-server
highmedium TBD - Assigned by DISA after STIG release The operating system must be configured to disable non-essential capabilities.CCE-82194-2: Enable Kernel Page-Table Isolation (KPTI)CCE-82988-7: Disable chrony daemon from acting as server It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software, not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled.To enable Kernel page-table isolation, -add the argument pti=on to the default -GRUB 2 command line for the Linux operating system. -To ensure that pti=on is added as a kernel command line -argument to newly installed kernels, add pti=on to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... pti=on ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="pti=on"
The port option in /etc/chrony.conf can be set to +0 to make chrony daemon to never open any listening port +for server operation and to operate strictly in a client-only mode. Applicable - Configurable Verify the operating system is configured to disable non-essential capabilities. If it does not, this is a finding.Inspect the form of default GRUB 2 command line for the Linux operating system -in /etc/default/grub. If it includes pti=on, -then the parameter will be configured for newly installed kernels. -First check if the GRUB recovery is enabled: -
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
-If this option is set to true, then check that a line is output by the following command: -
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*pti=on.*' /etc/default/grub
-If the recovery is disabled, check the line with -
$ sudo grep 'GRUB_CMDLINE_LINUX.*pti=on.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. -Run the following command: -
$ sudo grubby --info=ALL | grep args | grep -v 'pti=on'
-The command should not return any output. Is it the case that Kernel page-table isolation is not enabled?
Verify Red Hat Enterprise Linux 8 disables the chrony daemon from acting as a server with the following command: +
$ grep -w port /etc/chrony.conf
+
port 0
Is it the case that the "port" option is not set to "0", is commented out, or is missing?
Configure the operating system to disable non-essential capabilities.To enable Kernel page-table isolation, -add the argument pti=on to the default -GRUB 2 command line for the Linux operating system. -To ensure that pti=on is added as a kernel command line -argument to newly installed kernels, add pti=on to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... pti=on ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="pti=on"
The port option in /etc/chrony.conf can be set to +0 to make chrony daemon to never open any listening port +for server operation and to operate strictly in a client-only mode. low TBD - Assigned by DISA after STIG release The operating system must be configured to disable non-essential capabilities.CCE-82910-1: Uninstall abrt-plugin-sosreport PackageCCE-80832-9: Disable Bluetooth Kernel Module It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software, not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled.The abrt-plugin-sosreport package can be removed with the following command: -
-$ sudo yum erase abrt-plugin-sosreport
The kernel's module loading system can be configured to prevent +loading of the Bluetooth module. Add the following to +the appropriate /etc/modprobe.d configuration file +to prevent the loading of the Bluetooth module: +
install bluetooth /bin/true
Applicable - Configurable Verify the operating system is configured to disable non-essential capabilities. If it does not, this is a finding.Run the following command to determine if the abrt-plugin-sosreport package is installed: -
$ rpm -q abrt-plugin-sosreport
Is it the case that the package is installed?
Configure the operating system to disable non-essential capabilities.The abrt-plugin-sosreport package can be removed with the following command: -
-$ sudo yum erase abrt-plugin-sosreport
low
CCI-000381SRG-OS-000095-GPOS-00049TBD - Assigned by DISA after STIG releaseThe operating system must be configured to disable non-essential capabilities.CCE-82926-7: Uninstall abrt-addon-kerneloops PackageIt is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. + +If the system is configured to prevent the loading of the bluetooth kernel module, +it will contain lines inside any file in /etc/modprobe.d or the deprecated /etc/modprobe.conf. +These lines instruct the module loading system to run another program (such as /bin/true) upon a module install event. -Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). +These lines can also instruct the module loading system to ignore the bluetooth kernel module via blacklist keyword. -Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software, not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled.The abrt-addon-kerneloops package can be removed with the following command: -
-$ sudo yum erase abrt-addon-kerneloops
Applicable - ConfigurableVerify the operating system is configured to disable non-essential capabilities. If it does not, this is a finding.Run the following command to determine if the abrt-addon-kerneloops package is installed: -
$ rpm -q abrt-addon-kerneloops
Is it the case that the package is installed?
Configure the operating system to disable non-essential capabilities.The abrt-addon-kerneloops package can be removed with the following command: -
-$ sudo yum erase abrt-addon-kerneloops
lowThe kernel's module loading system can be configured to prevent +loading of the Bluetooth module. Add the following to +the appropriate /etc/modprobe.d configuration file +to prevent the loading of the Bluetooth module: +
install bluetooth /bin/true
medium TBD - Assigned by DISA after STIG release The operating system must be configured to disable non-essential capabilities.CCE-82414-4: Uninstall vsftpd PackageCCE-82840-0: Disable network management of chrony daemon It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software, not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled.The vsftpd package can be removed with the following command:
 $ sudo yum erase vsftpd
The cmdport option in /etc/chrony.conf can be set to +0 to stop chrony daemon from listening on the UDP port 323 +for management connections made by chronyc. Applicable - Configurable Verify the operating system is configured to disable non-essential capabilities. If it does not, this is a finding.Run the following command to determine if the vsftpd package is installed: -
$ rpm -q vsftpd
Is it the case that the package is installed?
Verify Red Hat Enterprise Linux 8 disables network management of the chrony daemon with the following command: +
$ grep -w cmdport /etc/chrony.conf
+
cmdport 0
Is it the case that the "cmdport" option is not set to "0", is commented out, or is missing?
Configure the operating system to disable non-essential capabilities.The vsftpd package can be removed with the following command:
 $ sudo yum erase vsftpd
highThe cmdport option in /etc/chrony.conf can be set to +0 to stop chrony daemon from listening on the UDP port 323 +for management connections made by chronyc.low
CCI-000381SRG-OS-000095-GPOS-00049TBD - Assigned by DISA after STIG releaseThe operating system must be configured to disable non-essential capabilities.CCE-82840-0: Disable network management of chrony daemonIt is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. - -Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). - -Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software, not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled.The cmdport option in /etc/chrony.conf can be set to -0 to stop chrony daemon from listening on the UDP port 323 -for management connections made by chronyc.Applicable - ConfigurableVerify the operating system is configured to disable non-essential capabilities. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 disables network management of the chrony daemon with the following command: -
$ grep -w cmdport /etc/chrony.conf
-
cmdport 0
Is it the case that the "cmdport" option is not set to "0", is commented out, or is missing?
Configure the operating system to disable non-essential capabilities.The cmdport option in /etc/chrony.conf can be set to -0 to stop chrony daemon from listening on the UDP port 323 -for management connections made by chronyc.low
CCI-000381 SRG-OS-000095-GPOS-00049TBD - Assigned by DISA after STIG release The operating system must be configured to disable non-essential capabilities.CCE-86084-1: Uninstall python3-abrt-addon PackageCCE-82904-4: Uninstall tuned Package It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software, not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled.The python3-abrt-addon package can be removed with the following command: + The tuned package can be removed with the following command:
-$ sudo yum erase python3-abrt-addon
Applicable - Configurable Verify the operating system is configured to disable non-essential capabilities. If it does not, this is a finding.Run the following command to determine if the python3-abrt-addon package is installed: -
$ rpm -q python3-abrt-addon
Is it the case that the package is installed?
Run the following command to determine if the tuned package is installed: +
$ rpm -q tuned
Is it the case that the package is installed?
Configure the operating system to disable non-essential capabilities.The python3-abrt-addon package can be removed with the following command: + The tuned package can be removed with the following command:
-$ sudo yum erase python3-abrt-addon
lowmedium TBD - Assigned by DISA after STIG release The operating system must be configured to disable non-essential capabilities.CCE-80834-5: Disable SCTP SupportIt is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. - -Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). - -Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software, not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled.The Stream Control Transmission Protocol (SCTP) is a -transport layer protocol, designed to support the idea of -message-oriented communication, with several streams of messages -within one connection. - -To configure the system to prevent the sctp -kernel module from being loaded, add the following line to the file /etc/modprobe.d/sctp.conf: -
install sctp /bin/true
- -To configure the system to prevent the sctp from being used, -add the following line to file /etc/modprobe.d/sctp.conf: -
blacklist sctp
Applicable - ConfigurableVerify the operating system is configured to disable non-essential capabilities. If it does not, this is a finding. -If the system is configured to prevent the loading of the sctp kernel module, -it will contain lines inside any file in /etc/modprobe.d or the deprecated /etc/modprobe.conf. -These lines instruct the module loading system to run another program (such as /bin/true) upon a module install event. - -These lines can also instruct the module loading system to ignore the sctp kernel module via blacklist keyword. - -Run the following command to search for such lines in all files in /etc/modprobe.d and the deprecated /etc/modprobe.conf: -
$ grep -r sctp /etc/modprobe.conf /etc/modprobe.d
Is it the case that no line is returned?
Configure the operating system to disable non-essential capabilities.The Stream Control Transmission Protocol (SCTP) is a -transport layer protocol, designed to support the idea of -message-oriented communication, with several streams of messages -within one connection. - -To configure the system to prevent the sctp -kernel module from being loaded, add the following line to the file /etc/modprobe.d/sctp.conf: -
install sctp /bin/true
- -To configure the system to prevent the sctp from being used, -add the following line to file /etc/modprobe.d/sctp.conf: -
blacklist sctp
medium
CCI-000381SRG-OS-000095-GPOS-00049TBD - Assigned by DISA after STIG releaseThe operating system must be configured to disable non-essential capabilities.CCE-82946-5: Uninstall iprutils PackageCCE-82184-3: Uninstall rsh-server Package It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software, not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled.The iprutils package can be removed with the following command: + The rsh-server package can be removed with the following command:
-$ sudo yum erase iprutils
Applicable - Configurable Verify the operating system is configured to disable non-essential capabilities. If it does not, this is a finding.Run the following command to determine if the iprutils package is installed: -
$ rpm -q iprutils
Is it the case that the package is installed?
Run the following command to determine if the rsh-server package is installed: +
$ rpm -q rsh-server
Is it the case that the package is installed?
Configure the operating system to disable non-essential capabilities.The iprutils package can be removed with the following command: + The rsh-server package can be removed with the following command:
-$ sudo yum erase iprutils
mediumhigh TBD - Assigned by DISA after STIG release The operating system must be configured to disable non-essential capabilities.CCE-82931-7: Uninstall krb5-workstation PackageCCE-82910-1: Uninstall abrt-plugin-sosreport Package It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software, not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled.The krb5-workstation package can be removed with the following command: + The abrt-plugin-sosreport package can be removed with the following command:
-$ sudo yum erase krb5-workstation
Applicable - Configurable Verify the operating system is configured to disable non-essential capabilities. If it does not, this is a finding.Run the following command to determine if the krb5-workstation package is installed: -
$ rpm -q krb5-workstation
Is it the case that the package is installed?
Run the following command to determine if the abrt-plugin-sosreport package is installed: +
$ rpm -q abrt-plugin-sosreport
Is it the case that the package is installed?
Configure the operating system to disable non-essential capabilities.The krb5-workstation package can be removed with the following command: + The abrt-plugin-sosreport package can be removed with the following command:
-$ sudo yum erase krb5-workstation
mediumlow TBD - Assigned by DISA after STIG release The operating system must be configured to disable non-essential capabilities.CCE-80832-9: Disable Bluetooth Kernel ModuleCCE-82946-5: Uninstall iprutils Package It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software, not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled.The kernel's module loading system can be configured to prevent -loading of the Bluetooth module. Add the following to -the appropriate /etc/modprobe.d configuration file -to prevent the loading of the Bluetooth module: -
install bluetooth /bin/true
The iprutils package can be removed with the following command: +
+$ sudo yum erase iprutils
Applicable - Configurable Verify the operating system is configured to disable non-essential capabilities. If it does not, this is a finding. -If the system is configured to prevent the loading of the bluetooth kernel module, -it will contain lines inside any file in /etc/modprobe.d or the deprecated /etc/modprobe.conf. -These lines instruct the module loading system to run another program (such as /bin/true) upon a module install event. + Run the following command to determine if the iprutils package is installed: +
$ rpm -q iprutils
Is it the case that the package is installed?
Configure the operating system to disable non-essential capabilities.The iprutils package can be removed with the following command: +
+$ sudo yum erase iprutils
medium
CCI-000381SRG-OS-000095-GPOS-00049TBD - Assigned by DISA after STIG releaseThe operating system must be configured to disable non-essential capabilities.CCE-89201-8: Uninstall libreport-plugin-logger PackageIt is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. + +Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). + +Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software, not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled.The libreport-plugin-logger package can be removed with the following command: +
+$ sudo yum erase libreport-plugin-logger
Applicable - ConfigurableVerify the operating system is configured to disable non-essential capabilities. If it does not, this is a finding.Run the following command to determine if the libreport-plugin-logger package is installed: +
$ rpm -q libreport-plugin-logger
Is it the case that the package is installed?
Configure the operating system to disable non-essential capabilities.The kernel's module loading system can be configured to prevent -loading of the Bluetooth module. Add the following to -the appropriate /etc/modprobe.d configuration file -to prevent the loading of the Bluetooth module: -
install bluetooth /bin/true
mediumThe libreport-plugin-logger package can be removed with the following command: +
+$ sudo yum erase libreport-plugin-logger
low TBD - Assigned by DISA after STIG release The operating system must be configured to disable non-essential capabilities.CCE-82988-7: Disable chrony daemon from acting as serverCCE-82926-7: Uninstall abrt-addon-kerneloops Package It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software, not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled.The port option in /etc/chrony.conf can be set to -0 to make chrony daemon to never open any listening port -for server operation and to operate strictly in a client-only mode.The abrt-addon-kerneloops package can be removed with the following command: +
+$ sudo yum erase abrt-addon-kerneloops
Applicable - Configurable Verify the operating system is configured to disable non-essential capabilities. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 disables the chrony daemon from acting as a server with the following command: -
$ grep -w port /etc/chrony.conf
-
port 0
Is it the case that the "port" option is not set to "0", is commented out, or is missing?
Run the following command to determine if the abrt-addon-kerneloops package is installed: +
$ rpm -q abrt-addon-kerneloops
Is it the case that the package is installed?
Configure the operating system to disable non-essential capabilities.The port option in /etc/chrony.conf can be set to -0 to make chrony daemon to never open any listening port -for server operation and to operate strictly in a client-only mode.The abrt-addon-kerneloops package can be removed with the following command: +
+$ sudo yum erase abrt-addon-kerneloops
low
CCI-000381SRG-OS-000095-GPOS-00049TBD - Assigned by DISA after STIG releaseThe operating system must be configured to disable non-essential capabilities.CCE-82059-7: Disable CAN SupportIt is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. + +Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). + +Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software, not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled.The Controller Area Network (CAN) is a serial communications +protocol which was initially developed for automotive and +is now also used in marine, industrial, and medical applications. + +To configure the system to prevent the can +kernel module from being loaded, add the following line to the file /etc/modprobe.d/can.conf: +
install can /bin/true
+ +To configure the system to prevent the can from being used, +add the following line to file /etc/modprobe.d/can.conf: +
blacklist can
Applicable - ConfigurableVerify the operating system is configured to disable non-essential capabilities. If it does not, this is a finding. +If the system is configured to prevent the loading of the can kernel module, +it will contain lines inside any file in /etc/modprobe.d or the deprecated /etc/modprobe.conf. +These lines instruct the module loading system to run another program (such as /bin/true) upon a module install event. + +These lines can also instruct the module loading system to ignore the can kernel module via blacklist keyword. + +Run the following command to search for such lines in all files in /etc/modprobe.d and the deprecated /etc/modprobe.conf: +
$ grep -r can /etc/modprobe.conf /etc/modprobe.d
Is it the case that no line is returned?
Configure the operating system to disable non-essential capabilities.The Controller Area Network (CAN) is a serial communications +protocol which was initially developed for automotive and +is now also used in marine, industrial, and medical applications. + +To configure the system to prevent the can +kernel module from being loaded, add the following line to the file /etc/modprobe.d/can.conf: +
install can /bin/true
+ +To configure the system to prevent the can from being used, +add the following line to file /etc/modprobe.d/can.conf: +
blacklist can
medium
CCI-000381 SRG-OS-000095-GPOS-00049TBD - Assigned by DISA after STIG release The operating system must be configured to disable non-essential capabilities.CCE-88955-0: Uninstall libreport-plugin-rhtsupport PackageCCE-82907-7: Uninstall abrt-cli Package It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software, not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled.The libreport-plugin-rhtsupport package can be removed with the following command: + The abrt-cli package can be removed with the following command:
-$ sudo yum erase libreport-plugin-rhtsupport
Applicable - Configurable Verify the operating system is configured to disable non-essential capabilities. If it does not, this is a finding.Run the following command to determine if the libreport-plugin-rhtsupport package is installed: -
$ rpm -q libreport-plugin-rhtsupport
Is it the case that the package is installed?
Run the following command to determine if the abrt-cli package is installed: +
$ rpm -q abrt-cli
Is it the case that the package is installed?
Configure the operating system to disable non-essential capabilities.The libreport-plugin-rhtsupport package can be removed with the following command: + The abrt-cli package can be removed with the following command:
-$ sudo yum erase libreport-plugin-rhtsupport
low TBD - Assigned by DISA after STIG release The operating system must be configured to disable non-essential capabilities.CCE-82184-3: Uninstall rsh-server PackageCCE-82919-2: Uninstall abrt-addon-ccpp Package It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software, not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled.The rsh-server package can be removed with the following command: + The abrt-addon-ccpp package can be removed with the following command:
-$ sudo yum erase rsh-server
Applicable - Configurable Verify the operating system is configured to disable non-essential capabilities. If it does not, this is a finding.Run the following command to determine if the rsh-server package is installed: -
$ rpm -q rsh-server
Is it the case that the package is installed?
Run the following command to determine if the abrt-addon-ccpp package is installed: +
$ rpm -q abrt-addon-ccpp
Is it the case that the package is installed?
Configure the operating system to disable non-essential capabilities.The rsh-server package can be removed with the following command: + The abrt-addon-ccpp package can be removed with the following command:
-$ sudo yum erase rsh-server
highlow TBD - Assigned by DISA after STIG release The operating system must be configured to disable non-essential capabilities.CCE-82059-7: Disable CAN SupportCCE-82414-4: Uninstall vsftpd Package It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software, not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled.The Controller Area Network (CAN) is a serial communications -protocol which was initially developed for automotive and -is now also used in marine, industrial, and medical applications. - -To configure the system to prevent the can -kernel module from being loaded, add the following line to the file /etc/modprobe.d/can.conf: -
install can /bin/true
- -To configure the system to prevent the can from being used, -add the following line to file /etc/modprobe.d/can.conf: -
blacklist can
The vsftpd package can be removed with the following command:
 $ sudo yum erase vsftpd
Applicable - Configurable Verify the operating system is configured to disable non-essential capabilities. If it does not, this is a finding. -If the system is configured to prevent the loading of the can kernel module, -it will contain lines inside any file in /etc/modprobe.d or the deprecated /etc/modprobe.conf. -These lines instruct the module loading system to run another program (such as /bin/true) upon a module install event. - -These lines can also instruct the module loading system to ignore the can kernel module via blacklist keyword. - -Run the following command to search for such lines in all files in /etc/modprobe.d and the deprecated /etc/modprobe.conf: -
$ grep -r can /etc/modprobe.conf /etc/modprobe.d
Is it the case that no line is returned?
Run the following command to determine if the vsftpd package is installed: +
$ rpm -q vsftpd
Is it the case that the package is installed?
Configure the operating system to disable non-essential capabilities.The Controller Area Network (CAN) is a serial communications -protocol which was initially developed for automotive and -is now also used in marine, industrial, and medical applications. - -To configure the system to prevent the can -kernel module from being loaded, add the following line to the file /etc/modprobe.d/can.conf: -
install can /bin/true
- -To configure the system to prevent the can from being used, -add the following line to file /etc/modprobe.d/can.conf: -
blacklist can
mediumThe vsftpd package can be removed with the following command:
 $ sudo yum erase vsftpd
high TBD - Assigned by DISA after STIG release The operating system must be configured to disable non-essential capabilities.CCE-89201-8: Uninstall libreport-plugin-logger PackageCCE-82194-2: Enable Kernel Page-Table Isolation (KPTI) It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). Examples of non-essential capabilities include, but are not limited to, games, software packages, tools, and demonstration software, not related to requirements or providing a wide array of functionality not required for every mission, but which cannot be disabled.The libreport-plugin-logger package can be removed with the following command: -
-$ sudo yum erase libreport-plugin-logger
To enable Kernel page-table isolation, +add the argument pti=on to the default +GRUB 2 command line for the Linux operating system. +To ensure that pti=on is added as a kernel command line +argument to newly installed kernels, add pti=on to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... pti=on ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="pti=on"
Applicable - Configurable Verify the operating system is configured to disable non-essential capabilities. If it does not, this is a finding.Run the following command to determine if the libreport-plugin-logger package is installed: -
$ rpm -q libreport-plugin-logger
Is it the case that the package is installed?
Inspect the form of default GRUB 2 command line for the Linux operating system +in /etc/default/grub. If it includes pti=on, +then the parameter will be configured for newly installed kernels. +First check if the GRUB recovery is enabled: +
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
+If this option is set to true, then check that a line is output by the following command: +
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*pti=on.*' /etc/default/grub
+If the recovery is disabled, check the line with +
$ sudo grep 'GRUB_CMDLINE_LINUX.*pti=on.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. +Run the following command: +
$ sudo grubby --info=ALL | grep args | grep -v 'pti=on'
+The command should not return any output. Is it the case that Kernel page-table isolation is not enabled?
Configure the operating system to disable non-essential capabilities.The libreport-plugin-logger package can be removed with the following command: -
-$ sudo yum erase libreport-plugin-logger
To enable Kernel page-table isolation, +add the argument pti=on to the default +GRUB 2 command line for the Linux operating system. +To ensure that pti=on is added as a kernel command line +argument to newly installed kernels, add pti=on to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... pti=on ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="pti=on"
low TBD - Assigned by DISA after STIG release The operating system must be configured to prohibit or restrict the use of functions, ports, protocols, and/or services, as defined in the PPSM CAL and vulnerability assessments.CCE-80877-4: Verify firewalld EnabledCCE-84300-3: Configure the Firewalld Ports In order to prevent unauthorized connection of devices, unauthorized transfer of information, or unauthorized tunneling (i.e., embedding of data types within data types), organizations must disable or restrict unused or unnecessary physical and logical ports/protocols on information systems. Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services provided by default may not be necessary to support essential organizational operations. Additionally, it is sometimes convenient to provide multiple services from a single component (e.g., VPN and IPS); however, doing so increases risk over limiting the services provided by any one component. To support the requirements and principles of least functionality, the operating system must support the organizational requirements, providing only essential capabilities and limiting the use of ports, protocols, and/or services to only those required, authorized, and approved to conduct official business or to address authorized quality of life issues. -The firewalld service can be enabled with the following command: -
$ sudo systemctl enable firewalld.service
Configure the firewalld ports to allow approved services to have access to the system. +To configure firewalld to open ports, run the following command: +
firewall-cmd --permanent --add-port=port_number/tcp
+To configure firewalld to allow access for pre-defined services, run the following +command: +
firewall-cmd --permanent --add-service=service_name
Applicable - Configurable Verify the operating system is configured to prohibit or restrict the use of functions, ports, protocols, and/or services, as defined in the PPSM CAL and vulnerability assessments. If it does not, this is a finding. + Inspect the list of enabled firewall ports and verify they are configured correctly by running +the following command: -Run the following command to determine the current status of the -firewalld service: -
$ sudo systemctl is-active firewalld
-If the service is running, it should return the following:
active
Is it the case that the "firewalld" service is disabled, masked, or not started.?
Configure the operating system to prohibit or restrict the use of functions, ports, protocols, and/or services, as defined in the PPSM CAL and vulnerability assessments. -The firewalld service can be enabled with the following command: -
$ sudo systemctl enable firewalld.service
Configure the firewalld ports to allow approved services to have access to the system. +To configure firewalld to open ports, run the following command: +
firewall-cmd --permanent --add-port=port_number/tcp
+To configure firewalld to allow access for pre-defined services, run the following +command: +
firewall-cmd --permanent --add-service=service_name
medium TBD - Assigned by DISA after STIG release The operating system must be configured to prohibit or restrict the use of functions, ports, protocols, and/or services, as defined in the PPSM CAL and vulnerability assessments.CCE-82840-0: Disable network management of chrony daemonCCE-82988-7: Disable chrony daemon from acting as server In order to prevent unauthorized connection of devices, unauthorized transfer of information, or unauthorized tunneling (i.e., embedding of data types within data types), organizations must disable or restrict unused or unnecessary physical and logical ports/protocols on information systems. Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services provided by default may not be necessary to support essential organizational operations. Additionally, it is sometimes convenient to provide multiple services from a single component (e.g., VPN and IPS); however, doing so increases risk over limiting the services provided by any one component. To support the requirements and principles of least functionality, the operating system must support the organizational requirements, providing only essential capabilities and limiting the use of ports, protocols, and/or services to only those required, authorized, and approved to conduct official business or to address authorized quality of life issues.The cmdport option in /etc/chrony.conf can be set to -0 to stop chrony daemon from listening on the UDP port 323 -for management connections made by chronyc.The port option in /etc/chrony.conf can be set to +0 to make chrony daemon to never open any listening port +for server operation and to operate strictly in a client-only mode. Applicable - Configurable Verify the operating system is configured to prohibit or restrict the use of functions, ports, protocols, and/or services, as defined in the PPSM CAL and vulnerability assessments. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 disables network management of the chrony daemon with the following command: -
$ grep -w cmdport /etc/chrony.conf
-
cmdport 0
Is it the case that the "cmdport" option is not set to "0", is commented out, or is missing?
Verify Red Hat Enterprise Linux 8 disables the chrony daemon from acting as a server with the following command: +
$ grep -w port /etc/chrony.conf
+
port 0
Is it the case that the "port" option is not set to "0", is commented out, or is missing?
Configure the operating system to prohibit or restrict the use of functions, ports, protocols, and/or services, as defined in the PPSM CAL and vulnerability assessments.The cmdport option in /etc/chrony.conf can be set to -0 to stop chrony daemon from listening on the UDP port 323 -for management connections made by chronyc.The port option in /etc/chrony.conf can be set to +0 to make chrony daemon to never open any listening port +for server operation and to operate strictly in a client-only mode. low TBD - Assigned by DISA after STIG release The operating system must be configured to prohibit or restrict the use of functions, ports, protocols, and/or services, as defined in the PPSM CAL and vulnerability assessments.CCE-82988-7: Disable chrony daemon from acting as serverCCE-80877-4: Verify firewalld Enabled In order to prevent unauthorized connection of devices, unauthorized transfer of information, or unauthorized tunneling (i.e., embedding of data types within data types), organizations must disable or restrict unused or unnecessary physical and logical ports/protocols on information systems. Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services provided by default may not be necessary to support essential organizational operations. Additionally, it is sometimes convenient to provide multiple services from a single component (e.g., VPN and IPS); however, doing so increases risk over limiting the services provided by any one component. To support the requirements and principles of least functionality, the operating system must support the organizational requirements, providing only essential capabilities and limiting the use of ports, protocols, and/or services to only those required, authorized, and approved to conduct official business or to address authorized quality of life issues.The port option in /etc/chrony.conf can be set to -0 to make chrony daemon to never open any listening port -for server operation and to operate strictly in a client-only mode. +The firewalld service can be enabled with the following command: +
$ sudo systemctl enable firewalld.service
Applicable - Configurable Verify the operating system is configured to prohibit or restrict the use of functions, ports, protocols, and/or services, as defined in the PPSM CAL and vulnerability assessments. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 disables the chrony daemon from acting as a server with the following command: -
$ grep -w port /etc/chrony.conf
-
port 0
Is it the case that the "port" option is not set to "0", is commented out, or is missing?
+ +Run the following command to determine the current status of the +firewalld service: +
$ sudo systemctl is-active firewalld
+If the service is running, it should return the following:
active
Is it the case that the "firewalld" service is disabled, masked, or not started.?
Configure the operating system to prohibit or restrict the use of functions, ports, protocols, and/or services, as defined in the PPSM CAL and vulnerability assessments.The port option in /etc/chrony.conf can be set to -0 to make chrony daemon to never open any listening port -for server operation and to operate strictly in a client-only mode.low +The firewalld service can be enabled with the following command: +
$ sudo systemctl enable firewalld.service
medium TBD - Assigned by DISA after STIG release The operating system must be configured to prohibit or restrict the use of functions, ports, protocols, and/or services, as defined in the PPSM CAL and vulnerability assessments.CCE-84300-3: Configure the Firewalld PortsCCE-82840-0: Disable network management of chrony daemon In order to prevent unauthorized connection of devices, unauthorized transfer of information, or unauthorized tunneling (i.e., embedding of data types within data types), organizations must disable or restrict unused or unnecessary physical and logical ports/protocols on information systems. Operating systems are capable of providing a wide variety of functions and services. Some of the functions and services provided by default may not be necessary to support essential organizational operations. Additionally, it is sometimes convenient to provide multiple services from a single component (e.g., VPN and IPS); however, doing so increases risk over limiting the services provided by any one component. To support the requirements and principles of least functionality, the operating system must support the organizational requirements, providing only essential capabilities and limiting the use of ports, protocols, and/or services to only those required, authorized, and approved to conduct official business or to address authorized quality of life issues.Configure the firewalld ports to allow approved services to have access to the system. -To configure firewalld to open ports, run the following command: -
firewall-cmd --permanent --add-port=port_number/tcp
-To configure firewalld to allow access for pre-defined services, run the following -command: -
firewall-cmd --permanent --add-service=service_name
The cmdport option in /etc/chrony.conf can be set to +0 to stop chrony daemon from listening on the UDP port 323 +for management connections made by chronyc. Applicable - Configurable Verify the operating system is configured to prohibit or restrict the use of functions, ports, protocols, and/or services, as defined in the PPSM CAL and vulnerability assessments. If it does not, this is a finding.Inspect the list of enabled firewall ports and verify they are configured correctly by running -the following command: - -
$ sudo firewall-cmd --list-all
- -Ask the System Administrator for the site or program Ports, Protocols, and Services Management Component Local Service Assessment (PPSM CLSA). Verify the services allowed by the firewall match the PPSM CLSA. Is it the case that there are additional ports, protocols, or services that are not in the PPSM CLSA, or there are ports, protocols, or services that are prohibited by the PPSM Category Assurance List (CAL), or there are no firewall rules configured?
Verify Red Hat Enterprise Linux 8 disables network management of the chrony daemon with the following command: +
$ grep -w cmdport /etc/chrony.conf
+
cmdport 0
Is it the case that the "cmdport" option is not set to "0", is commented out, or is missing?
Configure the operating system to prohibit or restrict the use of functions, ports, protocols, and/or services, as defined in the PPSM CAL and vulnerability assessments.Configure the firewalld ports to allow approved services to have access to the system. -To configure firewalld to open ports, run the following command: -
firewall-cmd --permanent --add-port=port_number/tcp
-To configure firewalld to allow access for pre-defined services, run the following -command: -
firewall-cmd --permanent --add-service=service_name
mediumThe cmdport option in /etc/chrony.conf can be set to +0 to stop chrony daemon from listening on the UDP port 323 +for management connections made by chronyc.low
CCI-000766SRG-OS-000106-GPOS-00053TBD - Assigned by DISA after STIG releaseThe operating system must use multifactor authentication for network access to non-privileged accounts.CCE-80896-4: Disable SSH Access via Empty PasswordsTo assure accountability and prevent unauthenticated access, non-privileged users must utilize multifactor authentication to prevent potential misuse and compromise of the system. - -Multifactor authentication uses two or more factors to achieve authentication. - -Factors include: -1) Something you know (e.g., password/PIN); -2) Something you have (e.g., cryptographic identification device, token); and -3) Something you are (e.g., biometric). - -A non-privileged account is any information system account with authorizations of a non-privileged user. - -Network access is any access to an application by a user (or process acting on behalf of a user) where said access is obtained through a network connection. - -The DoD CAC with DoD-approved PKI is an example of multifactor authentication.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. -
-To explicitly disallow SSH login from accounts with empty passwords, -add or correct the following line in - - -/etc/ssh/sshd_config: - -
-
PermitEmptyPasswords no
-Any accounts with empty passwords should be disabled immediately, and PAM configuration -should prevent users from being able to assign themselves empty passwords.
Applicable - ConfigurableVerify the operating system uses multifactor authentication for network access to non-privileged accounts. If it does not, this is a finding.To determine how the SSH daemon's PermitEmptyPasswords option is set, run the following command: - -
$ sudo grep -i PermitEmptyPasswords /etc/ssh/sshd_config
- -If a line indicating no is returned, then the required value is set. - Is it the case that the required value is not set?
Configure the operating system to use multifactor authentication for network access to non-privileged accounts.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. -
-To explicitly disallow SSH login from accounts with empty passwords, -add or correct the following line in - - -/etc/ssh/sshd_config: - -
-
PermitEmptyPasswords no
-Any accounts with empty passwords should be disabled immediately, and PAM configuration -should prevent users from being able to assign themselves empty passwords.
high
CCI-000766 SRG-OS-000106-GPOS-00053
CCI-000766SRG-OS-000106-GPOS-00053TBD - Assigned by DISA after STIG releaseThe operating system must use multifactor authentication for network access to non-privileged accounts.CCE-80896-4: Disable SSH Access via Empty PasswordsTo assure accountability and prevent unauthenticated access, non-privileged users must utilize multifactor authentication to prevent potential misuse and compromise of the system. + +Multifactor authentication uses two or more factors to achieve authentication. + +Factors include: +1) Something you know (e.g., password/PIN); +2) Something you have (e.g., cryptographic identification device, token); and +3) Something you are (e.g., biometric). + +A non-privileged account is any information system account with authorizations of a non-privileged user. + +Network access is any access to an application by a user (or process acting on behalf of a user) where said access is obtained through a network connection. + +The DoD CAC with DoD-approved PKI is an example of multifactor authentication.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. +
+To explicitly disallow SSH login from accounts with empty passwords, +add or correct the following line in + + +/etc/ssh/sshd_config: + +
+
PermitEmptyPasswords no
+Any accounts with empty passwords should be disabled immediately, and PAM configuration +should prevent users from being able to assign themselves empty passwords.
Applicable - ConfigurableVerify the operating system uses multifactor authentication for network access to non-privileged accounts. If it does not, this is a finding.To determine how the SSH daemon's PermitEmptyPasswords option is set, run the following command: + +
$ sudo grep -i PermitEmptyPasswords /etc/ssh/sshd_config
+ +If a line indicating no is returned, then the required value is set. + Is it the case that the required value is not set?
Configure the operating system to use multifactor authentication for network access to non-privileged accounts.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. +
+To explicitly disallow SSH login from accounts with empty passwords, +add or correct the following line in + + +/etc/ssh/sshd_config: + +
+
PermitEmptyPasswords no
+Any accounts with empty passwords should be disabled immediately, and PAM configuration +should prevent users from being able to assign themselves empty passwords.
high
CCI-000778SRG-OS-000114-GPOS-00059TBD - Assigned by DISA after STIG releaseThe operating system must uniquely identify peripherals before establishing a connection.CCE-80835-2: Disable Modprobe Loading of USB Storage DriverWithout identifying devices, unidentified or unknown devices may be introduced, thereby facilitating malicious activity. - -Peripherals include, but are not limited to, such devices as flash drives, external storage, and printers.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 usb-storage -kernel module from being loaded, add the following line to the file /etc/modprobe.d/usb-storage.conf: -
install usb-storage /bin/true
- -To configure the system to prevent the usb-storage from being used, -add the following line to file /etc/modprobe.d/usb-storage.conf: -
blacklist usb-storage
- -This 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.
Applicable - ConfigurableVerify the operating system uniquely identifies peripherals before establishing a connection. If it does not, this is a finding. -If the system is configured to prevent the loading of the usb-storage kernel module, -it will contain lines inside any file in /etc/modprobe.d or the deprecated /etc/modprobe.conf. -These lines instruct the module loading system to run another program (such as /bin/true) upon a module install event. - -These lines can also instruct the module loading system to ignore the usb-storage kernel module via blacklist keyword. - -Run the following command to search for such lines in all files in /etc/modprobe.d and the deprecated /etc/modprobe.conf: -
$ grep -r usb-storage /etc/modprobe.conf /etc/modprobe.d
Is it the case that no line is returned?
Configure the operating system to uniquely identify peripherals before establishing a connection.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 usb-storage -kernel module from being loaded, add the following line to the file /etc/modprobe.d/usb-storage.conf: -
install usb-storage /bin/true
- -To configure the system to prevent the usb-storage from being used, -add the following line to file /etc/modprobe.d/usb-storage.conf: -
blacklist usb-storage
- -This 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.
medium
CCI-000778 SRG-OS-000114-GPOS-00059
CCI-000778SRG-OS-000114-GPOS-00059TBD - Assigned by DISA after STIG releaseThe operating system must uniquely identify peripherals before establishing a connection.CCE-80835-2: Disable Modprobe Loading of USB Storage DriverWithout identifying devices, unidentified or unknown devices may be introduced, thereby facilitating malicious activity. + +Peripherals include, but are not limited to, such devices as flash drives, external storage, and printers.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 usb-storage +kernel module from being loaded, add the following line to the file /etc/modprobe.d/usb-storage.conf: +
install usb-storage /bin/true
+ +To configure the system to prevent the usb-storage from being used, +add the following line to file /etc/modprobe.d/usb-storage.conf: +
blacklist usb-storage
+ +This 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.
Applicable - ConfigurableVerify the operating system uniquely identifies peripherals before establishing a connection. If it does not, this is a finding. +If the system is configured to prevent the loading of the usb-storage kernel module, +it will contain lines inside any file in /etc/modprobe.d or the deprecated /etc/modprobe.conf. +These lines instruct the module loading system to run another program (such as /bin/true) upon a module install event. + +These lines can also instruct the module loading system to ignore the usb-storage kernel module via blacklist keyword. + +Run the following command to search for such lines in all files in /etc/modprobe.d and the deprecated /etc/modprobe.conf: +
$ grep -r usb-storage /etc/modprobe.conf /etc/modprobe.d
Is it the case that no line is returned?
Configure the operating system to uniquely identify peripherals before establishing a connection.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 usb-storage +kernel module from being loaded, add the following line to the file /etc/modprobe.d/usb-storage.conf: +
install usb-storage /bin/true
+ +To configure the system to prevent the usb-storage from being used, +add the following line to file /etc/modprobe.d/usb-storage.conf: +
blacklist usb-storage
+ +This 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.
medium
TBD - Assigned by DISA after STIG release The operating system must use mechanisms meeting the requirements of applicable federal laws, Executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module.CCE-89707-4: Set Password Hashing Rounds in /etc/login.defsCCE-82931-7: Uninstall krb5-workstation Package Unapproved mechanisms that are used for authentication to the cryptographic module are not verified and therefore cannot be relied upon to provide confidentiality or integrity, and DoD data may be compromised. Operating systems utilizing encryption are required to use FIPS-compliant mechanisms for authenticating to cryptographic modules. FIPS 140-2 is the current standard for validating that mechanisms used to access cryptographic modules utilize authentication that meets DoD requirements. This allows for Security Levels 1, 2, 3, or 4 for use on a general purpose computing system.In /etc/login.defs, ensure SHA_CRYPT_MIN_ROUNDS and -SHA_CRYPT_MAX_ROUNDS has the minimum value of 5000. -For example: -
SHA_CRYPT_MIN_ROUNDS 5000
-SHA_CRYPT_MAX_ROUNDS 5000
-Notice that if neither are set, they already have the default value of 5000. -If either is set, they must have the minimum value of 5000.
The krb5-workstation package can be removed with the following command: +
+$ sudo yum erase krb5-workstation
Applicable - Configurable Verify the operating system uses mechanisms meeting the requirements of applicable federal laws, Executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module. If it does not, this is a finding.Inspect /etc/login.defs and ensure that if eihter -SHA_CRYPT_MIN_ROUNDS or SHA_CRYPT_MAX_ROUNDS -are set, they must have the minimum value of 5000. Is it the case that it does not?Run the following command to determine if the krb5-workstation package is installed: +
$ rpm -q krb5-workstation
Is it the case that the package is installed?
Configure the operating system to use mechanisms meeting the requirements of applicable federal laws, Executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module.In /etc/login.defs, ensure SHA_CRYPT_MIN_ROUNDS and -SHA_CRYPT_MAX_ROUNDS has the minimum value of 5000. -For example: -
SHA_CRYPT_MIN_ROUNDS 5000
-SHA_CRYPT_MAX_ROUNDS 5000
-Notice that if neither are set, they already have the default value of 5000. -If either is set, they must have the minimum value of 5000.
The krb5-workstation package can be removed with the following command: +
+$ sudo yum erase krb5-workstation
medium TBD - Assigned by DISA after STIG release The operating system must use mechanisms meeting the requirements of applicable federal laws, Executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module.CCE-82175-1: Disable Kerberos by removing host keytabCCE-82859-0: Ensure rsyslog-gnutls is installed Unapproved mechanisms that are used for authentication to the cryptographic module are not verified and therefore cannot be relied upon to provide confidentiality or integrity, and DoD data may be compromised. Operating systems utilizing encryption are required to use FIPS-compliant mechanisms for authenticating to cryptographic modules. FIPS 140-2 is the current standard for validating that mechanisms used to access cryptographic modules utilize authentication that meets DoD requirements. This allows for Security Levels 1, 2, 3, or 4 for use on a general purpose computing system.Kerberos is not an approved key distribution method for -Common Criteria. To prevent using Kerberos by system daemons, -remove the Kerberos keytab files, especially -/etc/krb5.keytab.TLS protocol support for rsyslog is installed. + +The rsyslog-gnutls package can be installed with the following command: +
+$ sudo yum install rsyslog-gnutls
Applicable - Configurable Verify the operating system uses mechanisms meeting the requirements of applicable federal laws, Executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module. If it does not, this is a finding.Run the following command to see if there are some keytabs -that would potentially allow the use of Kerberos by system daemons. -
$ ls -la /etc/*.keytab
-The expected result is -
ls: cannot access '/etc/*.keytab': No such file or directory
Is it the case that a keytab file is present on the system?
Run the following command to determine if the rsyslog-gnutls package is installed: +
$ rpm -q rsyslog-gnutls
Is it the case that the package is installed?
Configure the operating system to use mechanisms meeting the requirements of applicable federal laws, Executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module.Kerberos is not an approved key distribution method for -Common Criteria. To prevent using Kerberos by system daemons, -remove the Kerberos keytab files, especially -/etc/krb5.keytab.TLS protocol support for rsyslog is installed. + +The rsyslog-gnutls package can be installed with the following command: +
+$ sudo yum install rsyslog-gnutls
medium TBD - Assigned by DISA after STIG release The operating system must use mechanisms meeting the requirements of applicable federal laws, Executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module.CCE-80936-8: Configure Kerberos to use System Crypto PolicyCCE-89707-4: Set Password Hashing Rounds in /etc/login.defs Unapproved mechanisms that are used for authentication to the cryptographic module are not verified and therefore cannot be relied upon to provide confidentiality or integrity, and DoD data may be compromised. Operating systems utilizing encryption are required to use FIPS-compliant mechanisms for authenticating to cryptographic modules. FIPS 140-2 is the current standard for validating that mechanisms used to access cryptographic modules utilize authentication that meets DoD requirements. This allows for Security Levels 1, 2, 3, or 4 for use on a general purpose computing system.Crypto Policies provide a centralized control over crypto algorithms usage of many packages. -Kerberos is supported by crypto policy, but it's configuration may be -set up to ignore it. -To check that Crypto Policies settings for Kerberos are configured correctly, examine that there is a symlink at -/etc/krb5.conf.d/crypto-policies targeting /etc/cypto-policies/back-ends/krb5.config. -If the symlink exists, Kerberos is configured to use the system-wide crypto policy settings.In /etc/login.defs, ensure SHA_CRYPT_MIN_ROUNDS and +SHA_CRYPT_MAX_ROUNDS has the minimum value of 5000. +For example: +
SHA_CRYPT_MIN_ROUNDS 5000
+SHA_CRYPT_MAX_ROUNDS 5000
+Notice that if neither are set, they already have the default value of 5000. +If either is set, they must have the minimum value of 5000.
Applicable - Configurable Verify the operating system uses mechanisms meeting the requirements of applicable federal laws, Executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module. If it does not, this is a finding.Check that the symlink exists and target the correct Kerberos crypto policy, with the following command: -
file /etc/krb5.conf.d/crypto-policies
-If command ouput shows the following line, Kerberos is configured to use the system-wide crypto policy. -
/etc/krb5.conf.d/crypto-policies: symbolic link to /etc/crypto-policies/back-ends/krb5.config
Is it the case that the symlink does not exist or points to a different target?
Inspect /etc/login.defs and ensure that if eihter +SHA_CRYPT_MIN_ROUNDS or SHA_CRYPT_MAX_ROUNDS +are set, they must have the minimum value of 5000. Is it the case that it does not? Configure the operating system to use mechanisms meeting the requirements of applicable federal laws, Executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module.Crypto Policies provide a centralized control over crypto algorithms usage of many packages. -Kerberos is supported by crypto policy, but it's configuration may be -set up to ignore it. -To check that Crypto Policies settings for Kerberos are configured correctly, examine that there is a symlink at -/etc/krb5.conf.d/crypto-policies targeting /etc/cypto-policies/back-ends/krb5.config. -If the symlink exists, Kerberos is configured to use the system-wide crypto policy settings.highIn /etc/login.defs, ensure SHA_CRYPT_MIN_ROUNDS and +SHA_CRYPT_MAX_ROUNDS has the minimum value of 5000. +For example: +
SHA_CRYPT_MIN_ROUNDS 5000
+SHA_CRYPT_MAX_ROUNDS 5000
+Notice that if neither are set, they already have the default value of 5000. +If either is set, they must have the minimum value of 5000.
medium TBD - Assigned by DISA after STIG release The operating system must use mechanisms meeting the requirements of applicable federal laws, Executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module.CCE-82859-0: Ensure rsyslog-gnutls is installedCCE-80893-1: Set PAM''s Password Hashing Algorithm Unapproved mechanisms that are used for authentication to the cryptographic module are not verified and therefore cannot be relied upon to provide confidentiality or integrity, and DoD data may be compromised. Operating systems utilizing encryption are required to use FIPS-compliant mechanisms for authenticating to cryptographic modules. FIPS 140-2 is the current standard for validating that mechanisms used to access cryptographic modules utilize authentication that meets DoD requirements. This allows for Security Levels 1, 2, 3, or 4 for use on a general purpose computing system.TLS protocol support for rsyslog is installed. + The PAM system service can be configured to only store encrypted +representations of passwords. In "/etc/pam.d/system-auth", the +password section of the file controls which PAM modules execute +during a password change. Set the pam_unix.so module in the +password section to include the argument sha512, as shown +below: +
-The rsyslog-gnutls package can be installed with the following command: -
-$ sudo yum install rsyslog-gnutls
Applicable - Configurable Verify the operating system uses mechanisms meeting the requirements of applicable federal laws, Executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module. If it does not, this is a finding.Run the following command to determine if the rsyslog-gnutls package is installed: -
$ rpm -q rsyslog-gnutls
Is it the case that the package is installed?
Inspect the password section of /etc/pam.d/system-auth +and ensure that the pam_unix.so module is configured to use the argument +sha512: + +
$ sudo grep "^password.*pam_unix\.so.*sha512" /etc/pam.d/system-auth
+
+password sufficient pam_unix.so sha512
Is it the case that "sha512" is missing, or is commented out?
Configure the operating system to use mechanisms meeting the requirements of applicable federal laws, Executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module.TLS protocol support for rsyslog is installed. + The PAM system service can be configured to only store encrypted +representations of passwords. In "/etc/pam.d/system-auth", the +password section of the file controls which PAM modules execute +during a password change. Set the pam_unix.so module in the +password section to include the argument sha512, as shown +below: +
-The rsyslog-gnutls package can be installed with the following command: -
-$ sudo yum install rsyslog-gnutls
medium TBD - Assigned by DISA after STIG release The operating system must use mechanisms meeting the requirements of applicable federal laws, Executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module.CCE-85887-8: Remove the Kerberos Server PackageCCE-82175-1: Disable Kerberos by removing host keytab Unapproved mechanisms that are used for authentication to the cryptographic module are not verified and therefore cannot be relied upon to provide confidentiality or integrity, and DoD data may be compromised. Operating systems utilizing encryption are required to use FIPS-compliant mechanisms for authenticating to cryptographic modules. FIPS 140-2 is the current standard for validating that mechanisms used to access cryptographic modules utilize authentication that meets DoD requirements. This allows for Security Levels 1, 2, 3, or 4 for use on a general purpose computing system.The krb5-server package should be removed if not in use. -Is this system the Kerberos server? If not, remove the package. -The krb5-server package can be removed with the following command: -
-$ sudo yum erase krb5-server
-The krb5-server RPM is not installed by default on a Red Hat Enterprise Linux 8 -system. It is needed only by the Kerberos servers, not by the -clients which use Kerberos for authentication. If the system is not -intended for use as a Kerberos Server it should be removed.
Kerberos is not an approved key distribution method for +Common Criteria. To prevent using Kerberos by system daemons, +remove the Kerberos keytab files, especially +/etc/krb5.keytab. Applicable - Configurable Verify the operating system uses mechanisms meeting the requirements of applicable federal laws, Executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module. If it does not, this is a finding.Run the following command to determine if the krb5-server package is installed:
$ rpm -q krb5-server
Is it the case that the package is installed?
Run the following command to see if there are some keytabs +that would potentially allow the use of Kerberos by system daemons. +
$ ls -la /etc/*.keytab
+The expected result is +
ls: cannot access '/etc/*.keytab': No such file or directory
Is it the case that a keytab file is present on the system?
Configure the operating system to use mechanisms meeting the requirements of applicable federal laws, Executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module.The krb5-server package should be removed if not in use. -Is this system the Kerberos server? If not, remove the package. -The krb5-server package can be removed with the following command: -
-$ sudo yum erase krb5-server
-The krb5-server RPM is not installed by default on a Red Hat Enterprise Linux 8 -system. It is needed only by the Kerberos servers, not by the -clients which use Kerberos for authentication. If the system is not -intended for use as a Kerberos Server it should be removed.
Kerberos is not an approved key distribution method for +Common Criteria. To prevent using Kerberos by system daemons, +remove the Kerberos keytab files, especially +/etc/krb5.keytab. medium TBD - Assigned by DISA after STIG release The operating system must use mechanisms meeting the requirements of applicable federal laws, Executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module.CCE-82931-7: Uninstall krb5-workstation PackageCCE-80936-8: Configure Kerberos to use System Crypto Policy Unapproved mechanisms that are used for authentication to the cryptographic module are not verified and therefore cannot be relied upon to provide confidentiality or integrity, and DoD data may be compromised. Operating systems utilizing encryption are required to use FIPS-compliant mechanisms for authenticating to cryptographic modules. FIPS 140-2 is the current standard for validating that mechanisms used to access cryptographic modules utilize authentication that meets DoD requirements. This allows for Security Levels 1, 2, 3, or 4 for use on a general purpose computing system.The krb5-workstation package can be removed with the following command: -
-$ sudo yum erase krb5-workstation
Crypto Policies provide a centralized control over crypto algorithms usage of many packages. +Kerberos is supported by crypto policy, but it's configuration may be +set up to ignore it. +To check that Crypto Policies settings for Kerberos are configured correctly, examine that there is a symlink at +/etc/krb5.conf.d/crypto-policies targeting /etc/cypto-policies/back-ends/krb5.config. +If the symlink exists, Kerberos is configured to use the system-wide crypto policy settings. Applicable - Configurable Verify the operating system uses mechanisms meeting the requirements of applicable federal laws, Executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module. If it does not, this is a finding.Run the following command to determine if the krb5-workstation package is installed: -
$ rpm -q krb5-workstation
Is it the case that the package is installed?
Check that the symlink exists and target the correct Kerberos crypto policy, with the following command: +
file /etc/krb5.conf.d/crypto-policies
+If command ouput shows the following line, Kerberos is configured to use the system-wide crypto policy. +
/etc/krb5.conf.d/crypto-policies: symbolic link to /etc/crypto-policies/back-ends/krb5.config
Is it the case that the symlink does not exist or points to a different target?
Configure the operating system to use mechanisms meeting the requirements of applicable federal laws, Executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module.The krb5-workstation package can be removed with the following command: -
-$ sudo yum erase krb5-workstation
mediumCrypto Policies provide a centralized control over crypto algorithms usage of many packages. +Kerberos is supported by crypto policy, but it's configuration may be +set up to ignore it. +To check that Crypto Policies settings for Kerberos are configured correctly, examine that there is a symlink at +/etc/krb5.conf.d/crypto-policies targeting /etc/cypto-policies/back-ends/krb5.config. +If the symlink exists, Kerberos is configured to use the system-wide crypto policy settings.high TBD - Assigned by DISA after STIG release The operating system must use mechanisms meeting the requirements of applicable federal laws, Executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module.CCE-80893-1: Set PAM''s Password Hashing AlgorithmCCE-85887-8: Remove the Kerberos Server Package Unapproved mechanisms that are used for authentication to the cryptographic module are not verified and therefore cannot be relied upon to provide confidentiality or integrity, and DoD data may be compromised. Operating systems utilizing encryption are required to use FIPS-compliant mechanisms for authenticating to cryptographic modules. FIPS 140-2 is the current standard for validating that mechanisms used to access cryptographic modules utilize authentication that meets DoD requirements. This allows for Security Levels 1, 2, 3, or 4 for use on a general purpose computing system.The PAM system service can be configured to only store encrypted -representations of passwords. In "/etc/pam.d/system-auth", the -password section of the file controls which PAM modules execute -during a password change. Set the pam_unix.so module in the -password section to include the argument sha512, as shown -below: -
- -
password    sufficient    pam_unix.so sha512 other arguments...
- -
-This will help ensure when local users change their passwords, hashes for -the new passwords will be generated using the SHA-512 algorithm. This is -the default.
The krb5-server package should be removed if not in use. +Is this system the Kerberos server? If not, remove the package. +The krb5-server package can be removed with the following command: +
+$ sudo yum erase krb5-server
+The krb5-server RPM is not installed by default on a Red Hat Enterprise Linux 8 +system. It is needed only by the Kerberos servers, not by the +clients which use Kerberos for authentication. If the system is not +intended for use as a Kerberos Server it should be removed.
Applicable - Configurable Verify the operating system uses mechanisms meeting the requirements of applicable federal laws, Executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module. If it does not, this is a finding.Inspect the password section of /etc/pam.d/system-auth -and ensure that the pam_unix.so module is configured to use the argument -sha512: - -
$ sudo grep "^password.*pam_unix\.so.*sha512" /etc/pam.d/system-auth
-
-password sufficient pam_unix.so sha512
Is it the case that "sha512" is missing, or is commented out?
Run the following command to determine if the krb5-server package is installed:
$ rpm -q krb5-server
Is it the case that the package is installed?
Configure the operating system to use mechanisms meeting the requirements of applicable federal laws, Executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module.The PAM system service can be configured to only store encrypted -representations of passwords. In "/etc/pam.d/system-auth", the -password section of the file controls which PAM modules execute -during a password change. Set the pam_unix.so module in the -password section to include the argument sha512, as shown -below: -
- -
password    sufficient    pam_unix.so sha512 other arguments...
- -
-This will help ensure when local users change their passwords, hashes for -the new passwords will be generated using the SHA-512 algorithm. This is -the default.
The krb5-server package should be removed if not in use. +Is this system the Kerberos server? If not, remove the package. +The krb5-server package can be removed with the following command: +
+$ sudo yum erase krb5-server
+The krb5-server RPM is not installed by default on a Red Hat Enterprise Linux 8 +system. It is needed only by the Kerberos servers, not by the +clients which use Kerberos for authentication. If the system is not +intended for use as a Kerberos Server it should be removed.
medium TBD - Assigned by DISA after STIG release The operating system must employ strong authenticators in the establishment of nonlocal maintenance and diagnostic sessions.CCE-84255-9: Configure OpenSSL library to use TLS EncryptionCCE-85902-5: Configure SSH Client to Use FIPS 140-2 Validated Ciphers: openssh.config If maintenance tools are used by unauthorized personnel, they may accidentally or intentionally damage or compromise the system. The act of managing systems and applications includes the ability to access sensitive application information, such as system configuration details, diagnostic information, user information, and potentially sensitive application data. Some maintenance and test tools are either standalone devices with their own operating systems or are applications bundled with an operating system. Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. Typically, strong authentication requires authenticators that are resistant to replay attacks and employ multifactor authentication. Strong authenticators include, for example, PKI where certificates are stored on a token protected by a password, passphrase, or biometric.Crypto Policies are means of enforcing certain cryptographic settings for -selected applications including OpenSSL. OpenSSL is by default configured to -modify its configuration based on currently configured Crypto Policy. -Editing the Crypto Policy back-end is not recommended. - -Check the crypto-policies(7) man page and choose a policy that configures TLS -protocol to version 1.2 or higher, for example DEFAULT, FUTURE or FIPS policy. -Or create and apply a custom policy that restricts minimum TLS version to 1.2. - -For example for versions prior to crypto-policies-20210617-1.gitc776d3e.el8.noarch -this is expected: - -
$ sudo grep -i MinProtocol /etc/crypto-policies/back-ends/opensslcnf.config
-
-MinProtocol = TLSv1.2
-
- -Or for version crypto-policies-20210617-1.gitc776d3e.el8.noarch and newer this is -expected: - -
$ sudo grep -i MinProtocol /etc/crypto-policies/back-ends/opensslcnf.config
+    
Crypto Policies provide a centralized control over crypto algorithms usage of many packages. +OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be +set up incorrectly. -TLS.MinProtocol = TLSv1.2 -DTLS.MinProtocol = DTLSv1.2 Applicable - Configurable Verify the operating system employs strong authenticators in the establishment of nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.To verify if the OpenSSL uses defined TLS Crypto Policy, run: -
$ grep -P '^(TLS\.)?MinProtocol' /etc/crypto-policies/back-ends/opensslcnf.config
-and verify that the value is -
TLSv1.2
Is it the case that cryptographic policy for openssl is not configured or is configured incorrectly?
To verify if the OpenSSH client uses defined Cipher suite in the Crypto Policy, run: +
$ grep -i ciphers /etc/crypto-policies/back-ends/openssh.config
+and verify that the line matches: +
Ciphers 
Is it the case that Crypto Policy for OpenSSH client is not configured correctly?
Configure the operating system to employ strong authenticators in the establishment of nonlocal maintenance and diagnostic sessions.Crypto Policies are means of enforcing certain cryptographic settings for -selected applications including OpenSSL. OpenSSL is by default configured to -modify its configuration based on currently configured Crypto Policy. -Editing the Crypto Policy back-end is not recommended. + Crypto Policies provide a centralized control over crypto algorithms usage of many packages. +OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be +set up incorrectly. -Check the crypto-policies(7) man page and choose a policy that configures TLS -protocol to version 1.2 or higher, for example DEFAULT, FUTURE or FIPS policy. -Or create and apply a custom policy that restricts minimum TLS version to 1.2. +To check that Crypto Policies settings for ciphers are configured correctly, ensure that +/etc/crypto-policies/back-ends/openssh.config contains the following +line and is not commented out: +
Ciphers 
high
CCI-000877SRG-OS-000125-GPOS-00065TBD - Assigned by DISA after STIG releaseThe operating system must employ strong authenticators in the establishment of nonlocal maintenance and diagnostic sessions.CCE-85899-3: Configure SSH Server to Use FIPS 140-2 Validated MACs: opensshserver.configIf maintenance tools are used by unauthorized personnel, they may accidentally or intentionally damage or compromise the system. The act of managing systems and applications includes the ability to access sensitive application information, such as system configuration details, diagnostic information, user information, and potentially sensitive application data. -Or for version crypto-policies-20210617-1.gitc776d3e.el8.noarch and newer this is -expected: +Some maintenance and test tools are either standalone devices with their own operating systems or are applications bundled with an operating system. -
$ sudo grep -i MinProtocol /etc/crypto-policies/back-ends/opensslcnf.config
+Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. Typically, strong authentication requires authenticators that are resistant to replay attacks and employ multifactor authentication. Strong authenticators include, for example, PKI where certificates are stored on a token protected by a password, passphrase, or biometric.
Crypto Policies provide a centralized control over crypto algorithms usage of many packages. +OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be +set up incorrectly. -TLS.MinProtocol = TLSv1.2 -DTLS.MinProtocol = DTLSv1.2Applicable - ConfigurableVerify the operating system employs strong authenticators in the establishment of nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.To verify if the OpenSSH server uses defined MACs in the Crypto Policy, run: +
$ grep -Po '(-oMACs=\S+)' /etc/crypto-policies/back-ends/opensshserver.config
+and verify that the line matches: +
-oMACS=
Is it the case that Crypto Policy for OpenSSH Server is not configured correctly?
Configure the operating system to employ strong authenticators in the establishment of nonlocal maintenance and diagnostic sessions.Crypto Policies provide a centralized control over crypto algorithms usage of many packages. +OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be +set up incorrectly. + +To check that Crypto Policies settings are configured correctly, ensure that +/etc/crypto-policies/back-ends/opensshserver.config contains the following +text and is not commented out: +-oMACS= medium
CCI-000877SRG-OS-000125-GPOS-00065TBD - Assigned by DISA after STIG releaseThe operating system must employ strong authenticators in the establishment of nonlocal maintenance and diagnostic sessions.CCE-85902-5: Configure SSH Client to Use FIPS 140-2 Validated Ciphers: openssh.configIf maintenance tools are used by unauthorized personnel, they may accidentally or intentionally damage or compromise the system. The act of managing systems and applications includes the ability to access sensitive application information, such as system configuration details, diagnostic information, user information, and potentially sensitive application data. - -Some maintenance and test tools are either standalone devices with their own operating systems or are applications bundled with an operating system. - -Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. Typically, strong authentication requires authenticators that are resistant to replay attacks and employ multifactor authentication. Strong authenticators include, for example, PKI where certificates are stored on a token protected by a password, passphrase, or biometric.Crypto Policies provide a centralized control over crypto algorithms usage of many packages. -OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be -set up incorrectly. - -To check that Crypto Policies settings for ciphers are configured correctly, ensure that -/etc/crypto-policies/back-ends/openssh.config contains the following -line and is not commented out: -
Ciphers 
Applicable - ConfigurableVerify the operating system employs strong authenticators in the establishment of nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.To verify if the OpenSSH client uses defined Cipher suite in the Crypto Policy, run: -
$ grep -i ciphers /etc/crypto-policies/back-ends/openssh.config
-and verify that the line matches: -
Ciphers 
Is it the case that Crypto Policy for OpenSSH client is not configured correctly?
Configure the operating system to employ strong authenticators in the establishment of nonlocal maintenance and diagnostic sessions.Crypto Policies provide a centralized control over crypto algorithms usage of many packages. -OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be -set up incorrectly. - -To check that Crypto Policies settings for ciphers are configured correctly, ensure that -/etc/crypto-policies/back-ends/openssh.config contains the following -line and is not commented out: -
Ciphers 
high
CCI-000877 SRG-OS-000125-GPOS-00065TBD - Assigned by DISA after STIG release The operating system must employ strong authenticators in the establishment of nonlocal maintenance and diagnostic sessions.CCE-85870-4: Configure SSH Client to Use FIPS 140-2 Validated MACs: openssh.configCCE-84255-9: Configure OpenSSL library to use TLS Encryption If maintenance tools are used by unauthorized personnel, they may accidentally or intentionally damage or compromise the system. The act of managing systems and applications includes the ability to access sensitive application information, such as system configuration details, diagnostic information, user information, and potentially sensitive application data. Some maintenance and test tools are either standalone devices with their own operating systems or are applications bundled with an operating system. Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. Typically, strong authentication requires authenticators that are resistant to replay attacks and employ multifactor authentication. Strong authenticators include, for example, PKI where certificates are stored on a token protected by a password, passphrase, or biometric.Crypto Policies provide a centralized control over crypto algorithms usage of many packages. -OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be -set up incorrectly. + Crypto Policies are means of enforcing certain cryptographic settings for +selected applications including OpenSSL. OpenSSL is by default configured to +modify its configuration based on currently configured Crypto Policy. +Editing the Crypto Policy back-end is not recommended. -To check that Crypto Policies settings are configured correctly, ensure that -/etc/crypto-policies/back-ends/openssh.config contains the following -line and is not commented out: -MACs Applicable - Configurable Verify the operating system employs strong authenticators in the establishment of nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.To verify if the OpenSSH client uses defined MACs in the Crypto Policy, run: -
$ grep -i macs /etc/crypto-policies/back-ends/openssh.config
-and verify that the line matches: -
MACs 
Is it the case that Crypto Policy for OpenSSH client is not configured correctly?
To verify if the OpenSSL uses defined TLS Crypto Policy, run: +
$ grep -P '^(TLS\.)?MinProtocol' /etc/crypto-policies/back-ends/opensslcnf.config
+and verify that the value is +
TLSv1.2
Is it the case that cryptographic policy for openssl is not configured or is configured incorrectly?
Configure the operating system to employ strong authenticators in the establishment of nonlocal maintenance and diagnostic sessions.Crypto Policies provide a centralized control over crypto algorithms usage of many packages. -OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be -set up incorrectly. + Crypto Policies are means of enforcing certain cryptographic settings for +selected applications including OpenSSL. OpenSSL is by default configured to +modify its configuration based on currently configured Crypto Policy. +Editing the Crypto Policy back-end is not recommended. -To check that Crypto Policies settings are configured correctly, ensure that -/etc/crypto-policies/back-ends/openssh.config contains the following -line and is not commented out: -MACs medium TBD - Assigned by DISA after STIG release The operating system must employ strong authenticators in the establishment of nonlocal maintenance and diagnostic sessions.CCE-85899-3: Configure SSH Server to Use FIPS 140-2 Validated MACs: opensshserver.configCCE-85870-4: Configure SSH Client to Use FIPS 140-2 Validated MACs: openssh.config If maintenance tools are used by unauthorized personnel, they may accidentally or intentionally damage or compromise the system. The act of managing systems and applications includes the ability to access sensitive application information, such as system configuration details, diagnostic information, user information, and potentially sensitive application data. @@ -23172,24 +23172,24 @@ set up incorrectly. To check that Crypto Policies settings are configured correctly, ensure that -/etc/crypto-policies/back-ends/opensshserver.config contains the following -text and is not commented out: --oMACS= Applicable - Configurable Verify the operating system employs strong authenticators in the establishment of nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.To verify if the OpenSSH server uses defined MACs in the Crypto Policy, run: -
$ grep -Po '(-oMACs=\S+)' /etc/crypto-policies/back-ends/opensshserver.config
+
To verify if the OpenSSH client uses defined MACs in the Crypto Policy, run: +
$ grep -i macs /etc/crypto-policies/back-ends/openssh.config
and verify that the line matches: -
-oMACS=
Is it the case that Crypto Policy for OpenSSH Server is not configured correctly?
Configure the operating system to employ strong authenticators in the establishment of nonlocal maintenance and diagnostic sessions. Crypto Policies provide a centralized control over crypto algorithms usage of many packages. OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be set up incorrectly. To check that Crypto Policies settings are configured correctly, ensure that -/etc/crypto-policies/back-ends/opensshserver.config contains the following -text and is not commented out: --oMACS= medium TBD - Assigned by DISA after STIG release The operating system must separate user functionality (including user interface services) from operating system management functionality.CCE-80953-3: Restrict usage of ptrace to descendant processesCCE-82974-7: Disable Access to Network bpf() Syscall From Unprivileged Processes Operating system management functionality includes functions necessary for administration and requires privileged user access. Allowing non-privileged users to access operating system management functionality capabilities increases the risk that non-privileged users may obtain elevated privileges. @@ -23273,18 +23273,18 @@ The separation of user functionality from information system management functionality is either physical or logical and is accomplished by using different computers, different central processing units, different instances of the operating system, different network addresses, different TCP/UDP ports, virtualization techniques, combinations of these methods, or other methods, as appropriate. An example of this type of separation is observed in web administrative interfaces that use separate authentication methods for users of any other information system resources. This may include isolating the administrative interface on a different security domain and with additional access controls.To set the runtime status of the kernel.yama.ptrace_scope kernel parameter, run the following command:
$ sudo sysctl -w kernel.yama.ptrace_scope=1
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.yama.ptrace_scope = 1
To set the runtime status of the kernel.unprivileged_bpf_disabled kernel parameter, run the following command:
$ sudo sysctl -w kernel.unprivileged_bpf_disabled=1
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.unprivileged_bpf_disabled = 1
Applicable - Configurable Verify the operating system separates user functionality (including user interface services) from operating system management functionality. If it does not, this is a finding.The runtime status of the kernel.yama.ptrace_scope kernel parameter can be queried + The runtime status of the kernel.unprivileged_bpf_disabled kernel parameter can be queried by running the following command: -
$ sysctl kernel.yama.ptrace_scope
+
$ sysctl kernel.unprivileged_bpf_disabled
1. Is it the case that the correct value is not returned?
Configure the operating system to separate user functionality (including user interface services) from operating system management functionality.To set the runtime status of the kernel.yama.ptrace_scope kernel parameter, run the following command:
$ sudo sysctl -w kernel.yama.ptrace_scope=1
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.yama.ptrace_scope = 1
To set the runtime status of the kernel.unprivileged_bpf_disabled kernel parameter, run the following command:
$ sudo sysctl -w kernel.unprivileged_bpf_disabled=1
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.unprivileged_bpf_disabled = 1
medium TBD - Assigned by DISA after STIG release The operating system must separate user functionality (including user interface services) from operating system management functionality.CCE-82974-7: Disable Access to Network bpf() Syscall From Unprivileged ProcessesCCE-80915-2: Restrict Exposed Kernel Pointer Addresses Access Operating system management functionality includes functions necessary for administration and requires privileged user access. Allowing non-privileged users to access operating system management functionality capabilities increases the risk that non-privileged users may obtain elevated privileges. @@ -23306,18 +23306,36 @@ The separation of user functionality from information system management functionality is either physical or logical and is accomplished by using different computers, different central processing units, different instances of the operating system, different network addresses, different TCP/UDP ports, virtualization techniques, combinations of these methods, or other methods, as appropriate. An example of this type of separation is observed in web administrative interfaces that use separate authentication methods for users of any other information system resources. This may include isolating the administrative interface on a different security domain and with additional access controls.To set the runtime status of the kernel.unprivileged_bpf_disabled kernel parameter, run the following command:
$ sudo sysctl -w kernel.unprivileged_bpf_disabled=1
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.unprivileged_bpf_disabled = 1
To set the runtime status of the kernel.kptr_restrict kernel parameter, run the following command:
$ sudo sysctl -w kernel.kptr_restrict=
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.kptr_restrict = 
Applicable - Configurable Verify the operating system separates user functionality (including user interface services) from operating system management functionality. If it does not, this is a finding.The runtime status of the kernel.unprivileged_bpf_disabled kernel parameter can be queried + The runtime status of the kernel.kptr_restrict kernel parameter can be queried by running the following command: -
$ sysctl kernel.unprivileged_bpf_disabled
-1. - Is it the case that the correct value is not returned?
Configure the operating system to separate user functionality (including user interface services) from operating system management functionality.To set the runtime status of the kernel.unprivileged_bpf_disabled kernel parameter, run the following command:
$ sudo sysctl -w kernel.unprivileged_bpf_disabled=1
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.unprivileged_bpf_disabled = 1
To set the runtime status of the kernel.kptr_restrict kernel parameter, run the following command:
$ sudo sysctl -w kernel.kptr_restrict=
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.kptr_restrict = 
medium TBD - Assigned by DISA after STIG release The operating system must separate user functionality (including user interface services) from operating system management functionality.CCE-81054-9: Disallow kernel profiling by unprivileged usersCCE-80913-7: Restrict Access to Kernel Message Buffer Operating system management functionality includes functions necessary for administration and requires privileged user access. Allowing non-privileged users to access operating system management functionality capabilities increases the risk that non-privileged users may obtain elevated privileges. @@ -23339,18 +23357,18 @@ The separation of user functionality from information system management functionality is either physical or logical and is accomplished by using different computers, different central processing units, different instances of the operating system, different network addresses, different TCP/UDP ports, virtualization techniques, combinations of these methods, or other methods, as appropriate. An example of this type of separation is observed in web administrative interfaces that use separate authentication methods for users of any other information system resources. This may include isolating the administrative interface on a different security domain and with additional access controls.To set the runtime status of the kernel.perf_event_paranoid kernel parameter, run the following command:
$ sudo sysctl -w kernel.perf_event_paranoid=2
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.perf_event_paranoid = 2
To set the runtime status of the kernel.dmesg_restrict kernel parameter, run the following command:
$ sudo sysctl -w kernel.dmesg_restrict=1
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.dmesg_restrict = 1
Applicable - Configurable Verify the operating system separates user functionality (including user interface services) from operating system management functionality. If it does not, this is a finding.The runtime status of the kernel.perf_event_paranoid kernel parameter can be queried + The runtime status of the kernel.dmesg_restrict kernel parameter can be queried by running the following command: -
$ sysctl kernel.perf_event_paranoid
-2. +
$ sysctl kernel.dmesg_restrict
+1. Is it the case that the correct value is not returned?
Configure the operating system to separate user functionality (including user interface services) from operating system management functionality.To set the runtime status of the kernel.perf_event_paranoid kernel parameter, run the following command:
$ sudo sysctl -w kernel.perf_event_paranoid=2
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.perf_event_paranoid = 2
To set the runtime status of the kernel.dmesg_restrict kernel parameter, run the following command:
$ sudo sysctl -w kernel.dmesg_restrict=1
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.dmesg_restrict = 1
low TBD - Assigned by DISA after STIG release The operating system must separate user functionality (including user interface services) from operating system management functionality.CCE-80915-2: Restrict Exposed Kernel Pointer Addresses AccessCCE-80953-3: Restrict usage of ptrace to descendant processes Operating system management functionality includes functions necessary for administration and requires privileged user access. Allowing non-privileged users to access operating system management functionality capabilities increases the risk that non-privileged users may obtain elevated privileges. @@ -23372,36 +23390,18 @@ The separation of user functionality from information system management functionality is either physical or logical and is accomplished by using different computers, different central processing units, different instances of the operating system, different network addresses, different TCP/UDP ports, virtualization techniques, combinations of these methods, or other methods, as appropriate. An example of this type of separation is observed in web administrative interfaces that use separate authentication methods for users of any other information system resources. This may include isolating the administrative interface on a different security domain and with additional access controls.To set the runtime status of the kernel.kptr_restrict kernel parameter, run the following command:
$ sudo sysctl -w kernel.kptr_restrict=
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.kptr_restrict = 
To set the runtime status of the kernel.yama.ptrace_scope kernel parameter, run the following command:
$ sudo sysctl -w kernel.yama.ptrace_scope=1
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.yama.ptrace_scope = 1
Applicable - Configurable Verify the operating system separates user functionality (including user interface services) from operating system management functionality. If it does not, this is a finding.The runtime status of the kernel.kptr_restrict kernel parameter can be queried + The runtime status of the kernel.yama.ptrace_scope kernel parameter can be queried by running the following command: -
$ sysctl kernel.kptr_restrict
-The output of the command should indicate either: -kernel.kptr_restrict = 1 -or: -kernel.kptr_restrict = 2 -The output of the command should not indicate: -kernel.kptr_restrict = 0 - -The preferable way how to assure the runtime compliance is to have -correct persistent configuration, and rebooting the system. - -The persistent kernel parameter configuration is performed by specifying the appropriate -assignment in any file located in the
/etc/sysctl.d
directory. -Verify that there is not any existing incorrect configuration by executing the following command: -
$ grep -r '^\s*kernel.kptr_restrict\s*=' /etc/sysctl.conf /etc/sysctl.d
-The command should not find any assignments other than: -kernel.kptr_restrict = 1 -or: -kernel.kptr_restrict = 2 - -Conflicting assignments are not allowed. Is it the case that the kernel.kptr_restrict is not set to 1 or 2 or is configured to be 0?
Configure the operating system to separate user functionality (including user interface services) from operating system management functionality.To set the runtime status of the kernel.kptr_restrict kernel parameter, run the following command:
$ sudo sysctl -w kernel.kptr_restrict=
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.kptr_restrict = 
To set the runtime status of the kernel.yama.ptrace_scope kernel parameter, run the following command:
$ sudo sysctl -w kernel.yama.ptrace_scope=1
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.yama.ptrace_scope = 1
medium TBD - Assigned by DISA after STIG release The operating system must separate user functionality (including user interface services) from operating system management functionality.CCE-80913-7: Restrict Access to Kernel Message BufferCCE-81054-9: Disallow kernel profiling by unprivileged users Operating system management functionality includes functions necessary for administration and requires privileged user access. Allowing non-privileged users to access operating system management functionality capabilities increases the risk that non-privileged users may obtain elevated privileges. @@ -23423,18 +23423,18 @@ The separation of user functionality from information system management functionality is either physical or logical and is accomplished by using different computers, different central processing units, different instances of the operating system, different network addresses, different TCP/UDP ports, virtualization techniques, combinations of these methods, or other methods, as appropriate. An example of this type of separation is observed in web administrative interfaces that use separate authentication methods for users of any other information system resources. This may include isolating the administrative interface on a different security domain and with additional access controls.To set the runtime status of the kernel.dmesg_restrict kernel parameter, run the following command:
$ sudo sysctl -w kernel.dmesg_restrict=1
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.dmesg_restrict = 1
To set the runtime status of the kernel.perf_event_paranoid kernel parameter, run the following command:
$ sudo sysctl -w kernel.perf_event_paranoid=2
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.perf_event_paranoid = 2
Applicable - Configurable Verify the operating system separates user functionality (including user interface services) from operating system management functionality. If it does not, this is a finding.The runtime status of the kernel.dmesg_restrict kernel parameter can be queried + The runtime status of the kernel.perf_event_paranoid kernel parameter can be queried by running the following command: -
$ sysctl kernel.dmesg_restrict
-1. +
$ sysctl kernel.perf_event_paranoid
+2. Is it the case that the correct value is not returned?
Configure the operating system to separate user functionality (including user interface services) from operating system management functionality.To set the runtime status of the kernel.dmesg_restrict kernel parameter, run the following command:
$ sudo sysctl -w kernel.dmesg_restrict=1
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.dmesg_restrict = 1
To set the runtime status of the kernel.perf_event_paranoid kernel parameter, run the following command:
$ sudo sysctl -w kernel.perf_event_paranoid=2
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.perf_event_paranoid = 2
low
CCI-001084SRG-OS-000134-GPOS-00068TBD - Assigned by DISA after STIG releaseThe operating system must isolate security functions from nonsecurity functions.CCE-80944-2: Enable page allocator poisoningAn isolation boundary provides access control and protects the integrity of the hardware, software, and firmware that perform security functions. + +Security functions are the hardware, software, and/or firmware of the information system responsible for enforcing the system security policy and supporting the isolation of code and data on which the protection is based. Operating systems implement code separation (i.e., separation of security functions from nonsecurity functions) in a number of ways, including through the provision of security kernels via processor rings or processor modes. For non-kernel code, security function isolation is often achieved through file system protections that serve to protect the code on disk and address space protections that protect executing code. + +Developers and implementers can increase the assurance in security functions by employing well-defined security policy models; structured, disciplined, and rigorous hardware and software development techniques; and sound system/security engineering principles. Implementation may include isolation of memory space and libraries. Operating systems restrict access to security functions through the use of access control mechanisms and by implementing least privilege capabilities.To enable poisoning of free pages, +add the argument page_poison=1 to the default +GRUB 2 command line for the Linux operating system. +To ensure that page_poison=1 is added as a kernel command line +argument to newly installed kernels, add page_poison=1 to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... page_poison=1 ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="page_poison=1"
Applicable - ConfigurableVerify the operating system isolates security functions from nonsecurity functions. If it does not, this is a finding.Inspect the form of default GRUB 2 command line for the Linux operating system +in /etc/default/grub. If it includes page_poison=1, +then the parameter will be configured for newly installed kernels. +First check if the GRUB recovery is enabled: +
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
+If this option is set to true, then check that a line is output by the following command: +
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*page_poison=1.*' /etc/default/grub
+If the recovery is disabled, check the line with +
$ sudo grep 'GRUB_CMDLINE_LINUX.*page_poison=1.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. +Run the following command: +
$ sudo grubby --info=ALL | grep args | grep -v 'page_poison=1'
+The command should not return any output. Is it the case that page allocator poisoning is not enabled?
Configure the operating system to isolate security functions from nonsecurity functions.To enable poisoning of free pages, +add the argument page_poison=1 to the default +GRUB 2 command line for the Linux operating system. +To ensure that page_poison=1 is added as a kernel command line +argument to newly installed kernels, add page_poison=1 to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... page_poison=1 ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="page_poison=1"
medium
CCI-001084 SRG-OS-000134-GPOS-00068TBD - Assigned by DISA after STIG release The operating system must isolate security functions from nonsecurity functions.CCE-80945-9: Enable SLUB/SLAB allocator poisoningCCE-82976-2: Install policycoreutils Package An isolation boundary provides access control and protects the integrity of the hardware, software, and firmware that perform security functions. Security functions are the hardware, software, and/or firmware of the information system responsible for enforcing the system security policy and supporting the isolation of code and data on which the protection is based. Operating systems implement code separation (i.e., separation of security functions from nonsecurity functions) in a number of ways, including through the provision of security kernels via processor rings or processor modes. For non-kernel code, security function isolation is often achieved through file system protections that serve to protect the code on disk and address space protections that protect executing code. Developers and implementers can increase the assurance in security functions by employing well-defined security policy models; structured, disciplined, and rigorous hardware and software development techniques; and sound system/security engineering principles. Implementation may include isolation of memory space and libraries. Operating systems restrict access to security functions through the use of access control mechanisms and by implementing least privilege capabilities.To enable poisoning of SLUB/SLAB objects, -add the argument slub_debug= to the default -GRUB 2 command line for the Linux operating system. -To ensure that slub_debug= is added as a kernel command line -argument to newly installed kernels, add slub_debug= to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... slub_debug= ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="slub_debug="
The policycoreutils package can be installed with the following command: +
+$ sudo yum install policycoreutils
Applicable - Configurable Verify the operating system isolates security functions from nonsecurity functions. If it does not, this is a finding.Inspect the form of default GRUB 2 command line for the Linux operating system -in /etc/default/grub. If it includes slub_debug=, -then the parameter will be configured for newly installed kernels. -First check if the GRUB recovery is enabled: -
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
-If this option is set to true, then check that a line is output by the following command: -
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*slub_debug=.*' /etc/default/grub
-If the recovery is disabled, check the line with -
$ sudo grep 'GRUB_CMDLINE_LINUX.*slub_debug=.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. -Run the following command: -
$ sudo grubby --info=ALL | grep args | grep -v 'slub_debug='
-The command should not return any output. Is it the case that SLUB/SLAB poisoning is not enabled?
Run the following command to determine if the policycoreutils package is installed:
$ rpm -q policycoreutils
Is it the case that the policycoreutils package is not installed?
Configure the operating system to isolate security functions from nonsecurity functions.To enable poisoning of SLUB/SLAB objects, -add the argument slub_debug= to the default -GRUB 2 command line for the Linux operating system. -To ensure that slub_debug= is added as a kernel command line -argument to newly installed kernels, add slub_debug= to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... slub_debug= ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="slub_debug="
mediumThe policycoreutils package can be installed with the following command: +
+$ sudo yum install policycoreutils
low TBD - Assigned by DISA after STIG release The operating system must isolate security functions from nonsecurity functions.CCE-82976-2: Install policycoreutils PackageAn isolation boundary provides access control and protects the integrity of the hardware, software, and firmware that perform security functions. - -Security functions are the hardware, software, and/or firmware of the information system responsible for enforcing the system security policy and supporting the isolation of code and data on which the protection is based. Operating systems implement code separation (i.e., separation of security functions from nonsecurity functions) in a number of ways, including through the provision of security kernels via processor rings or processor modes. For non-kernel code, security function isolation is often achieved through file system protections that serve to protect the code on disk and address space protections that protect executing code. - -Developers and implementers can increase the assurance in security functions by employing well-defined security policy models; structured, disciplined, and rigorous hardware and software development techniques; and sound system/security engineering principles. Implementation may include isolation of memory space and libraries. Operating systems restrict access to security functions through the use of access control mechanisms and by implementing least privilege capabilities.The policycoreutils package can be installed with the following command: -
-$ sudo yum install policycoreutils
Applicable - ConfigurableVerify the operating system isolates security functions from nonsecurity functions. If it does not, this is a finding.Run the following command to determine if the policycoreutils package is installed:
$ rpm -q policycoreutils
Is it the case that the policycoreutils package is not installed?
Configure the operating system to isolate security functions from nonsecurity functions.The policycoreutils package can be installed with the following command: -
-$ sudo yum install policycoreutils
low
CCI-001084SRG-OS-000134-GPOS-00068TBD - Assigned by DISA after STIG releaseThe operating system must isolate security functions from nonsecurity functions.CCE-80944-2: Enable page allocator poisoningCCE-80945-9: Enable SLUB/SLAB allocator poisoning An isolation boundary provides access control and protects the integrity of the hardware, software, and firmware that perform security functions. Security functions are the hardware, software, and/or firmware of the information system responsible for enforcing the system security policy and supporting the isolation of code and data on which the protection is based. Operating systems implement code separation (i.e., separation of security functions from nonsecurity functions) in a number of ways, including through the provision of security kernels via processor rings or processor modes. For non-kernel code, security function isolation is often achieved through file system protections that serve to protect the code on disk and address space protections that protect executing code. Developers and implementers can increase the assurance in security functions by employing well-defined security policy models; structured, disciplined, and rigorous hardware and software development techniques; and sound system/security engineering principles. Implementation may include isolation of memory space and libraries. Operating systems restrict access to security functions through the use of access control mechanisms and by implementing least privilege capabilities.To enable poisoning of free pages, -add the argument page_poison=1 to the default + To enable poisoning of SLUB/SLAB objects, +add the argument slub_debug= to the default GRUB 2 command line for the Linux operating system. -To ensure that page_poison=1 is added as a kernel command line -argument to newly installed kernels, add page_poison=1 to the +To ensure that slub_debug= is added as a kernel command line +argument to newly installed kernels, add slub_debug= to the default Grub2 command line for Linux operating systems. Modify the line within /etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... page_poison=1 ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="page_poison=1"
Applicable - Configurable Verify the operating system isolates security functions from nonsecurity functions. If it does not, this is a finding. Inspect the form of default GRUB 2 command line for the Linux operating system -in /etc/default/grub. If it includes page_poison=1, +in /etc/default/grub. If it includes slub_debug=, then the parameter will be configured for newly installed kernels. First check if the GRUB recovery is enabled:
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
If this option is set to true, then check that a line is output by the following command: -
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*page_poison=1.*' /etc/default/grub
+
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*slub_debug=.*' /etc/default/grub
If the recovery is disabled, check the line with -
$ sudo grep 'GRUB_CMDLINE_LINUX.*page_poison=1.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. +
$ sudo grep 'GRUB_CMDLINE_LINUX.*slub_debug=.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. Run the following command: -
$ sudo grubby --info=ALL | grep args | grep -v 'page_poison=1'
-The command should not return any output. Is it the case that page allocator poisoning is not enabled?
Configure the operating system to isolate security functions from nonsecurity functions.To enable poisoning of free pages, -add the argument page_poison=1 to the default + To enable poisoning of SLUB/SLAB objects, +add the argument slub_debug= to the default GRUB 2 command line for the Linux operating system. -To ensure that page_poison=1 is added as a kernel command line -argument to newly installed kernels, add page_poison=1 to the +To ensure that slub_debug= is added as a kernel command line +argument to newly installed kernels, add slub_debug= to the default Grub2 command line for Linux operating systems. Modify the line within /etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... page_poison=1 ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="page_poison=1"
medium TBD - Assigned by DISA after STIG release Operating systems must prevent unauthorized and unintended information transfer via shared system resources.CCE-81054-9: Disallow kernel profiling by unprivileged usersCCE-80913-7: Restrict Access to Kernel Message Buffer Preventing unauthorized information transfers mitigates the risk of information, including encrypted representations of information, produced by the actions of prior users/roles (or the actions of processes acting on behalf of prior users/roles) from being available to any current users/roles (or current processes) that obtain access to shared system resources (e.g., registers, main memory, hard disks) after those resources have been released back to information systems. The control of information in shared resources is also commonly referred to as object reuse and residual information protection. This requirement generally applies to the design of an information technology product, but it can also apply to the configuration of particular information system components that are, or use, such products. This can be verified by acceptance/validation processes in DoD or other government agencies. There may be shared resources with configurable protections (e.g., files in storage) that may be assessed on specific information system components.To set the runtime status of the kernel.perf_event_paranoid kernel parameter, run the following command:
$ sudo sysctl -w kernel.perf_event_paranoid=2
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.perf_event_paranoid = 2
To set the runtime status of the kernel.dmesg_restrict kernel parameter, run the following command:
$ sudo sysctl -w kernel.dmesg_restrict=1
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.dmesg_restrict = 1
Applicable - Configurable Verify operating systems prevents unauthorized and unintended information transfer via shared system resources. If it does not, this is a finding.The runtime status of the kernel.perf_event_paranoid kernel parameter can be queried + The runtime status of the kernel.dmesg_restrict kernel parameter can be queried by running the following command: -
$ sysctl kernel.perf_event_paranoid
-2. +
$ sysctl kernel.dmesg_restrict
+1. Is it the case that the correct value is not returned?
Configure operating systems to prevent unauthorized and unintended information transfer via shared system resources.To set the runtime status of the kernel.perf_event_paranoid kernel parameter, run the following command:
$ sudo sysctl -w kernel.perf_event_paranoid=2
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.perf_event_paranoid = 2
To set the runtime status of the kernel.dmesg_restrict kernel parameter, run the following command:
$ sudo sysctl -w kernel.dmesg_restrict=1
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.dmesg_restrict = 1
low TBD - Assigned by DISA after STIG release Operating systems must prevent unauthorized and unintended information transfer via shared system resources.CCE-80913-7: Restrict Access to Kernel Message BufferCCE-81054-9: Disallow kernel profiling by unprivileged users Preventing unauthorized information transfers mitigates the risk of information, including encrypted representations of information, produced by the actions of prior users/roles (or the actions of processes acting on behalf of prior users/roles) from being available to any current users/roles (or current processes) that obtain access to shared system resources (e.g., registers, main memory, hard disks) after those resources have been released back to information systems. The control of information in shared resources is also commonly referred to as object reuse and residual information protection. This requirement generally applies to the design of an information technology product, but it can also apply to the configuration of particular information system components that are, or use, such products. This can be verified by acceptance/validation processes in DoD or other government agencies. There may be shared resources with configurable protections (e.g., files in storage) that may be assessed on specific information system components.To set the runtime status of the kernel.dmesg_restrict kernel parameter, run the following command:
$ sudo sysctl -w kernel.dmesg_restrict=1
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.dmesg_restrict = 1
To set the runtime status of the kernel.perf_event_paranoid kernel parameter, run the following command:
$ sudo sysctl -w kernel.perf_event_paranoid=2
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.perf_event_paranoid = 2
Applicable - Configurable Verify operating systems prevents unauthorized and unintended information transfer via shared system resources. If it does not, this is a finding.The runtime status of the kernel.dmesg_restrict kernel parameter can be queried + The runtime status of the kernel.perf_event_paranoid kernel parameter can be queried by running the following command: -
$ sysctl kernel.dmesg_restrict
-1. +
$ sysctl kernel.perf_event_paranoid
+2. Is it the case that the correct value is not returned?
Configure operating systems to prevent unauthorized and unintended information transfer via shared system resources.To set the runtime status of the kernel.dmesg_restrict kernel parameter, run the following command:
$ sudo sysctl -w kernel.dmesg_restrict=1
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.dmesg_restrict = 1
To set the runtime status of the kernel.perf_event_paranoid kernel parameter, run the following command:
$ sudo sysctl -w kernel.perf_event_paranoid=2
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.perf_event_paranoid = 2
low TBD - Assigned by DISA after STIG release The operating system must reveal error messages only to authorized users.CCE-88227-4: System Audit Logs Must Be Group Owned By RootCCE-88225-8: System Audit Directories Must Be Group Owned By Root Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the operating system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. The structure and content of error messages must be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements.All audit logs must be group owned by root user. The path for audit log can -be configured via log_file parameter in
/etc/audit/auditd.conf
-or, by default, the path for audit log is
/var/log/audit/
. +
All audit directories must be group owned by root user. 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/*
+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.
Applicable - Configurable Verify the operating system reveals error messages only to authorized users. If it does not, this is a finding.Check group owners of the system audit logs. + +Determine the audit log group by running the following command: -First, determine where the audit log file is located. +$ sudo grep -P '^[ ]*log_group[ ]+=.*$' /etc/audit/auditd.conf -
$ sudo grep -iw ^log_file /etc/audit/auditd.conf
-
log_file = /var/log/audit/audit.log
+Then, check that all directories within the /var/log/audit directory are owned by the group specified as log_group or by root if the log_group is not specified. +Run the following command: -The log_file option specifies the audit log file path. -If the log_file option isn't defined, check all files within /var/log/audit directory. +$ sudo find /var/log/audit -type d -printf "%p %g\n" +All listed directories must be owned by the log_group or by root if the log_group is not specified. Is it the case that there is a directory owned by different group?
Configure the operating system to reveal error messages only to authorized users.All audit directories must be group owned by root user. By default, the path for audit log is
/var/log/audit/
. -Then, determine the audit log group by running the following command: -
$ sudo grep -P '^[ ]*log_group[ ]+=.*$' /etc/audit/auditd.conf
+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 directories to this specific group.
medium
CCI-001314SRG-OS-000206-GPOS-00084TBD - Assigned by DISA after STIG releaseThe operating system must reveal error messages only to authorized users.CCE-83659-3: Verify Group Who Owns /var/log DirectoryOnly authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the operating system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. -The audit log file must be owned by the log_group or by root if the log_group is not specified. Is it the case that audit log files are owned by incorrect group? To properly set the group owner of /var/log, run the command:
$ sudo chgrp root /var/log
Applicable - ConfigurableVerify the operating system reveals error messages only to authorized users. If it does not, this is a finding.To check the group ownership of /var/log, +run the command: +
$ ls -lL /var/log
+If properly configured, the output should indicate the following group-owner: +root Is it the case that /var/log does not have a group owner of root?
Configure the operating system to reveal error messages only to authorized users.All audit logs must be group owned by root user. The path for audit log can -be configured via log_file parameter in
/etc/audit/auditd.conf
-or, 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.
To properly set the group owner of /var/log, run the command:
$ sudo chgrp root /var/log
medium TBD - Assigned by DISA after STIG release The operating system must reveal error messages only to authorized users.CCE-83662-7: Verify User Who Owns /var/log/messages FileCCE-83661-9: Verify User Who Owns /var/log Directory Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the operating system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. The structure and content of error messages must be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements. To properly set the owner of /var/log/messages, run the command:
$ sudo chown root /var/log/messages 
To properly set the owner of /var/log, run the command:
$ sudo chown root /var/log 
Applicable - Configurable Verify the operating system reveals error messages only to authorized users. If it does not, this is a finding.To check the ownership of /var/log/messages, + To check the ownership of /var/log, run the command: -
$ ls -lL /var/log/messages
+
$ ls -lL /var/log
If properly configured, the output should indicate the following owner: -root Is it the case that /var/log/messages does not have an owner of root?
Configure the operating system to reveal error messages only to authorized users. To properly set the owner of /var/log/messages, run the command:
$ sudo chown root /var/log/messages 
To properly set the owner of /var/log, run the command:
$ sudo chown root /var/log 
medium TBD - Assigned by DISA after STIG release The operating system must reveal error messages only to authorized users.CCE-88228-2: System Audit Logs Must Be Owned By RootCCE-83663-5: Verify Permissions on /var/log Directory Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the operating system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. The structure and content of error messages must be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements.All audit logs must be owned by root user. The path for audit log can be -configured via log_file parameter in
/etc/audit/auditd.conf
-or 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/* 
+To properly set the permissions of /var/log, run the command: +
$ sudo chmod 0755 /var/log
Applicable - Configurable Verify the operating system reveals error messages only to authorized users. If it does not, this is a finding.Verify the audit logs are owned by "root". First, determine where the audit logs are stored with the following command: -
$ sudo grep -iw log_file /etc/audit/auditd.conf
-
log_file = /var/log/audit/audit.log
-Using the location of the audit log file, determine if the audit log is owned by "root" using the following command: -
$ sudo stat -c "%n %U" /var/log/audit/audit.log
-Audit logs must be owned by user root. -If the log_file isn't defined in /etc/audit/auditd.conf, check all files in /var/log/audit/ directory instead. Is it the case that the audit log is not owned by root?
To check the permissions of /var/log, +run the command: +
$ ls -l /var/log
+If properly configured, the output should indicate the following permissions: +drwxr-xr-x Is it the case that /var/log does not have unix mode drwxr-xr-x?
Configure the operating system to reveal error messages only to authorized users.All audit logs must be owned by root user. The path for audit log can be -configured via log_file parameter in
/etc/audit/auditd.conf
-or 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/* 
+To properly set the permissions of /var/log, run the command: +
$ sudo chmod 0755 /var/log
medium TBD - Assigned by DISA after STIG release The operating system must reveal error messages only to authorized users.CCE-80819-6: System Audit Logs Must Have Mode 0640 or Less PermissiveCCE-83665-0: Verify Permissions on /var/log/messages File Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the operating system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. The structure and content of error messages must be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements. -Determine where the audit logs are stored with the following command: -
$ sudo grep -iw log_file /etc/audit/auditd.conf
-log_file = /var/log/audit/audit.log
-Configure the audit log to be protected from unauthorized read access by setting the correct -permissive mode with the following command: -
$ sudo chmod 0600 audit_log_file
-By default, audit_log_file is "/var/log/audit/audit.log".
Applicable - Configurable Verify the operating system reveals error messages only to authorized users. If it does not, this is a finding.Run the following command to check the mode of the system audit logs: -
$ sudo grep -iw log_file /etc/audit/auditd.conf
-
log_file=/var/log/audit/audit.log
-
$ sudo stat -c "%n %a" /var/log/audit/*
-
$ sudo ls -l /var/log/audit
-Audit logs must be mode 0640 or less permissive. Is it the case that any permissions are more permissive?
To check the permissions of /var/log/messages, +run the command: +
$ ls -l /var/log/messages
+If properly configured, the output should indicate the following permissions: +-rw-r----- Is it the case that /var/log/messages does not have unix mode -rw-r-----?
Configure the operating system to reveal error messages only to authorized users. -Determine where the audit logs are stored with the following command: -
$ sudo grep -iw log_file /etc/audit/auditd.conf
-log_file = /var/log/audit/audit.log
-Configure the audit log to be protected from unauthorized read access by setting the correct -permissive mode with the following command: -
$ sudo chmod 0600 audit_log_file
-By default, audit_log_file is "/var/log/audit/audit.log".
medium
CCI-001314SRG-OS-000206-GPOS-00084TBD - Assigned by DISA after STIG releaseThe operating system must reveal error messages only to authorized users.CCE-83659-3: Verify Group Who Owns /var/log DirectoryOnly authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the operating system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. - -The structure and content of error messages must be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements. To properly set the group owner of /var/log, run the command:
$ sudo chgrp root /var/log
Applicable - ConfigurableVerify the operating system reveals error messages only to authorized users. If it does not, this is a finding.To check the group ownership of /var/log, -run the command: -
$ ls -lL /var/log
-If properly configured, the output should indicate the following group-owner: -root Is it the case that /var/log does not have a group owner of root?
Configure the operating system to reveal error messages only to authorized users. To properly set the group owner of /var/log, run the command:
$ sudo chgrp root /var/log
medium
CCI-001314 SRG-OS-000206-GPOS-00084TBD - Assigned by DISA after STIG release The operating system must reveal error messages only to authorized users.CCE-83661-9: Verify User Who Owns /var/log DirectoryCCE-88228-2: System Audit Logs Must Be Owned By Root Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the operating system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. The structure and content of error messages must be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements. To properly set the owner of /var/log, run the command:
$ sudo chown root /var/log 
All audit logs must be owned by root user. The path for audit log can be +configured via log_file parameter in
/etc/audit/auditd.conf
+or 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/* 
Applicable - Configurable Verify the operating system reveals error messages only to authorized users. If it does not, this is a finding.To check the ownership of /var/log, -run the command: -
$ ls -lL /var/log
-If properly configured, the output should indicate the following owner: -root Is it the case that /var/log does not have an owner of root?
Verify the audit logs are owned by "root". First, determine where the audit logs are stored with the following command: +
$ sudo grep -iw log_file /etc/audit/auditd.conf
+
log_file = /var/log/audit/audit.log
+Using the location of the audit log file, determine if the audit log is owned by "root" using the following command: +
$ sudo stat -c "%n %U" /var/log/audit/audit.log
+Audit logs must be owned by user root. +If the log_file isn't defined in /etc/audit/auditd.conf, check all files in /var/log/audit/ directory instead. Is it the case that the audit log is not owned by root?
Configure the operating system to reveal error messages only to authorized users. To properly set the owner of /var/log, run the command:
$ sudo chown root /var/log 
All audit logs must be owned by root user. The path for audit log can be +configured via log_file parameter in
/etc/audit/auditd.conf
+or 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/* 
medium TBD - Assigned by DISA after STIG release The operating system must reveal error messages only to authorized users.CCE-83663-5: Verify Permissions on /var/log DirectoryCCE-88227-4: System Audit Logs Must Be Group Owned By Root Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the operating system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. The structure and content of error messages must be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements. -To properly set the permissions of /var/log, run the command: -
$ sudo chmod 0755 /var/log
All audit logs must be group owned by root user. The path for audit log can +be configured via log_file parameter in
/etc/audit/auditd.conf
+or, 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.
Applicable - Configurable Verify the operating system reveals error messages only to authorized users. If it does not, this is a finding.To check the permissions of /var/log, -run the command: -
$ ls -l /var/log
-If properly configured, the output should indicate the following permissions: -drwxr-xr-x Is it the case that /var/log does not have unix mode drwxr-xr-x?
Check group owners of the system audit logs. + +First, determine where the audit log file is located. + +
$ sudo grep -iw ^log_file /etc/audit/auditd.conf
+
log_file = /var/log/audit/audit.log
+ +The log_file option specifies the audit log file path. +If the log_file option isn't defined, check all files within /var/log/audit directory. + + +Then, determine the audit log group by running the following command: +
$ sudo grep -P '^[ ]*log_group[ ]+=.*$' /etc/audit/auditd.conf
+ + +Then, check that the audit log file is owned by the correct group. +Run the following command to display the owner of the audit log file: + +
$ sudo stat -c "%n %G" log_file
+ + +The audit log file must be owned by the log_group or by root if the log_group is not specified. Is it the case that audit log files are owned by incorrect group?
Configure the operating system to reveal error messages only to authorized users. -To properly set the permissions of /var/log, run the command: -
$ sudo chmod 0755 /var/log
All audit logs must be group owned by root user. The path for audit log can +be configured via log_file parameter in
/etc/audit/auditd.conf
+or, 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.
medium TBD - Assigned by DISA after STIG release The operating system must reveal error messages only to authorized users.CCE-88225-8: System Audit Directories Must Be Group Owned By RootCCE-80819-6: System Audit Logs Must Have Mode 0640 or Less Permissive Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the operating system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. The structure and content of error messages must be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements.All audit directories must be group owned by root user. 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 directories to this specific group.
+Determine where the audit logs are stored with the following command: +
$ sudo grep -iw log_file /etc/audit/auditd.conf
+log_file = /var/log/audit/audit.log
+Configure the audit log to be protected from unauthorized read access by setting the correct +permissive mode with the following command: +
$ sudo chmod 0600 audit_log_file
+By default, audit_log_file is "/var/log/audit/audit.log".
Applicable - Configurable Verify the operating system reveals error messages only to authorized users. If it does not, this is a finding. -Determine the audit log group by running the following command: - -$ sudo grep -P '^[ ]*log_group[ ]+=.*$' /etc/audit/auditd.conf - -Then, check that all directories within the /var/log/audit directory are owned by the group specified as log_group or by root if the log_group is not specified. -Run the following command: - -$ sudo find /var/log/audit -type d -printf "%p %g\n" - -All listed directories must be owned by the log_group or by root if the log_group is not specified. Is it the case that there is a directory owned by different group?Run the following command to check the mode of the system audit logs: +
$ sudo grep -iw log_file /etc/audit/auditd.conf
+
log_file=/var/log/audit/audit.log
+
$ sudo stat -c "%n %a" /var/log/audit/*
+
$ sudo ls -l /var/log/audit
+Audit logs must be mode 0640 or less permissive. Is it the case that any permissions are more permissive?
Configure the operating system to reveal error messages only to authorized users.All audit directories must be group owned by root user. 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 directories to this specific group.
+Determine where the audit logs are stored with the following command: +
$ sudo grep -iw log_file /etc/audit/auditd.conf
+log_file = /var/log/audit/audit.log
+Configure the audit log to be protected from unauthorized read access by setting the correct +permissive mode with the following command: +
$ sudo chmod 0600 audit_log_file
+By default, audit_log_file is "/var/log/audit/audit.log".
medium TBD - Assigned by DISA after STIG release The operating system must reveal error messages only to authorized users.CCE-83665-0: Verify Permissions on /var/log/messages FileCCE-83662-7: Verify User Who Owns /var/log/messages File Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the operating system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives. The structure and content of error messages must be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements. -To properly set the permissions of /var/log/messages, run the command: -
$ sudo chmod 0640 /var/log/messages
To properly set the owner of /var/log/messages, run the command:
$ sudo chown root /var/log/messages 
Applicable - Configurable Verify the operating system reveals error messages only to authorized users. If it does not, this is a finding.To check the permissions of /var/log/messages, + To check the ownership of /var/log/messages, run the command: -
$ ls -l /var/log/messages
-If properly configured, the output should indicate the following permissions: --rw-r----- Is it the case that /var/log/messages does not have unix mode -rw-r-----?
Configure the operating system to reveal error messages only to authorized users. -To properly set the permissions of /var/log/messages, run the command: -
$ sudo chmod 0640 /var/log/messages
To properly set the owner of /var/log/messages, run the command:
$ sudo chown root /var/log/messages 
medium TBD - Assigned by DISA after STIG release Any publically accessible connection to the operating system must display the Standard Mandatory DoD Notice and Consent Banner before granting access to the system.CCE-80763-6: Modify the System Login BannerCCE-80905-3: Enable SSH Warning Banner Display of a standardized and approved use notification before granting access to the publicly accessible operating system ensures privacy and security notification verbiage used is consistent with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance. @@ -24658,38 +24658,15 @@ Use the following verbiage for operating systems that have severe limitations on the number of characters that can be displayed in the banner: "I've readconsent to terms in IS user agreem't." -To configure the system login banner edit /etc/issue. Replace the -default text with a message compliant with the local site policy or a legal -disclaimer. + To enable the warning banner and ensure it is consistent +across the system, add or correct the following line in -The DoD required text is either: -

-You are accessing a U.S. Government (USG) Information System (IS) that -is provided for USG-authorized use only. By using this IS (which includes -any device attached to this IS), you consent to the following conditions: -
-The USG routinely intercepts and monitors communications on this IS -for purposes including, but not limited to, penetration testing, COMSEC -monitoring, network operations and defense, personnel misconduct (PM), law -enforcement (LE), and counterintelligence (CI) investigations. -
-At any time, the USG may inspect and seize data stored on this IS. -
-Communications using, or data stored on, this IS are not private, -are subject to routine monitoring, interception, and search, and may be -disclosed or used for any USG-authorized purpose. -
-This IS includes security measures (e.g., authentication and access -controls) to protect USG interests -- not for your personal benefit or -privacy. -
-Notwithstanding the above, using this IS does not constitute consent -to PM, LE or CI investigative searching or monitoring of the content of -privileged communications, or work product, related to personal -representation or services by attorneys, psychotherapists, or clergy, and -their assistants. Such communications and work product are private and -confidential. See User Agreement for details.
-

-OR: -

-I've read & consent to terms in IS user agreem't.
Applicable - Configurable Verify any publically accessible connection to the operating system displays the Standard Mandatory DoD Notice and Consent Banner before granting access to the system. @@ -24714,9 +24691,12 @@ "I've read & consent to terms in IS user agreem't." If it does not, this is a finding.To check if the system login banner is compliant, -run the following command: -
$ cat /etc/issue
Is it the case that it does not display the required banner?
To determine how the SSH daemon's Banner option is set, run the following command: + +
$ sudo grep -i Banner /etc/ssh/sshd_config
+ +If a line indicating /etc/issue is returned, then the required value is set. + Is it the case that the required value is not set?
Configure any publically accessible connection to the operating system to display the Standard Mandatory DoD Notice and Consent Banner before granting access to the system. The banner must be formatted in accordance with applicable DoD policy. Use the following verbiage for operating systems that can accommodate banners of 1300 characters: @@ -24738,38 +24718,15 @@ Use the following verbiage for operating systems that have severe limitations on the number of characters that can be displayed in the banner: "I've read & consent to terms in IS user agreem't." -To configure the system login banner edit /etc/issue. Replace the -default text with a message compliant with the local site policy or a legal -disclaimer. + To enable the warning banner and ensure it is consistent +across the system, add or correct the following line in -The DoD required text is either: -

-You are accessing a U.S. Government (USG) Information System (IS) that -is provided for USG-authorized use only. By using this IS (which includes -any device attached to this IS), you consent to the following conditions: -
-The USG routinely intercepts and monitors communications on this IS -for purposes including, but not limited to, penetration testing, COMSEC -monitoring, network operations and defense, personnel misconduct (PM), law -enforcement (LE), and counterintelligence (CI) investigations. -
-At any time, the USG may inspect and seize data stored on this IS. -
-Communications using, or data stored on, this IS are not private, -are subject to routine monitoring, interception, and search, and may be -disclosed or used for any USG-authorized purpose. -
-This IS includes security measures (e.g., authentication and access -controls) to protect USG interests -- not for your personal benefit or -privacy. -
-Notwithstanding the above, using this IS does not constitute consent -to PM, LE or CI investigative searching or monitoring of the content of -privileged communications, or work product, related to personal -representation or services by attorneys, psychotherapists, or clergy, and -their assistants. Such communications and work product are private and -confidential. See User Agreement for details.
-

-OR: -

-I've read & consent to terms in IS user agreem't.
medium TBD - Assigned by DISA after STIG release Any publically accessible connection to the operating system must display the Standard Mandatory DoD Notice and Consent Banner before granting access to the system.CCE-80905-3: Enable SSH Warning BannerCCE-80763-6: Modify the System Login Banner Display of a standardized and approved use notification before granting access to the publicly accessible operating system ensures privacy and security notification verbiage used is consistent with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance. @@ -24807,15 +24764,38 @@ Use the following verbiage for operating systems that have severe limitations on the number of characters that can be displayed in the banner: "I've readconsent to terms in IS user agreem't."To enable the warning banner and ensure it is consistent -across the system, add or correct the following line in - + +To configure the system login banner edit /etc/issue. Replace the +default text with a message compliant with the local site policy or a legal +disclaimer. -/etc/ssh/sshd_config: -
Banner /etc/issue
-Another section contains information on how to create an -appropriate system-wide warning banner.
Applicable - Configurable Verify any publically accessible connection to the operating system displays the Standard Mandatory DoD Notice and Consent Banner before granting access to the system. @@ -24840,12 +24820,9 @@ "I've read & consent to terms in IS user agreem't." If it does not, this is a finding.To determine how the SSH daemon's Banner option is set, run the following command: - -
$ sudo grep -i Banner /etc/ssh/sshd_config
- -If a line indicating /etc/issue is returned, then the required value is set. - Is it the case that the required value is not set?
To check if the system login banner is compliant, +run the following command: +
$ cat /etc/issue
Is it the case that it does not display the required banner?
Configure any publically accessible connection to the operating system to display the Standard Mandatory DoD Notice and Consent Banner before granting access to the system. The banner must be formatted in accordance with applicable DoD policy. Use the following verbiage for operating systems that can accommodate banners of 1300 characters: @@ -24867,15 +24844,38 @@ Use the following verbiage for operating systems that have severe limitations on the number of characters that can be displayed in the banner: "I've read & consent to terms in IS user agreem't."To enable the warning banner and ensure it is consistent -across the system, add or correct the following line in - + +To configure the system login banner edit /etc/issue. Replace the +default text with a message compliant with the local site policy or a legal +disclaimer. -/etc/ssh/sshd_config: -
Banner /etc/issue
-Another section contains information on how to create an -appropriate system-wide warning banner.
medium TBD - Assigned by DISA after STIG release The operating system must audit all account modifications.CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoersCCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/ Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to modify an existing account. Auditing account modification actions provides logging that can be used for forensic purposes. @@ -25144,29 +25144,29 @@ augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
Applicable - Configurable Verify the operating system automatically audits account modification. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: -$ sudo auditctl -l | grep /etc/sudoers +$ sudo auditctl -l | grep/etc/sudoers.d --w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to automatically audit account modification. At a minimum, the audit system should collect administrator actions for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
medium TBD - Assigned by DISA after STIG release The operating system must audit all account modifications.CCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswdCCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadow Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to modify an existing account. Auditing account modification actions provides logging that can be used for forensic purposes. @@ -25190,21 +25190,23 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system automatically audits account modification. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: -$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' +$ sudo auditctl -l | grep -E '(/etc/gshadow)' --w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to automatically audit account modification. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the @@ -25212,14 +25214,14 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must audit all account modifications.CCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadowCCE-80761-0: Record Events that Modify User/Group Information - /etc/passwd Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to modify an existing account. Auditing account modification actions provides logging that can be used for forensic purposes. @@ -25296,23 +25298,21 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system automatically audits account modification. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: - -$ sudo auditctl -l | grep -E '(/etc/gshadow)' + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: --w /etc/gshadow -p wa -k identity +$ sudo auditctl -l | grep -E '(/etc/passwd)' -If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? Configure the operating system to automatically audit account modification. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the @@ -25320,14 +25320,14 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must audit all account modifications.CCE-80761-0: Record Events that Modify User/Group Information - /etc/passwdCCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswd Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to modify an existing account. Auditing account modification actions provides logging that can be used for forensic purposes. @@ -25351,21 +25351,21 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system automatically audits account modification. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: -$ sudo auditctl -l | grep -E '(/etc/passwd)' +$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' --w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to automatically audit account modification. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the @@ -25373,14 +25373,59 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
medium
CCI-001403SRG-OS-000239-GPOS-00089TBD - Assigned by DISA after STIG releaseThe operating system must audit all account modifications.CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoersOnce an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to modify an existing account. Auditing account modification actions provides logging that can be used for forensic purposes. + +To address access requirements, many operating systems can be integrated with enterprise-level authentication/access/auditing mechanisms that meet or exceed access control policy requirements. At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-w /etc/sudoers -p wa -k actions
Applicable - ConfigurableVerify the operating system automatically audits account modification. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + +$ sudo auditctl -l | grep /etc/sudoers + +-w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to automatically audit account modification.At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-w /etc/sudoers -p wa -k actions
medium
CCI-001403SRG-OS-000239-GPOS-00089TBD - Assigned by DISA after STIG releaseThe operating system must audit all account modifications.CCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to modify an existing account. Auditing account modification actions provides logging that can be used for forensic purposes. - -To address access requirements, many operating systems can be integrated with enterprise-level authentication/access/auditing mechanisms that meet or exceed access control policy requirements. At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
Applicable - ConfigurableVerify the operating system automatically audits account modification. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: - -$ sudo auditctl -l | grep/etc/sudoers.d - --w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to automatically audit account modification.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
medium
TBD - Assigned by DISA after STIG release The operating system must audit all account disabling actions.CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoersCCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/ When operating system accounts are disabled, user accessibility is affected. Accounts are utilized for identifying individual users or for identifying the operating system processes themselves. In order to detect and respond to events affecting user accessibility and system processing, operating systems must audit account disabling actions and, as required, notify the appropriate individuals so they can investigate the event. Such a capability greatly reduces the risk that operating system accessibility will be negatively affected for extended periods of time and provides logging that can be used for forensic purposes. @@ -25506,29 +25506,29 @@ augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
Applicable - Configurable Verify the operating system automatically audits account disabling actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: -$ sudo auditctl -l | grep /etc/sudoers +$ sudo auditctl -l | grep/etc/sudoers.d --w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to automatically audit account disabling actions. At a minimum, the audit system should collect administrator actions for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
medium TBD - Assigned by DISA after STIG release The operating system must audit all account disabling actions.CCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswdCCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadow When operating system accounts are disabled, user accessibility is affected. Accounts are utilized for identifying individual users or for identifying the operating system processes themselves. In order to detect and respond to events affecting user accessibility and system processing, operating systems must audit account disabling actions and, as required, notify the appropriate individuals so they can investigate the event. Such a capability greatly reduces the risk that operating system accessibility will be negatively affected for extended periods of time and provides logging that can be used for forensic purposes. @@ -25552,21 +25552,23 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system automatically audits account disabling actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: -$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' +$ sudo auditctl -l | grep -E '(/etc/gshadow)' --w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to automatically audit account disabling actions. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the @@ -25574,14 +25576,14 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must audit all account disabling actions.CCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadowCCE-80761-0: Record Events that Modify User/Group Information - /etc/passwd When operating system accounts are disabled, user accessibility is affected. Accounts are utilized for identifying individual users or for identifying the operating system processes themselves. In order to detect and respond to events affecting user accessibility and system processing, operating systems must audit account disabling actions and, as required, notify the appropriate individuals so they can investigate the event. Such a capability greatly reduces the risk that operating system accessibility will be negatively affected for extended periods of time and provides logging that can be used for forensic purposes. @@ -25658,23 +25660,21 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system automatically audits account disabling actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: - -$ sudo auditctl -l | grep -E '(/etc/gshadow)' + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: --w /etc/gshadow -p wa -k identity +$ sudo auditctl -l | grep -E '(/etc/passwd)' -If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? Configure the operating system to automatically audit account disabling actions. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the @@ -25682,14 +25682,14 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must audit all account disabling actions.CCE-80761-0: Record Events that Modify User/Group Information - /etc/passwdCCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswd When operating system accounts are disabled, user accessibility is affected. Accounts are utilized for identifying individual users or for identifying the operating system processes themselves. In order to detect and respond to events affecting user accessibility and system processing, operating systems must audit account disabling actions and, as required, notify the appropriate individuals so they can investigate the event. Such a capability greatly reduces the risk that operating system accessibility will be negatively affected for extended periods of time and provides logging that can be used for forensic purposes. @@ -25713,21 +25713,21 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system automatically audits account disabling actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: -$ sudo auditctl -l | grep -E '(/etc/passwd)' +$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' --w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to automatically audit account disabling actions. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the @@ -25735,14 +25735,59 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
medium
CCI-001404SRG-OS-000240-GPOS-00090TBD - Assigned by DISA after STIG releaseThe operating system must audit all account disabling actions.CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoersWhen operating system accounts are disabled, user accessibility is affected. Accounts are utilized for identifying individual users or for identifying the operating system processes themselves. In order to detect and respond to events affecting user accessibility and system processing, operating systems must audit account disabling actions and, as required, notify the appropriate individuals so they can investigate the event. Such a capability greatly reduces the risk that operating system accessibility will be negatively affected for extended periods of time and provides logging that can be used for forensic purposes. + +To address access requirements, many operating systems can be integrated with enterprise-level authentication/access/auditing mechanisms that meet or exceed access control policy requirements.At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-w /etc/sudoers -p wa -k actions
Applicable - ConfigurableVerify the operating system automatically audits account disabling actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + +$ sudo auditctl -l | grep /etc/sudoers + +-w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to automatically audit account disabling actions.At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-w /etc/sudoers -p wa -k actions
medium
CCI-001404SRG-OS-000240-GPOS-00090TBD - Assigned by DISA after STIG releaseThe operating system must audit all account disabling actions.CCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/When operating system accounts are disabled, user accessibility is affected. Accounts are utilized for identifying individual users or for identifying the operating system processes themselves. In order to detect and respond to events affecting user accessibility and system processing, operating systems must audit account disabling actions and, as required, notify the appropriate individuals so they can investigate the event. Such a capability greatly reduces the risk that operating system accessibility will be negatively affected for extended periods of time and provides logging that can be used for forensic purposes. - -To address access requirements, many operating systems can be integrated with enterprise-level authentication/access/auditing mechanisms that meet or exceed access control policy requirements.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
Applicable - ConfigurableVerify the operating system automatically audits account disabling actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: - -$ sudo auditctl -l | grep/etc/sudoers.d - --w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to automatically audit account disabling actions.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
medium
TBD - Assigned by DISA after STIG release The operating system must audit all account removal actions.CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoersCCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/ When operating system accounts are removed, user accessibility is affected. Accounts are utilized for identifying individual users or for identifying the operating system processes themselves. In order to detect and respond to events affecting user accessibility and system processing, operating systems must audit account removal actions and, as required, notify the appropriate individuals so they can investigate the event. Such a capability greatly reduces the risk that operating system accessibility will be negatively affected for extended periods of time and provides logging that can be used for forensic purposes. @@ -25868,29 +25868,29 @@ augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
Applicable - Configurable Verify the operating system automatically audits account removal actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: -$ sudo auditctl -l | grep /etc/sudoers +$ sudo auditctl -l | grep/etc/sudoers.d --w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to automatically audit account removal actions. At a minimum, the audit system should collect administrator actions for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
medium TBD - Assigned by DISA after STIG release The operating system must audit all account removal actions.CCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswdCCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadow When operating system accounts are removed, user accessibility is affected. Accounts are utilized for identifying individual users or for identifying the operating system processes themselves. In order to detect and respond to events affecting user accessibility and system processing, operating systems must audit account removal actions and, as required, notify the appropriate individuals so they can investigate the event. Such a capability greatly reduces the risk that operating system accessibility will be negatively affected for extended periods of time and provides logging that can be used for forensic purposes. @@ -25914,21 +25914,23 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system automatically audits account removal actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: -$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' +$ sudo auditctl -l | grep -E '(/etc/gshadow)' --w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to automatically audit account removal actions. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the @@ -25936,14 +25938,14 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must audit all account removal actions.CCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadowCCE-80761-0: Record Events that Modify User/Group Information - /etc/passwd When operating system accounts are removed, user accessibility is affected. Accounts are utilized for identifying individual users or for identifying the operating system processes themselves. In order to detect and respond to events affecting user accessibility and system processing, operating systems must audit account removal actions and, as required, notify the appropriate individuals so they can investigate the event. Such a capability greatly reduces the risk that operating system accessibility will be negatively affected for extended periods of time and provides logging that can be used for forensic purposes. @@ -26020,23 +26022,21 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system automatically audits account removal actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: - -$ sudo auditctl -l | grep -E '(/etc/gshadow)' + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: --w /etc/gshadow -p wa -k identity +$ sudo auditctl -l | grep -E '(/etc/passwd)' -If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? Configure the operating system to automatically audit account removal actions. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the @@ -26044,14 +26044,14 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must audit all account removal actions.CCE-80761-0: Record Events that Modify User/Group Information - /etc/passwdCCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswd When operating system accounts are removed, user accessibility is affected. Accounts are utilized for identifying individual users or for identifying the operating system processes themselves. In order to detect and respond to events affecting user accessibility and system processing, operating systems must audit account removal actions and, as required, notify the appropriate individuals so they can investigate the event. Such a capability greatly reduces the risk that operating system accessibility will be negatively affected for extended periods of time and provides logging that can be used for forensic purposes. @@ -26075,21 +26075,21 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system automatically audits account removal actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: -$ sudo auditctl -l | grep -E '(/etc/passwd)' +$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' --w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to automatically audit account removal actions. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the @@ -26097,14 +26097,59 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
medium
CCI-001405SRG-OS-000241-GPOS-00091TBD - Assigned by DISA after STIG releaseThe operating system must audit all account removal actions.CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoersWhen operating system accounts are removed, user accessibility is affected. Accounts are utilized for identifying individual users or for identifying the operating system processes themselves. In order to detect and respond to events affecting user accessibility and system processing, operating systems must audit account removal actions and, as required, notify the appropriate individuals so they can investigate the event. Such a capability greatly reduces the risk that operating system accessibility will be negatively affected for extended periods of time and provides logging that can be used for forensic purposes. + +To address access requirements, many operating systems can be integrated with enterprise-level authentication/access/auditing mechanisms that meet or exceed access control policy requirements.At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-w /etc/sudoers -p wa -k actions
Applicable - ConfigurableVerify the operating system automatically audits account removal actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + +$ sudo auditctl -l | grep /etc/sudoers + +-w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to automatically audit account removal actions.At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-w /etc/sudoers -p wa -k actions
medium
CCI-001405SRG-OS-000241-GPOS-00091CCI-001453SRG-OS-000250-GPOS-00093 TBD - Assigned by DISA after STIG releaseThe operating system must audit all account removal actions.The operating system must implement cryptography to protect the integrity of remote access sessions.CCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/CCE-84254-2: Configure GnuTLS library to use DoD-approved TLS EncryptionWhen operating system accounts are removed, user accessibility is affected. Accounts are utilized for identifying individual users or for identifying the operating system processes themselves. In order to detect and respond to events affecting user accessibility and system processing, operating systems must audit account removal actions and, as required, notify the appropriate individuals so they can investigate the event. Such a capability greatly reduces the risk that operating system accessibility will be negatively affected for extended periods of time and provides logging that can be used for forensic purposes. + Without cryptographic integrity protections, information can be altered by unauthorized users without detection. -To address access requirements, many operating systems can be integrated with enterprise-level authentication/access/auditing mechanisms that meet or exceed access control policy requirements.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
Applicable - ConfigurableVerify the operating system automatically audits account removal actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: +Remote access (e.g., RDP) is access to DoD nonpublic information systems by an authorized user (or an information system) communicating through an external, non-organization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. -$ sudo auditctl -l | grep/etc/sudoers.d +Cryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash.Crypto Policies provide a centralized control over crypto algorithms usage of many packages. +GnuTLS is supported by system crypto policy, but the GnuTLS configuration may be +set up to ignore it. --w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to automatically audit account removal actions.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
Applicable - ConfigurableVerify the operating system implements cryptography to protect the integrity of remote access sessions. If it does not, this is a finding.To verify if GnuTLS uses defined DoD-approved TLS Crypto Policy, run: +
$ sudo grep
+'+VERS-ALL:-VERS-DTLS0.9:-VERS-SSL3.0:-VERS-TLS1.0:-VERS-TLS1.1:-VERS-DTLS1.0'
+/etc/crypto-policies/back-ends/gnutls.config
and verify that a match exists. Is it the case that cryptographic policy for gnutls is not configured or is configured incorrectly?
Configure the operating system to implement cryptography to protect the integrity of remote access sessions.Crypto Policies provide a centralized control over crypto algorithms usage of many packages. +GnuTLS is supported by system crypto policy, but the GnuTLS configuration may be +set up to ignore it. + +To check that Crypto Policies settings are configured correctly, ensure that +/etc/crypto-policies/back-ends/gnutls.config contains the following +line and is not commented out: ++VERS-ALL:-VERS-DTLS0.9:-VERS-SSL3.0:-VERS-TLS1.0:-VERS-TLS1.1:-VERS-DTLS1.0 medium
CCI-001453 SRG-OS-000250-GPOS-00093TBD - Assigned by DISA after STIG release The operating system must implement cryptography to protect the integrity of remote access sessions.CCE-84255-9: Configure OpenSSL library to use TLS EncryptionWithout cryptographic integrity protections, information can be altered by unauthorized users without detection. - -Remote access (e.g., RDP) is access to DoD nonpublic information systems by an authorized user (or an information system) communicating through an external, non-organization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. - -Cryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash.Crypto Policies are means of enforcing certain cryptographic settings for -selected applications including OpenSSL. OpenSSL is by default configured to -modify its configuration based on currently configured Crypto Policy. -Editing the Crypto Policy back-end is not recommended. - -Check the crypto-policies(7) man page and choose a policy that configures TLS -protocol to version 1.2 or higher, for example DEFAULT, FUTURE or FIPS policy. -Or create and apply a custom policy that restricts minimum TLS version to 1.2. - -For example for versions prior to crypto-policies-20210617-1.gitc776d3e.el8.noarch -this is expected: - -
$ sudo grep -i MinProtocol /etc/crypto-policies/back-ends/opensslcnf.config
-
-MinProtocol = TLSv1.2
-
- -Or for version crypto-policies-20210617-1.gitc776d3e.el8.noarch and newer this is -expected: - -
$ sudo grep -i MinProtocol /etc/crypto-policies/back-ends/opensslcnf.config
-
-TLS.MinProtocol = TLSv1.2
-DTLS.MinProtocol = DTLSv1.2
Applicable - ConfigurableVerify the operating system implements cryptography to protect the integrity of remote access sessions. If it does not, this is a finding.To verify if the OpenSSL uses defined TLS Crypto Policy, run: -
$ grep -P '^(TLS\.)?MinProtocol' /etc/crypto-policies/back-ends/opensslcnf.config
-and verify that the value is -
TLSv1.2
Is it the case that cryptographic policy for openssl is not configured or is configured incorrectly?
Configure the operating system to implement cryptography to protect the integrity of remote access sessions.Crypto Policies are means of enforcing certain cryptographic settings for -selected applications including OpenSSL. OpenSSL is by default configured to -modify its configuration based on currently configured Crypto Policy. -Editing the Crypto Policy back-end is not recommended. - -Check the crypto-policies(7) man page and choose a policy that configures TLS -protocol to version 1.2 or higher, for example DEFAULT, FUTURE or FIPS policy. -Or create and apply a custom policy that restricts minimum TLS version to 1.2. - -For example for versions prior to crypto-policies-20210617-1.gitc776d3e.el8.noarch -this is expected: - -
$ sudo grep -i MinProtocol /etc/crypto-policies/back-ends/opensslcnf.config
-
-MinProtocol = TLSv1.2
-
- -Or for version crypto-policies-20210617-1.gitc776d3e.el8.noarch and newer this is -expected: - -
$ sudo grep -i MinProtocol /etc/crypto-policies/back-ends/opensslcnf.config
-
-TLS.MinProtocol = TLSv1.2
-DTLS.MinProtocol = DTLSv1.2
medium
CCI-001453SRG-OS-000250-GPOS-00093TBD - Assigned by DISA after STIG releaseThe operating system must implement cryptography to protect the integrity of remote access sessions.CCE-84027-2: Set kernel parameter 'crypto.fips_enabled' to 1CCE-85902-5: Configure SSH Client to Use FIPS 140-2 Validated Ciphers: openssh.config Without cryptographic integrity protections, information can be altered by unauthorized users without detection. Remote access (e.g., RDP) is access to DoD nonpublic information systems by an authorized user (or an information system) communicating through an external, non-organization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. Cryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash.System running in FIPS mode is indicated by kernel parameter -'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. -To enable FIPS mode, run the following command: -
fips-mode-setup --enable
+
Crypto Policies provide a centralized control over crypto algorithms usage of many packages. +OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be +set up incorrectly. -To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot -parameters during system installation so key generation is done with FIPS-approved algorithms -and continuous monitoring tests in place. Applicable - Configurable Verify the operating system implements cryptography to protect the integrity of remote access sessions. If it does not, this is a finding.To verify that kernel parameter 'crypto.fips_enabled' is set properly, run the following command: -
sysctl crypto.fips_enabled
-The output should contain the following: -
crypto.fips_enabled = 1
Is it the case that crypto.fips_enabled is not 1?
To verify if the OpenSSH client uses defined Cipher suite in the Crypto Policy, run: +
$ grep -i ciphers /etc/crypto-policies/back-ends/openssh.config
+and verify that the line matches: +
Ciphers 
Is it the case that Crypto Policy for OpenSSH client is not configured correctly?
Configure the operating system to implement cryptography to protect the integrity of remote access sessions.System running in FIPS mode is indicated by kernel parameter -'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. -To enable FIPS mode, run the following command: -
fips-mode-setup --enable
+
Crypto Policies provide a centralized control over crypto algorithms usage of many packages. +OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be +set up incorrectly. -To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot -parameters during system installation so key generation is done with FIPS-approved algorithms -and continuous monitoring tests in place. high TBD - Assigned by DISA after STIG release The operating system must implement cryptography to protect the integrity of remote access sessions.CCE-85902-5: Configure SSH Client to Use FIPS 140-2 Validated Ciphers: openssh.configCCE-85899-3: Configure SSH Server to Use FIPS 140-2 Validated MACs: opensshserver.config Without cryptographic integrity protections, information can be altered by unauthorized users without detection. @@ -26386,26 +26354,26 @@ OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be set up incorrectly. -To check that Crypto Policies settings for ciphers are configured correctly, ensure that -/etc/crypto-policies/back-ends/openssh.config contains the following -line and is not commented out: -
Ciphers 
Applicable - Configurable Verify the operating system implements cryptography to protect the integrity of remote access sessions. If it does not, this is a finding.To verify if the OpenSSH client uses defined Cipher suite in the Crypto Policy, run: -
$ grep -i ciphers /etc/crypto-policies/back-ends/openssh.config
+
To verify if the OpenSSH server uses defined MACs in the Crypto Policy, run: +
$ grep -Po '(-oMACs=\S+)' /etc/crypto-policies/back-ends/opensshserver.config
and verify that the line matches: -
Ciphers 
Is it the case that Crypto Policy for OpenSSH client is not configured correctly?
Configure the operating system to implement cryptography to protect the integrity of remote access sessions. Crypto Policies provide a centralized control over crypto algorithms usage of many packages. OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be set up incorrectly. -To check that Crypto Policies settings for ciphers are configured correctly, ensure that -/etc/crypto-policies/back-ends/openssh.config contains the following -line and is not commented out: -
Ciphers 
highmedium TBD - Assigned by DISA after STIG release The operating system must implement cryptography to protect the integrity of remote access sessions.CCE-85897-7: Configure SSH Server to Use FIPS 140-2 Validated Ciphers: opensshserver.configCCE-84027-2: Set kernel parameter 'crypto.fips_enabled' to 1 Without cryptographic integrity protections, information can be altered by unauthorized users without detection. Remote access (e.g., RDP) is access to DoD nonpublic information systems by an authorized user (or an information system) communicating through an external, non-organization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. Cryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash.Crypto Policies provide a centralized control over crypto algorithms usage of many packages. -OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be -set up incorrectly. + System running in FIPS mode is indicated by kernel parameter +'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. +To enable FIPS mode, run the following command: +
fips-mode-setup --enable
-To check that Crypto Policies settings for ciphers are configured correctly, ensure that -/etc/crypto-policies/back-ends/opensshserver.config contains the following -text and is not commented out: -
-oCiphers=
Applicable - Configurable Verify the operating system implements cryptography to protect the integrity of remote access sessions. If it does not, this is a finding.To verify if the OpenSSH server uses defined ciphers in the Crypto Policy, run: -
$ grep -Po '(-oCiphers=\S+)' /etc/crypto-policies/back-ends/opensshserver.config
-and verify that the line matches: -
-oCiphers=
Is it the case that Crypto Policy for OpenSSH Server is not configured correctly?
To verify that kernel parameter 'crypto.fips_enabled' is set properly, run the following command: +
sysctl crypto.fips_enabled
+The output should contain the following: +
crypto.fips_enabled = 1
Is it the case that crypto.fips_enabled is not 1?
Configure the operating system to implement cryptography to protect the integrity of remote access sessions.Crypto Policies provide a centralized control over crypto algorithms usage of many packages. -OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be -set up incorrectly. + System running in FIPS mode is indicated by kernel parameter +'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. +To enable FIPS mode, run the following command: +
fips-mode-setup --enable
-To check that Crypto Policies settings for ciphers are configured correctly, ensure that -/etc/crypto-policies/back-ends/opensshserver.config contains the following -text and is not commented out: -
-oCiphers=
mediumhigh TBD - Assigned by DISA after STIG release The operating system must implement cryptography to protect the integrity of remote access sessions.CCE-85870-4: Configure SSH Client to Use FIPS 140-2 Validated MACs: openssh.configCCE-85897-7: Configure SSH Server to Use FIPS 140-2 Validated Ciphers: opensshserver.config Without cryptographic integrity protections, information can be altered by unauthorized users without detection. @@ -26554,25 +26522,25 @@ OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be set up incorrectly. -To check that Crypto Policies settings are configured correctly, ensure that -/etc/crypto-policies/back-ends/openssh.config contains the following -line and is not commented out: -MACs Applicable - Configurable Verify the operating system implements cryptography to protect the integrity of remote access sessions. If it does not, this is a finding.To verify if the OpenSSH client uses defined MACs in the Crypto Policy, run: -
$ grep -i macs /etc/crypto-policies/back-ends/openssh.config
+
To verify if the OpenSSH server uses defined ciphers in the Crypto Policy, run: +
$ grep -Po '(-oCiphers=\S+)' /etc/crypto-policies/back-ends/opensshserver.config
and verify that the line matches: -
MACs 
Is it the case that Crypto Policy for OpenSSH client is not configured correctly?
Configure the operating system to implement cryptography to protect the integrity of remote access sessions. Crypto Policies provide a centralized control over crypto algorithms usage of many packages. OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be set up incorrectly. -To check that Crypto Policies settings are configured correctly, ensure that -/etc/crypto-policies/back-ends/openssh.config contains the following -line and is not commented out: -MACs medium TBD - Assigned by DISA after STIG release The operating system must implement cryptography to protect the integrity of remote access sessions.CCE-84254-2: Configure GnuTLS library to use DoD-approved TLS EncryptionCCE-84255-9: Configure OpenSSL library to use TLS Encryption Without cryptographic integrity protections, information can be altered by unauthorized users without detection. Remote access (e.g., RDP) is access to DoD nonpublic information systems by an authorized user (or an information system) communicating through an external, non-organization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. Cryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash.Crypto Policies provide a centralized control over crypto algorithms usage of many packages. -GnuTLS is supported by system crypto policy, but the GnuTLS configuration may be -set up to ignore it. + Crypto Policies are means of enforcing certain cryptographic settings for +selected applications including OpenSSL. OpenSSL is by default configured to +modify its configuration based on currently configured Crypto Policy. +Editing the Crypto Policy back-end is not recommended. -To check that Crypto Policies settings are configured correctly, ensure that -/etc/crypto-policies/back-ends/gnutls.config contains the following -line and is not commented out: -+VERS-ALL:-VERS-DTLS0.9:-VERS-SSL3.0:-VERS-TLS1.0:-VERS-TLS1.1:-VERS-DTLS1.0 Applicable - Configurable Verify the operating system implements cryptography to protect the integrity of remote access sessions. If it does not, this is a finding.To verify if GnuTLS uses defined DoD-approved TLS Crypto Policy, run: -
$ sudo grep
-'+VERS-ALL:-VERS-DTLS0.9:-VERS-SSL3.0:-VERS-TLS1.0:-VERS-TLS1.1:-VERS-DTLS1.0'
-/etc/crypto-policies/back-ends/gnutls.config
and verify that a match exists. Is it the case that cryptographic policy for gnutls is not configured or is configured incorrectly?
To verify if the OpenSSL uses defined TLS Crypto Policy, run: +
$ grep -P '^(TLS\.)?MinProtocol' /etc/crypto-policies/back-ends/opensslcnf.config
+and verify that the value is +
TLSv1.2
Is it the case that cryptographic policy for openssl is not configured or is configured incorrectly?
Configure the operating system to implement cryptography to protect the integrity of remote access sessions.Crypto Policies provide a centralized control over crypto algorithms usage of many packages. -GnuTLS is supported by system crypto policy, but the GnuTLS configuration may be -set up to ignore it. + Crypto Policies are means of enforcing certain cryptographic settings for +selected applications including OpenSSL. OpenSSL is by default configured to +modify its configuration based on currently configured Crypto Policy. +Editing the Crypto Policy back-end is not recommended. -To check that Crypto Policies settings are configured correctly, ensure that -/etc/crypto-policies/back-ends/gnutls.config contains the following -line and is not commented out: -+VERS-ALL:-VERS-DTLS0.9:-VERS-SSL3.0:-VERS-TLS1.0:-VERS-TLS1.1:-VERS-DTLS1.0 medium TBD - Assigned by DISA after STIG release The operating system must implement cryptography to protect the integrity of remote access sessions.CCE-85899-3: Configure SSH Server to Use FIPS 140-2 Validated MACs: opensshserver.configCCE-85870-4: Configure SSH Client to Use FIPS 140-2 Validated MACs: openssh.config Without cryptographic integrity protections, information can be altered by unauthorized users without detection. @@ -26639,24 +26639,24 @@ set up incorrectly. To check that Crypto Policies settings are configured correctly, ensure that -/etc/crypto-policies/back-ends/opensshserver.config contains the following -text and is not commented out: --oMACS= Applicable - Configurable Verify the operating system implements cryptography to protect the integrity of remote access sessions. If it does not, this is a finding.To verify if the OpenSSH server uses defined MACs in the Crypto Policy, run: -
$ grep -Po '(-oMACs=\S+)' /etc/crypto-policies/back-ends/opensshserver.config
+
To verify if the OpenSSH client uses defined MACs in the Crypto Policy, run: +
$ grep -i macs /etc/crypto-policies/back-ends/openssh.config
and verify that the line matches: -
-oMACS=
Is it the case that Crypto Policy for OpenSSH Server is not configured correctly?
Configure the operating system to implement cryptography to protect the integrity of remote access sessions. Crypto Policies provide a centralized control over crypto algorithms usage of many packages. OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be set up incorrectly. To check that Crypto Policies settings are configured correctly, ensure that -/etc/crypto-policies/back-ends/opensshserver.config contains the following -text and is not commented out: --oMACS= medium
CCI-001487SRG-OS-000255-GPOS-00096TBD - Assigned by DISA after STIG releaseThe operating system must produce audit records containing information to establish the identity of any individual or process associated with the event.CCE-82201-5: Resolve information before writing to audit logsWithout information that establishes the identity of the subjects (i.e., users or processes acting on behalf of users) associated with the events, security personnel cannot determine responsibility for the potentially harmful event.To configure Audit daemon to resolve all uid, gid, syscall, -architecture, and socket address information before writing the -events to disk, set log_format to ENRICHED -in /etc/audit/auditd.conf.Applicable - ConfigurableVerify the operating system produces audit records containing information to establish the identity of any individual or process associated with the event. If it does not, this is a finding.To verify that Audit Daemon is configured to resolve all uid, gid, syscall, -architecture, and socket address information before writing the event to disk, -run the following command: -
$ sudo grep log_format /etc/audit/auditd.conf
-The output should return the following: -
log_format = ENRICHED
Is it the case that log_format isn't set to ENRICHED?
Configure the operating system to produce audit records containing information to establish the identity of any individual or process associated with the event.To configure Audit daemon to resolve all uid, gid, syscall, -architecture, and socket address information before writing the -events to disk, set log_format to ENRICHED -in /etc/audit/auditd.conf.low
CCI-001487 SRG-OS-000255-GPOS-00096
CCI-001487SRG-OS-000255-GPOS-00096TBD - Assigned by DISA after STIG releaseThe operating system must produce audit records containing information to establish the identity of any individual or process associated with the event.CCE-82201-5: Resolve information before writing to audit logsWithout information that establishes the identity of the subjects (i.e., users or processes acting on behalf of users) associated with the events, security personnel cannot determine responsibility for the potentially harmful event.To configure Audit daemon to resolve all uid, gid, syscall, +architecture, and socket address information before writing the +events to disk, set log_format to ENRICHED +in /etc/audit/auditd.conf.Applicable - ConfigurableVerify the operating system produces audit records containing information to establish the identity of any individual or process associated with the event. If it does not, this is a finding.To verify that Audit Daemon is configured to resolve all uid, gid, syscall, +architecture, and socket address information before writing the event to disk, +run the following command: +
$ sudo grep log_format /etc/audit/auditd.conf
+The output should return the following: +
log_format = ENRICHED
Is it the case that log_format isn't set to ENRICHED?
Configure the operating system to produce audit records containing information to establish the identity of any individual or process associated with the event.To configure Audit daemon to resolve all uid, gid, syscall, +architecture, and socket address information before writing the +events to disk, set log_format to ENRICHED +in /etc/audit/auditd.conf.low
CCI-001487 SRG-OS-000255-GPOS-00096TBD - Assigned by DISA after STIG release The operating system must protect audit tools from unauthorized access.CCE-86227-6: Audit Tools Must Have a Mode of 0755 or Less PermissiveCCE-86239-1: Audit Tools Must Be Group-owned by Root 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. @@ -26982,20 +26982,28 @@ 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. -Audit tools must have a mode of 0755 or less permissive. Applicable - Configurable Verify the operating system protects audit tools from unauthorized access. If it does not, this is a finding.Verify the audit tools are protected from unauthorized access, deletion, or modification by checking the permissive mode. + Verify the audit tools are group-owned by "root" to prevent any unauthorized access, deletion, or modification. -Check the octal permission of each audit tool by running the following command: +Check the group-owner of each audit tool by running the following command: -$ sudo stat -c "%U %n" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/rsyslogd /sbin/augenrules Is it the case that any of these files have more permissive permissions than 0755? Configure the operating system to protect audit tools from unauthorized access. Red Hat Enterprise Linux 8 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. 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. -Audit tools must have a mode of 0755 or less permissive. medium TBD - Assigned by DISA after STIG release The operating system must protect audit tools from unauthorized access.CCE-86239-1: Audit Tools Must Be Group-owned by RootCCE-86227-6: Audit Tools Must Have a Mode of 0755 or Less Permissive 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. @@ -27019,28 +27027,20 @@ 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. -Audit tools must have the correct group owner. Applicable - Configurable Verify the operating system protects audit tools from unauthorized access. If it does not, this is a finding.Verify the audit tools are group-owned by "root" to prevent any unauthorized access, deletion, or modification. - -Check the group-owner of each audit tool by running the following command: + Verify the audit tools are protected from unauthorized access, deletion, or modification by checking the permissive mode. -$ sudo stat -c "%G %n" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/rsyslogd /sbin/augenrules +Check the octal permission of each audit tool by running the following command: -root /sbin/auditctl -root /sbin/aureport -root /sbin/ausearch -root /sbin/autrace -root /sbin/auditd -root /sbin/rsyslogd -root /sbin/augenrules Is it the case that any audit tools are not group-owned by root? Configure the operating system to protect audit tools from unauthorized access. Red Hat Enterprise Linux 8 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. 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. -Audit tools must have the correct group owner. medium TBD - Assigned by DISA after STIG release The operating system must protect audit tools from unauthorized modification.CCE-86227-6: Audit Tools Must Have a Mode of 0755 or Less PermissiveCCE-86239-1: Audit Tools Must Be Group-owned by Root 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. @@ -27114,20 +27114,28 @@ 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. -Audit tools must have a mode of 0755 or less permissive. Applicable - Configurable Verify the operating system protects audit tools from unauthorized modification. If it does not, this is a finding.Verify the audit tools are protected from unauthorized access, deletion, or modification by checking the permissive mode. + Verify the audit tools are group-owned by "root" to prevent any unauthorized access, deletion, or modification. -Check the octal permission of each audit tool by running the following command: +Check the group-owner of each audit tool by running the following command: -$ sudo stat -c "%U %n" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/rsyslogd /sbin/augenrules Is it the case that any of these files have more permissive permissions than 0755? Configure the operating system to protect audit tools from unauthorized modification. Red Hat Enterprise Linux 8 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. 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. -Audit tools must have a mode of 0755 or less permissive. medium TBD - Assigned by DISA after STIG release The operating system must protect audit tools from unauthorized modification.CCE-86239-1: Audit Tools Must Be Group-owned by RootCCE-86227-6: Audit Tools Must Have a Mode of 0755 or Less Permissive 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. @@ -27151,28 +27159,20 @@ 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. -Audit tools must have the correct group owner. Applicable - Configurable Verify the operating system protects audit tools from unauthorized modification. If it does not, this is a finding.Verify the audit tools are group-owned by "root" to prevent any unauthorized access, deletion, or modification. - -Check the group-owner of each audit tool by running the following command: + Verify the audit tools are protected from unauthorized access, deletion, or modification by checking the permissive mode. -$ sudo stat -c "%G %n" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/rsyslogd /sbin/augenrules +Check the octal permission of each audit tool by running the following command: -root /sbin/auditctl -root /sbin/aureport -root /sbin/ausearch -root /sbin/autrace -root /sbin/auditd -root /sbin/rsyslogd -root /sbin/augenrules Is it the case that any audit tools are not group-owned by root? Configure the operating system to protect audit tools from unauthorized modification. Red Hat Enterprise Linux 8 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. 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. -Audit tools must have the correct group owner. medium TBD - Assigned by DISA after STIG release The operating system must protect audit tools from unauthorized deletion.CCE-86227-6: Audit Tools Must Have a Mode of 0755 or Less PermissiveCCE-86239-1: Audit Tools Must Be Group-owned by Root 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. @@ -27246,20 +27246,28 @@ 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. -Audit tools must have a mode of 0755 or less permissive. Applicable - Configurable Verify the operating system protects audit tools from unauthorized deletion. If it does not, this is a finding.Verify the audit tools are protected from unauthorized access, deletion, or modification by checking the permissive mode. + Verify the audit tools are group-owned by "root" to prevent any unauthorized access, deletion, or modification. -Check the octal permission of each audit tool by running the following command: +Check the group-owner of each audit tool by running the following command: -$ sudo stat -c "%U %n" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/rsyslogd /sbin/augenrules Is it the case that any of these files have more permissive permissions than 0755? Configure the operating system to protect audit tools from unauthorized deletion. Red Hat Enterprise Linux 8 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. 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. -Audit tools must have a mode of 0755 or less permissive. medium TBD - Assigned by DISA after STIG release The operating system must protect audit tools from unauthorized deletion.CCE-86239-1: Audit Tools Must Be Group-owned by RootCCE-86227-6: Audit Tools Must Have a Mode of 0755 or Less Permissive 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. @@ -27283,28 +27291,20 @@ 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. -Audit tools must have the correct group owner. Applicable - Configurable Verify the operating system protects audit tools from unauthorized deletion. If it does not, this is a finding.Verify the audit tools are group-owned by "root" to prevent any unauthorized access, deletion, or modification. - -Check the group-owner of each audit tool by running the following command: + Verify the audit tools are protected from unauthorized access, deletion, or modification by checking the permissive mode. -$ sudo stat -c "%G %n" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/rsyslogd /sbin/augenrules +Check the octal permission of each audit tool by running the following command: -root /sbin/auditctl -root /sbin/aureport -root /sbin/ausearch -root /sbin/autrace -root /sbin/auditd -root /sbin/rsyslogd -root /sbin/augenrules Is it the case that any audit tools are not group-owned by root? Configure the operating system to protect audit tools from unauthorized deletion. Red Hat Enterprise Linux 8 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. 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. -Audit tools must have the correct group owner. medium TBD - Assigned by DISA after STIG release The operating system must limit privileges to change software resident within software libraries.CCE-86523-8: Verify the system-wide library files in directories -"/lib", "/lib64", "/usr/lib/" and "/usr/lib64" are group-owned by root.CCE-80807-1: Verify that Shared Library Files Have Root Ownership If the operating system were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. This requirement applies to operating systems with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libraries also include privileged programs which execute with escalated privileges. Only qualified and authorized individuals shall be allowed to obtain access to information system components for purposes of initiating changes, including upgrades and modifications.System-wide library files are stored in the following directories + System-wide shared library files, which are linked to executables +during process load time or run time, are stored in the following directories by default:
/lib
 /lib64
 /usr/lib
 /usr/lib64
 
-All system-wide shared library files should be protected from unauthorised -access. If any of these files is not group-owned by root, correct its group-owner with -the following command: -
$ sudo chgrp root FILE
Applicable - Configurable Verify the operating system limits privileges to change software resident within software libraries. If it does not, this is a finding.Verify the system-wide shared library files are group-owned by "root" with the following command: + Verify the system-wide shared library files are owned by "root" with the following command: -$ sudo find -L /lib /lib64 /usr/lib /usr/lib64 ! -group root -exec ls -l {} \; Is it the case that any system wide shared library file is returned and is not group-owned by a required system account? Configure the operating system to limit privileges to change software resident within software libraries.System-wide library files are stored in the following directories + System-wide shared library files, which are linked to executables +during process load time or run time, are stored in the following directories by default:
/lib
 /lib64
 /usr/lib
 /usr/lib64
 
-All system-wide shared library files should be protected from unauthorised -access. If any of these files is not group-owned by root, correct its group-owner with -the following command: -
$ sudo chgrp root FILE
medium
CCI-001499SRG-OS-000259-GPOS-00100TBD - Assigned by DISA after STIG releaseThe operating system must limit privileges to change software resident within software libraries.CCE-80815-4: Verify that Shared Library Files Have Restrictive Permissions If the operating system were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. + +This requirement applies to operating systems with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libraries also include privileged programs which execute with escalated privileges. Only qualified and authorized individuals shall be allowed to obtain access to information system components for purposes of initiating changes, including upgrades and modifications.System-wide shared library files, which are linked to executables +during process load time or run time, are stored in the following directories +by default: +
/lib
+/lib64
+/usr/lib
+/usr/lib64
+
+Kernel modules, which can be added to the kernel during runtime, are +stored in /lib/modules. All files in these directories +should not be group-writable or world-writable. If any file in these +directories is found to be group-writable or world-writable, correct +its permission with the following command: +
$ sudo chmod go-w FILE
Applicable - ConfigurableVerify the operating system limits privileges to change software resident within software libraries. If it does not, this is a finding.Verify the system-wide shared library files contained in the following directories have mode "755" or less permissive with the following command: + +$ sudo find -L /lib /lib64 /usr/lib /usr/lib64 -perm /022 -type f -exec ls -l {} \; Is it the case that any system-wide shared library file is found to be group-writable or world-writable?Configure the operating system to limit privileges to change software resident within software libraries.System-wide shared library files, which are linked to executables +during process load time or run time, are stored in the following directories +by default: +
/lib
+/lib64
+/usr/lib
+/usr/lib64
+
+Kernel modules, which can be added to the kernel during runtime, are +stored in /lib/modules. All files in these directories +should not be group-writable or world-writable. If any file in these +directories is found to be group-writable or world-writable, correct +its permission with the following command: +
$ sudo chmod go-w FILE
medium TBD - Assigned by DISA after STIG release The operating system must limit privileges to change software resident within software libraries.CCE-80815-4: Verify that Shared Library Files Have Restrictive Permissions If the operating system were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. - -This requirement applies to operating systems with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libraries also include privileged programs which execute with escalated privileges. Only qualified and authorized individuals shall be allowed to obtain access to information system components for purposes of initiating changes, including upgrades and modifications.System-wide shared library files, which are linked to executables -during process load time or run time, are stored in the following directories -by default: -
/lib
-/lib64
-/usr/lib
-/usr/lib64
-
-Kernel modules, which can be added to the kernel during runtime, are -stored in /lib/modules. All files in these directories -should not be group-writable or world-writable. If any file in these -directories is found to be group-writable or world-writable, correct -its permission with the following command: -
$ sudo chmod go-w FILE
Applicable - ConfigurableVerify the operating system limits privileges to change software resident within software libraries. If it does not, this is a finding.Verify the system-wide shared library files contained in the following directories have mode "755" or less permissive with the following command: - -$ sudo find -L /lib /lib64 /usr/lib /usr/lib64 -perm /022 -type f -exec ls -l {} \; Is it the case that any system-wide shared library file is found to be group-writable or world-writable?Configure the operating system to limit privileges to change software resident within software libraries.System-wide shared library files, which are linked to executables -during process load time or run time, are stored in the following directories -by default: -
/lib
-/lib64
-/usr/lib
-/usr/lib64
-
-Kernel modules, which can be added to the kernel during runtime, are -stored in /lib/modules. All files in these directories -should not be group-writable or world-writable. If any file in these -directories is found to be group-writable or world-writable, correct -its permission with the following command: -
$ sudo chmod go-w FILE
medium
CCI-001499SRG-OS-000259-GPOS-00100TBD - Assigned by DISA after STIG releaseThe operating system must limit privileges to change software resident within software libraries.CCE-80807-1: Verify that Shared Library Files Have Root OwnershipCCE-80806-3: Verify that System Executables Have Root Ownership If the operating system were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. This requirement applies to operating systems with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libraries also include privileged programs which execute with escalated privileges. Only qualified and authorized individuals shall be allowed to obtain access to information system components for purposes of initiating changes, including upgrades and modifications.System-wide shared library files, which are linked to executables -during process load time or run time, are stored in the following directories -by default: -
/lib
-/lib64
-/usr/lib
-/usr/lib64
-
-Kernel modules, which can be added to the kernel during runtime, are also -stored in /lib/modules. All files in these directories should be -owned by the root user. If the directory, or any file in these -directories, is found to be owned by a user other than root correct its -ownership with the following command: +
System executables are stored in the following directories by default: +
/bin
+/sbin
+/usr/bin
+/usr/libexec
+/usr/local/bin
+/usr/local/sbin
+/usr/sbin
+All files in these directories should be owned by the root user. +If any file FILE in these directories is found +to be owned by a user other than root, correct its ownership with the +following command:
$ sudo chown root FILE
Applicable - Configurable Verify the operating system limits privileges to change software resident within software libraries. If it does not, this is a finding.Verify the system-wide shared library files are owned by "root" with the following command: + Verify the system commands contained in the following directories are owned by "root" with the following command: -$ sudo find -L /lib /lib64 /usr/lib /usr/lib64 ! -user root -exec ls -l {} \; Is it the case that any system wide shared library file is not owned by root? Configure the operating system to limit privileges to change software resident within software libraries.System-wide shared library files, which are linked to executables -during process load time or run time, are stored in the following directories -by default: -
/lib
-/lib64
-/usr/lib
-/usr/lib64
-
-Kernel modules, which can be added to the kernel during runtime, are also -stored in /lib/modules. All files in these directories should be -owned by the root user. If the directory, or any file in these -directories, is found to be owned by a user other than root correct its -ownership with the following command: +
System executables are stored in the following directories by default: +
/bin
+/sbin
+/usr/bin
+/usr/libexec
+/usr/local/bin
+/usr/local/sbin
+/usr/sbin
+All files in these directories should be owned by the root user. +If any file FILE in these directories is found +to be owned by a user other than root, correct its ownership with the +following command:
$ sudo chown root FILE
medium TBD - Assigned by DISA after STIG release The operating system must limit privileges to change software resident within software libraries.CCE-80806-3: Verify that System Executables Have Root OwnershipCCE-86523-8: Verify the system-wide library files in directories +"/lib", "/lib64", "/usr/lib/" and "/usr/lib64" are group-owned by root. If the operating system were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. This requirement applies to operating systems with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libraries also include privileged programs which execute with escalated privileges. Only qualified and authorized individuals shall be allowed to obtain access to information system components for purposes of initiating changes, including upgrades and modifications.System executables are stored in the following directories by default: -
/bin
-/sbin
-/usr/bin
-/usr/libexec
-/usr/local/bin
-/usr/local/sbin
-/usr/sbin
-All files in these directories should be owned by the root user. -If any file FILE in these directories is found -to be owned by a user other than root, correct its ownership with the -following command: -
$ sudo chown root FILE
System-wide library files are stored in the following directories +by default: +
/lib
+/lib64
+/usr/lib
+/usr/lib64
+
+All system-wide shared library files should be protected from unauthorised +access. If any of these files is not group-owned by root, correct its group-owner with +the following command: +
$ sudo chgrp root FILE
Applicable - Configurable Verify the operating system limits privileges to change software resident within software libraries. If it does not, this is a finding.Verify the system commands contained in the following directories are owned by "root" with the following command: + Verify the system-wide shared library files are group-owned by "root" with the following command: -$ sudo find -L /bin /sbin /usr/bin /usr/sbin /usr/libexec /usr/local/bin /usr/local/sbin ! -user root -exec ls -l {} \; Is it the case that any system commands are found to not be owned by root? Configure the operating system to limit privileges to change software resident within software libraries.System executables are stored in the following directories by default: -
/bin
-/sbin
-/usr/bin
-/usr/libexec
-/usr/local/bin
-/usr/local/sbin
-/usr/sbin
-All files in these directories should be owned by the root user. -If any file FILE in these directories is found -to be owned by a user other than root, correct its ownership with the -following command: -
$ sudo chown root FILE
System-wide library files are stored in the following directories +by default: +
/lib
+/lib64
+/usr/lib
+/usr/lib64
+
+All system-wide shared library files should be protected from unauthorised +access. If any of these files is not group-owned by root, correct its group-owner with +the following command: +
$ sudo chgrp root FILE
medium TBD - Assigned by DISA after STIG release The operating system must control remote access methods.CCE-80877-4: Verify firewalld EnabledCCE-84300-3: Configure the Firewalld Ports Remote access services, such as those providing remote access to network devices and information systems, which lack automated control capabilities, increase risk and make remote user access management difficult at best. Remote access is access to DoD nonpublic information systems by an authorized user (or an information system) communicating through an external, non-organization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. Operating system functionality (e.g., RDP) must be capable of taking enforcement action if the audit reveals unauthorized activity. Automated control of remote access sessions allows organizations to ensure ongoing compliance with remote access policies by enforcing connection rules of remote access applications on a variety of information system components (e.g., servers, workstations, notebook computers, smartphones, and tablets). -The firewalld service can be enabled with the following command: -
$ sudo systemctl enable firewalld.service
Configure the firewalld ports to allow approved services to have access to the system. +To configure firewalld to open ports, run the following command: +
firewall-cmd --permanent --add-port=port_number/tcp
+To configure firewalld to allow access for pre-defined services, run the following +command: +
firewall-cmd --permanent --add-service=service_name
Applicable - Configurable Verify the operating system controls remote access methods. If it does not, this is a finding. + Inspect the list of enabled firewall ports and verify they are configured correctly by running +the following command: -Run the following command to determine the current status of the -firewalld service: -
$ sudo systemctl is-active firewalld
-If the service is running, it should return the following:
active
Is it the case that the "firewalld" service is disabled, masked, or not started.?
Configure the operating system to control remote access methods. -The firewalld service can be enabled with the following command: -
$ sudo systemctl enable firewalld.service
Configure the firewalld ports to allow approved services to have access to the system. +To configure firewalld to open ports, run the following command: +
firewall-cmd --permanent --add-port=port_number/tcp
+To configure firewalld to allow access for pre-defined services, run the following +command: +
firewall-cmd --permanent --add-service=service_name
medium TBD - Assigned by DISA after STIG release The operating system must control remote access methods.CCE-84300-3: Configure the Firewalld PortsCCE-80877-4: Verify firewalld Enabled Remote access services, such as those providing remote access to network devices and information systems, which lack automated control capabilities, increase risk and make remote user access management difficult at best. Remote access is access to DoD nonpublic information systems by an authorized user (or an information system) communicating through an external, non-organization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. Operating system functionality (e.g., RDP) must be capable of taking enforcement action if the audit reveals unauthorized activity. Automated control of remote access sessions allows organizations to ensure ongoing compliance with remote access policies by enforcing connection rules of remote access applications on a variety of information system components (e.g., servers, workstations, notebook computers, smartphones, and tablets).Configure the firewalld ports to allow approved services to have access to the system. -To configure firewalld to open ports, run the following command: -
firewall-cmd --permanent --add-port=port_number/tcp
-To configure firewalld to allow access for pre-defined services, run the following -command: -
firewall-cmd --permanent --add-service=service_name
+The firewalld service can be enabled with the following command: +
$ sudo systemctl enable firewalld.service
Applicable - Configurable Verify the operating system controls remote access methods. If it does not, this is a finding.Inspect the list of enabled firewall ports and verify they are configured correctly by running -the following command: - -
$ sudo firewall-cmd --list-all
+
-Ask the System Administrator for the site or program Ports, Protocols, and Services Management Component Local Service Assessment (PPSM CLSA). Verify the services allowed by the firewall match the PPSM CLSA. Is it the case that there are additional ports, protocols, or services that are not in the PPSM CLSA, or there are ports, protocols, or services that are prohibited by the PPSM Category Assurance List (CAL), or there are no firewall rules configured? Configure the operating system to control remote access methods.Configure the firewalld ports to allow approved services to have access to the system. -To configure firewalld to open ports, run the following command: -
firewall-cmd --permanent --add-port=port_number/tcp
-To configure firewalld to allow access for pre-defined services, run the following -command: -
firewall-cmd --permanent --add-service=service_name
+The firewalld service can be enabled with the following command: +
$ sudo systemctl enable firewalld.service
medium
CCI-001443SRG-OS-000300-GPOS-00118TBD - Assigned by DISA after STIG releaseThe operating system must protect wireless access to the system using authentication of users and/or devices.CCE-80832-9: Disable Bluetooth Kernel ModuleAllowing devices and users to connect to the system without first authenticating them allows untrusted access and can lead to a compromise or attack. + +Wireless technologies include, for example, microwave, packet radio (UHF/VHF), 802.11x, and Bluetooth. Wireless networks use authentication protocols (e.g., EAP/TLS, PEAP), which provide credential protection and mutual authentication. + +This requirement applies to those operating systems that control wireless devices.The kernel's module loading system can be configured to prevent +loading of the Bluetooth module. Add the following to +the appropriate /etc/modprobe.d configuration file +to prevent the loading of the Bluetooth module: +
install bluetooth /bin/true
Applicable - ConfigurableVerify the operating system protects wireless access to the system using authentication of users and/or devices. If it does not, this is a finding. +If the system is configured to prevent the loading of the bluetooth kernel module, +it will contain lines inside any file in /etc/modprobe.d or the deprecated /etc/modprobe.conf. +These lines instruct the module loading system to run another program (such as /bin/true) upon a module install event. + +These lines can also instruct the module loading system to ignore the bluetooth kernel module via blacklist keyword. + +Run the following command to search for such lines in all files in /etc/modprobe.d and the deprecated /etc/modprobe.conf: +
$ grep -r bluetooth /etc/modprobe.conf /etc/modprobe.d
Is it the case that no line is returned?
Configure the operating system to protect wireless access to the system using authentication of users and/or devices.The kernel's module loading system can be configured to prevent +loading of the Bluetooth module. Add the following to +the appropriate /etc/modprobe.d configuration file +to prevent the loading of the Bluetooth module: +
install bluetooth /bin/true
medium
CCI-001443 SRG-OS-000300-GPOS-00118
CCI-001443SRG-OS-000300-GPOS-00118TBD - Assigned by DISA after STIG releaseThe operating system must protect wireless access to the system using authentication of users and/or devices.CCE-80832-9: Disable Bluetooth Kernel ModuleAllowing devices and users to connect to the system without first authenticating them allows untrusted access and can lead to a compromise or attack. - -Wireless technologies include, for example, microwave, packet radio (UHF/VHF), 802.11x, and Bluetooth. Wireless networks use authentication protocols (e.g., EAP/TLS, PEAP), which provide credential protection and mutual authentication. - -This requirement applies to those operating systems that control wireless devices.The kernel's module loading system can be configured to prevent -loading of the Bluetooth module. Add the following to -the appropriate /etc/modprobe.d configuration file -to prevent the loading of the Bluetooth module: -
install bluetooth /bin/true
Applicable - ConfigurableVerify the operating system protects wireless access to the system using authentication of users and/or devices. If it does not, this is a finding. -If the system is configured to prevent the loading of the bluetooth kernel module, -it will contain lines inside any file in /etc/modprobe.d or the deprecated /etc/modprobe.conf. -These lines instruct the module loading system to run another program (such as /bin/true) upon a module install event. - -These lines can also instruct the module loading system to ignore the bluetooth kernel module via blacklist keyword. - -Run the following command to search for such lines in all files in /etc/modprobe.d and the deprecated /etc/modprobe.conf: -
$ grep -r bluetooth /etc/modprobe.conf /etc/modprobe.d
Is it the case that no line is returned?
Configure the operating system to protect wireless access to the system using authentication of users and/or devices.The kernel's module loading system can be configured to prevent -loading of the Bluetooth module. Add the following to -the appropriate /etc/modprobe.d configuration file -to prevent the loading of the Bluetooth module: -
install bluetooth /bin/true
medium
TBD - Assigned by DISA after STIG release The operating system must audit all account enabling actions.CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoersCCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/ Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to enable a new or disabled account. Auditing account modification actions provides logging that can be used for forensic purposes. @@ -28635,29 +28635,29 @@ augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
Applicable - Configurable Verify the operating system automatically audits account enabling actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: -$ sudo auditctl -l | grep /etc/sudoers +$ sudo auditctl -l | grep/etc/sudoers.d --w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to automatically audit account enabling actions. At a minimum, the audit system should collect administrator actions for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
medium TBD - Assigned by DISA after STIG release The operating system must audit all account enabling actions.CCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswdCCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadow Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to enable a new or disabled account. Auditing account modification actions provides logging that can be used for forensic purposes. @@ -28681,21 +28681,23 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system automatically audits account enabling actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: -$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' +$ sudo auditctl -l | grep -E '(/etc/gshadow)' --w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to automatically audit account enabling actions. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the @@ -28703,14 +28705,14 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
medium
CCI-002130SRG-OS-000303-GPOS-00120TBD - Assigned by DISA after STIG releaseThe operating system must audit all account enabling actions.CCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadowOnce an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to enable a new or disabled account. Auditing account modification actions provides logging that can be used for forensic purposes. - -To address access requirements, many operating systems can be integrated with enterprise-level authentication/access/auditing mechanisms that meet or exceed access control policy requirements.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
Applicable - ConfigurableVerify the operating system automatically audits account enabling actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: - -$ sudo auditctl -l | grep -E '(/etc/gshadow)' - --w /etc/gshadow -p wa -k identity - -If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes?Configure the operating system to automatically audit account enabling actions.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
medium
CCI-002130 SRG-OS-000303-GPOS-00120TBD - Assigned by DISA after STIG release The operating system must audit all account enabling actions.CCE-80762-8: Record Events that Modify User/Group Information - /etc/shadowCCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswd Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to enable a new or disabled account. Auditing account modification actions provides logging that can be used for forensic purposes. @@ -28895,21 +28842,21 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system automatically audits account enabling actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: -$ sudo auditctl -l | grep -E '(/etc/shadow)' +$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' --w /etc/shadow -p wa -k identity Is it the case that command does not return a line, or the line is commented out? Configure the operating system to automatically audit account enabling actions. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the @@ -28917,14 +28864,14 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must audit all account enabling actions.CCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoers Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to enable a new or disabled account. Auditing account modification actions provides logging that can be used for forensic purposes. @@ -28947,29 +28894,82 @@ augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
+
-w /etc/sudoers -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
Applicable - Configurable Verify the operating system automatically audits account enabling actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: -$ sudo auditctl -l | grep/etc/sudoers.d +$ sudo auditctl -l | grep /etc/sudoers --w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to automatically audit account enabling actions. At a minimum, the audit system should collect administrator actions for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
+
-w /etc/sudoers -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
medium
CCI-002130SRG-OS-000303-GPOS-00120TBD - Assigned by DISA after STIG releaseThe operating system must audit all account enabling actions.CCE-80762-8: Record Events that Modify User/Group Information - /etc/shadowOnce an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to enable a new or disabled account. Auditing account modification actions provides logging that can be used for forensic purposes. + +To address access requirements, many operating systems can be integrated with enterprise-level authentication/access/auditing mechanisms that meet or exceed access control policy requirements.If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
Applicable - ConfigurableVerify the operating system automatically audits account enabling actions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd with the following command: + +$ sudo auditctl -l | grep -E '(/etc/shadow)' + +-w /etc/shadow -p wa -k identity Is it the case that command does not return a line, or the line is commented out?Configure the operating system to automatically audit account enabling actions.If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must notify system administrators and ISSOs of account enabling actions.CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoersCCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/ Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to enable an existing disabled account. Sending notification of account enabling actions to the system administrator and ISSO is one method for mitigating this risk. Such a capability greatly reduces the risk that operating system accessibility will be negatively affected for extended periods of time and also provides logging that can be used for forensic purposes. @@ -28999,29 +28999,29 @@ augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
Applicable - Configurable Verify the operating system notifies the System Administrator and Information System Security Officer(s) when accounts are created, or enabled when previously disabled. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: -$ sudo auditctl -l | grep /etc/sudoers +$ sudo auditctl -l | grep/etc/sudoers.d --w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to notify the System Administrator(s) and Information System Security Officer(s) when accounts are created, or enabled when previously disabled. At a minimum, the audit system should collect administrator actions for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
medium TBD - Assigned by DISA after STIG release The operating system must notify system administrators and ISSOs of account enabling actions.CCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswdCCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadow Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to enable an existing disabled account. Sending notification of account enabling actions to the system administrator and ISSO is one method for mitigating this risk. Such a capability greatly reduces the risk that operating system accessibility will be negatively affected for extended periods of time and also provides logging that can be used for forensic purposes. @@ -29047,21 +29047,23 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system notifies the System Administrator and Information System Security Officer(s) when accounts are created, or enabled when previously disabled. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: -$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' +$ sudo auditctl -l | grep -E '(/etc/gshadow)' --w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to notify the System Administrator(s) and Information System Security Officer(s) when accounts are created, or enabled when previously disabled. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the @@ -29069,14 +29071,14 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must notify system administrators and ISSOs of account enabling actions.CCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadowCCE-80761-0: Record Events that Modify User/Group Information - /etc/passwd Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to enable an existing disabled account. Sending notification of account enabling actions to the system administrator and ISSO is one method for mitigating this risk. Such a capability greatly reduces the risk that operating system accessibility will be negatively affected for extended periods of time and also provides logging that can be used for forensic purposes. @@ -29157,23 +29159,21 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system notifies the System Administrator and Information System Security Officer(s) when accounts are created, or enabled when previously disabled. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: - -$ sudo auditctl -l | grep -E '(/etc/gshadow)' + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: --w /etc/gshadow -p wa -k identity +$ sudo auditctl -l | grep -E '(/etc/passwd)' -If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? Configure the operating system to notify the System Administrator(s) and Information System Security Officer(s) when accounts are created, or enabled when previously disabled. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the @@ -29181,14 +29181,14 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must notify system administrators and ISSOs of account enabling actions.CCE-80761-0: Record Events that Modify User/Group Information - /etc/passwdCCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswd Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to enable an existing disabled account. Sending notification of account enabling actions to the system administrator and ISSO is one method for mitigating this risk. Such a capability greatly reduces the risk that operating system accessibility will be negatively affected for extended periods of time and also provides logging that can be used for forensic purposes. @@ -29269,21 +29269,21 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system notifies the System Administrator and Information System Security Officer(s) when accounts are created, or enabled when previously disabled. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: -$ sudo auditctl -l | grep -E '(/etc/passwd)' +$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' --w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to notify the System Administrator(s) and Information System Security Officer(s) when accounts are created, or enabled when previously disabled. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the @@ -29291,14 +29291,61 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
medium
CCI-002132SRG-OS-000304-GPOS-00121TBD - Assigned by DISA after STIG releaseThe operating system must notify system administrators and ISSOs of account enabling actions.CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoersOnce an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to enable an existing disabled account. Sending notification of account enabling actions to the system administrator and ISSO is one method for mitigating this risk. Such a capability greatly reduces the risk that operating system accessibility will be negatively affected for extended periods of time and also provides logging that can be used for forensic purposes. + +In order to detect and respond to events that affect user accessibility and application processing, operating systems must audit account enabling actions and, as required, notify the appropriate individuals so they can investigate the event. + +To address access requirements, many operating systems can be integrated with enterprise-level authentication/access/auditing mechanisms that meet or exceed access control policy requirements.At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-w /etc/sudoers -p wa -k actions
Applicable - ConfigurableVerify the operating system notifies the System Administrator and Information System Security Officer(s) when accounts are created, or enabled when previously disabled. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + +$ sudo auditctl -l | grep /etc/sudoers + +-w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to notify the System Administrator(s) and Information System Security Officer(s) when accounts are created, or enabled when previously disabled.At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-w /etc/sudoers -p wa -k actions
medium
CCI-002132SRG-OS-000304-GPOS-00121TBD - Assigned by DISA after STIG releaseThe operating system must notify system administrators and ISSOs of account enabling actions.CCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to enable an existing disabled account. Sending notification of account enabling actions to the system administrator and ISSO is one method for mitigating this risk. Such a capability greatly reduces the risk that operating system accessibility will be negatively affected for extended periods of time and also provides logging that can be used for forensic purposes. -In order to detect and respond to events that affect user accessibility and application processing, operating systems must audit account enabling actions and, as required, notify the appropriate individuals so they can investigate the event. -To address access requirements, many operating systems can be integrated with enterprise-level authentication/access/auditing mechanisms that meet or exceed access control policy requirements.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
Applicable - ConfigurableVerify the operating system notifies the System Administrator and Information System Security Officer(s) when accounts are created, or enabled when previously disabled. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: -$ sudo auditctl -l | grep/etc/sudoers.d +
CCI-002165SRG-OS-000312-GPOS-00122TBD - Assigned by DISA after STIG releaseThe operating system must allow operating system admins to pass information to any other operating system admin or user.Configure the operating system to notify the System Administrator(s) and Information System Security Officer(s) when accounts are created, or enabled when previously disabled.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
CCE-81030-9: Enable Kernel Parameter to Enforce DAC on SymlinksDiscretionary Access Control (DAC) is based on the notion that individual users are "owners" of objects and therefore have discretion over who should be authorized to access the object and in which mode (e.g., read or write). Ownership is usually acquired as a consequence of creating the object or via specified ownership assignment. DAC allows the owner to determine who will have access to objects they control. An example of DAC includes user-controlled file permissions. + +When discretionary access control policies are implemented, subjects are not constrained with regard to what actions they can take with information for which they have already been granted access. Thus, subjects that have been granted access to information are not prevented from passing (i.e., the subjects have the discretion to pass) the information to other subjects or objects. A subject that is constrained in its operation by Mandatory Access Control policies is still able to operate under the less rigorous constraints of this requirement. Thus, while Mandatory Access Control imposes constraints preventing a subject from passing information to another subject operating at a different sensitivity level, this requirement permits the subject to pass the information to any subject at the same sensitivity level. The policy is bounded by the information system boundary. Once the information is passed outside the control of the information system, additional means may be required to ensure the constraints remain in effect. While the older, more traditional definitions of discretionary access control require identity-based access control, that limitation is not required for this use of discretionary access control.To set the runtime status of the fs.protected_symlinks kernel parameter, run the following command:
$ sudo sysctl -w fs.protected_symlinks=1
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
fs.protected_symlinks = 1
Applicable - ConfigurableVerify the operating system allows operating system admins to pass information to any other operating system admin or user. If it does not, this is a finding.The runtime status of the fs.protected_symlinks kernel parameter can be queried +by running the following command: +
$ sysctl fs.protected_symlinks
+1. + Is it the case that the correct value is not returned?
Configure the operating system to allow operating system admins to pass information to any other operating system admin or user.To set the runtime status of the fs.protected_symlinks kernel parameter, run the following command:
$ sudo sysctl -w fs.protected_symlinks=1
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
fs.protected_symlinks = 1
medium
CCI-002165 SRG-OS-000312-GPOS-00122
CCI-002165SRG-OS-000312-GPOS-00122SRG-OS-000312-GPOS-00123 TBD - Assigned by DISA after STIG releaseThe operating system must allow operating system admins to pass information to any other operating system admin or user.The operating system must allow operating system admins to grant their privileges to other operating system admins. CCE-81030-9: Enable Kernel Parameter to Enforce DAC on SymlinksTo set the runtime status of the fs.protected_symlinks kernel parameter, run the following command:
$ sudo sysctl -w fs.protected_symlinks=1
To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
fs.protected_symlinks = 1
Applicable - ConfigurableVerify the operating system allows operating system admins to pass information to any other operating system admin or user. If it does not, this is a finding.Verify the operating system allows operating system admins to grant their privileges to other operating system admins. If it does not, this is a finding. The runtime status of the fs.protected_symlinks kernel parameter can be queried by running the following command:
$ sysctl fs.protected_symlinks
1. Is it the case that the correct value is not returned?
Configure the operating system to allow operating system admins to pass information to any other operating system admin or user.Configure the operating system to allow operating system admins to grant their privileges to other operating system admins. To set the runtime status of the fs.protected_symlinks kernel parameter, run the following command:
$ sudo sysctl -w fs.protected_symlinks=1
To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
fs.protected_symlinks = 1
medium
CCI-002165 SRG-OS-000312-GPOS-00123
CCI-002165SRG-OS-000312-GPOS-00123TBD - Assigned by DISA after STIG releaseThe operating system must allow operating system admins to grant their privileges to other operating system admins.CCE-81030-9: Enable Kernel Parameter to Enforce DAC on SymlinksDiscretionary Access Control (DAC) is based on the notion that individual users are "owners" of objects and therefore have discretion over who should be authorized to access the object and in which mode (e.g., read or write). Ownership is usually acquired as a consequence of creating the object or via specified ownership assignment. DAC allows the owner to determine who will have access to objects they control. An example of DAC includes user-controlled file permissions. - -When discretionary access control policies are implemented, subjects are not constrained with regard to what actions they can take with information for which they have already been granted access. Thus, subjects that have been granted access to information are not prevented from passing (i.e., the subjects have the discretion to pass) the information to other subjects or objects. A subject that is constrained in its operation by Mandatory Access Control policies is still able to operate under the less rigorous constraints of this requirement. Thus, while Mandatory Access Control imposes constraints preventing a subject from passing information to another subject operating at a different sensitivity level, this requirement permits the subject to pass the information to any subject at the same sensitivity level. The policy is bounded by the information system boundary. Once the information is passed outside the control of the information system, additional means may be required to ensure the constraints remain in effect. While the older, more traditional definitions of discretionary access control require identity-based access control, that limitation is not required for this use of discretionary access control.To set the runtime status of the fs.protected_symlinks kernel parameter, run the following command:
$ sudo sysctl -w fs.protected_symlinks=1
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
fs.protected_symlinks = 1
Applicable - ConfigurableVerify the operating system allows operating system admins to grant their privileges to other operating system admins. If it does not, this is a finding.The runtime status of the fs.protected_symlinks kernel parameter can be queried -by running the following command: -
$ sysctl fs.protected_symlinks
-1. - Is it the case that the correct value is not returned?
Configure the operating system to allow operating system admins to grant their privileges to other operating system admins.To set the runtime status of the fs.protected_symlinks kernel parameter, run the following command:
$ sudo sysctl -w fs.protected_symlinks=1
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
fs.protected_symlinks = 1
medium
CCI-002235SRG-OS-000324-GPOS-00125TBD - Assigned by DISA after STIG releaseThe operating system must prevent non-privileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures.CCE-81030-9: Enable Kernel Parameter to Enforce DAC on SymlinksPreventing non-privileged users from executing privileged functions mitigates the risk that unauthorized individuals or processes may gain unnecessary access to information or privileges. + +Privileged functions include, for example, establishing accounts, performing system integrity checks, or administering cryptographic key management activities. Non-privileged users are individuals that do not possess appropriate authorizations. Circumventing intrusion detection and prevention mechanisms or malicious code protection mechanisms are examples of privileged functions that require protection from non-privileged users.To set the runtime status of the fs.protected_symlinks kernel parameter, run the following command:
$ sudo sysctl -w fs.protected_symlinks=1
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
fs.protected_symlinks = 1
Applicable - ConfigurableVerify that the operating system prevents non-privileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures. If it does not, this is a finding.The runtime status of the fs.protected_symlinks kernel parameter can be queried +by running the following command: +
$ sysctl fs.protected_symlinks
+1. + Is it the case that the correct value is not returned?
Configure the operating system to prevent non-privileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures.To set the runtime status of the fs.protected_symlinks kernel parameter, run the following command:
$ sudo sysctl -w fs.protected_symlinks=1
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
fs.protected_symlinks = 1
medium
CCI-002235 SRG-OS-000324-GPOS-00125
CCI-002235SRG-OS-000324-GPOS-00125TBD - Assigned by DISA after STIG releaseThe operating system must prevent non-privileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures.CCE-81027-5: Enable Kernel Parameter to Enforce DAC on HardlinksPreventing non-privileged users from executing privileged functions mitigates the risk that unauthorized individuals or processes may gain unnecessary access to information or privileges. - -Privileged functions include, for example, establishing accounts, performing system integrity checks, or administering cryptographic key management activities. Non-privileged users are individuals that do not possess appropriate authorizations. Circumventing intrusion detection and prevention mechanisms or malicious code protection mechanisms are examples of privileged functions that require protection from non-privileged users.To set the runtime status of the fs.protected_hardlinks kernel parameter, run the following command:
$ sudo sysctl -w fs.protected_hardlinks=1
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
fs.protected_hardlinks = 1
Applicable - ConfigurableVerify that the operating system prevents non-privileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures. If it does not, this is a finding.The runtime status of the fs.protected_hardlinks kernel parameter can be queried -by running the following command: -
$ sysctl fs.protected_hardlinks
-1. - Is it the case that the correct value is not returned?
Configure the operating system to prevent non-privileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures.To set the runtime status of the fs.protected_hardlinks kernel parameter, run the following command:
$ sudo sysctl -w fs.protected_hardlinks=1
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
fs.protected_hardlinks = 1
medium
CCI-002235SRG-OS-000324-GPOS-00125TBD - Assigned by DISA after STIG releaseThe operating system must prevent non-privileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures.CCE-82361-7: Prevent user from disabling the screen lockPreventing non-privileged users from executing privileged functions mitigates the risk that unauthorized individuals or processes may gain unnecessary access to information or privileges. - -Privileged functions include, for example, establishing accounts, performing system integrity checks, or administering cryptographic key management activities. Non-privileged users are individuals that do not possess appropriate authorizations. Circumventing intrusion detection and prevention mechanisms or malicious code protection mechanisms are examples of privileged functions that require protection from non-privileged users.The tmux terminal multiplexer is used to implement -automatic session locking. It should not be listed in -/etc/shells.Applicable - ConfigurableVerify that the operating system prevents non-privileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures. If it does not, this is a finding.To verify that tmux is not listed as allowed shell on the system -run the following command: -
$ grep 'tmux$' /etc/shells
-The output should be empty. Is it the case that tmux is listed in /etc/shells?
Configure the operating system to prevent non-privileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures.The tmux terminal multiplexer is used to implement -automatic session locking. It should not be listed in -/etc/shells.low
CCI-002235 SRG-OS-000324-GPOS-00125
CCI-002235SRG-OS-000324-GPOS-00125TBD - Assigned by DISA after STIG releaseThe operating system must prevent non-privileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures.CCE-81030-9: Enable Kernel Parameter to Enforce DAC on SymlinksPreventing non-privileged users from executing privileged functions mitigates the risk that unauthorized individuals or processes may gain unnecessary access to information or privileges. - -Privileged functions include, for example, establishing accounts, performing system integrity checks, or administering cryptographic key management activities. Non-privileged users are individuals that do not possess appropriate authorizations. Circumventing intrusion detection and prevention mechanisms or malicious code protection mechanisms are examples of privileged functions that require protection from non-privileged users.To set the runtime status of the fs.protected_symlinks kernel parameter, run the following command:
$ sudo sysctl -w fs.protected_symlinks=1
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
fs.protected_symlinks = 1
Applicable - ConfigurableVerify that the operating system prevents non-privileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures. If it does not, this is a finding.The runtime status of the fs.protected_symlinks kernel parameter can be queried -by running the following command: -
$ sysctl fs.protected_symlinks
-1. - Is it the case that the correct value is not returned?
Configure the operating system to prevent non-privileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures.To set the runtime status of the fs.protected_symlinks kernel parameter, run the following command:
$ sudo sysctl -w fs.protected_symlinks=1
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
fs.protected_symlinks = 1
medium
CCI-002235 SRG-OS-000324-GPOS-00125
CCI-002235SRG-OS-000324-GPOS-00125TBD - Assigned by DISA after STIG releaseThe operating system must prevent non-privileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures.CCE-82361-7: Prevent user from disabling the screen lockPreventing non-privileged users from executing privileged functions mitigates the risk that unauthorized individuals or processes may gain unnecessary access to information or privileges. + +Privileged functions include, for example, establishing accounts, performing system integrity checks, or administering cryptographic key management activities. Non-privileged users are individuals that do not possess appropriate authorizations. Circumventing intrusion detection and prevention mechanisms or malicious code protection mechanisms are examples of privileged functions that require protection from non-privileged users.The tmux terminal multiplexer is used to implement +automatic session locking. It should not be listed in +/etc/shells.Applicable - ConfigurableVerify that the operating system prevents non-privileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures. If it does not, this is a finding.To verify that tmux is not listed as allowed shell on the system +run the following command: +
$ grep 'tmux$' /etc/shells
+The output should be empty. Is it the case that tmux is listed in /etc/shells?
Configure the operating system to prevent non-privileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures.The tmux terminal multiplexer is used to implement +automatic session locking. It should not be listed in +/etc/shells.low
CCI-002235SRG-OS-000324-GPOS-00125TBD - Assigned by DISA after STIG releaseThe operating system must prevent non-privileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures.CCE-81027-5: Enable Kernel Parameter to Enforce DAC on HardlinksPreventing non-privileged users from executing privileged functions mitigates the risk that unauthorized individuals or processes may gain unnecessary access to information or privileges. + +Privileged functions include, for example, establishing accounts, performing system integrity checks, or administering cryptographic key management activities. Non-privileged users are individuals that do not possess appropriate authorizations. Circumventing intrusion detection and prevention mechanisms or malicious code protection mechanisms are examples of privileged functions that require protection from non-privileged users.To set the runtime status of the fs.protected_hardlinks kernel parameter, run the following command:
$ sudo sysctl -w fs.protected_hardlinks=1
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
fs.protected_hardlinks = 1
Applicable - ConfigurableVerify that the operating system prevents non-privileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures. If it does not, this is a finding.The runtime status of the fs.protected_hardlinks kernel parameter can be queried +by running the following command: +
$ sysctl fs.protected_hardlinks
+1. + Is it the case that the correct value is not returned?
Configure the operating system to prevent non-privileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures.To set the runtime status of the fs.protected_hardlinks kernel parameter, run the following command:
$ sudo sysctl -w fs.protected_hardlinks=1
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
fs.protected_hardlinks = 1
medium
CCI-002238SRG-OS-000329-GPOS-00128TBD - Assigned by DISA after STIG releaseThe operating system must automatically lock an account until the locked account is released by an administrator when three unsuccessful logon attempts in 15 minutes occur.CCE-86067-6: Lock Accounts Must PersistBy 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.This rule ensures that the system lock out accounts using pam_faillock.so persist +after system reboot. From "pam_faillock" man pages: +
Note that the default directory that "pam_faillock" uses is usually cleared on system
+boot so the access will be reenabled after system reboot. If that is undesirable, a different
+tally directory must be set with the "dir" option.
+ +pam_faillock.so module requires multiple entries in pam files. These entries must be carefully +defined to work as expected. In order to avoid errors when manually editing these files, it is +recommended to use the appropriate tools, such as authselect or authconfig, +depending on the OS version. + +The chosen profile expects the directory to be .
Applicable - ConfigurableVerify the operating system automatically locks an account until the locked account is released by an administrator when three unsuccessful logon attempts in 15 minutes are made. If it does not, this is a finding.To ensure the tally directory is configured correctly, run the following command: +
$ sudo grep 'dir =' /etc/security/faillock.conf
+The output should show that dir is set to something other than "/var/run/faillock" Is it the case that the "dir" option is not set to a non-default documented tally log directory, is missing or commented out?
Configure the operating system to automatically lock an account until the locked account is released by an administrator when three unsuccessful logon attempts in 15 minutes are made.This rule ensures that the system lock out accounts using pam_faillock.so persist +after system reboot. From "pam_faillock" man pages: +
Note that the default directory that "pam_faillock" uses is usually cleared on system
+boot so the access will be reenabled after system reboot. If that is undesirable, a different
+tally directory must be set with the "dir" option.
+ +pam_faillock.so module requires multiple entries in pam files. These entries must be carefully +defined to work as expected. In order to avoid errors when manually editing these files, it is +recommended to use the appropriate tools, such as authselect or authconfig, +depending on the OS version. + +The chosen profile expects the directory to be .
medium
CCI-002238 SRG-OS-000329-GPOS-00128TBD - Assigned by DISA after STIG release The operating system must automatically lock an account until the locked account is released by an administrator when three unsuccessful logon attempts in 15 minutes occur.CCE-80670-3: Set Lockout Time for Failed Password AttemptsCCE-80668-7: Configure the root Account for Failed Password Attempts 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.This rule configures the system to lock out accounts during a specified time period after a -number of incorrect login attempts using pam_faillock.so. - - -Ensure that the file /etc/security/faillock.conf contains the following entry: -unlock_time=<interval-in-seconds> where -interval-in-seconds is or greater. - + This rule configures the system to lock out the root account after a number of +incorrect login attempts using pam_faillock.so. pam_faillock.so module requires multiple entries in pam files. These entries must be carefully -defined to work as expected. In order to avoid any errors when manually editing these files, -it is recommended to use the appropriate tools, such as authselect or authconfig, -depending on the OS version. - -If unlock_time is set to 0, manual intervention by an administrator is required -to unlock a user. This should be done using the faillock tool. Applicable - Configurable Verify the operating system automatically locks an account until the locked account is released by an administrator when three unsuccessful logon attempts in 15 minutes are made. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 is configured to lock an account until released by an administrator -after unsuccessful logon -attempts with the command: + Verify Red Hat Enterprise Linux 8 is configured to lock the root account after +unsuccessful logon attempts with the command: -
$ grep 'unlock_time =' /etc/security/faillock.conf
-unlock_time = Is it the case that the "unlock_time" option is not set to "", -the line is missing, or commented out?
Configure the operating system to automatically lock an account until the locked account is released by an administrator when three unsuccessful logon attempts in 15 minutes are made.This rule configures the system to lock out accounts during a specified time period after a -number of incorrect login attempts using pam_faillock.so. - - -Ensure that the file /etc/security/faillock.conf contains the following entry: -unlock_time=<interval-in-seconds> where -interval-in-seconds is or greater. - + This rule configures the system to lock out the root account after a number of +incorrect login attempts using pam_faillock.so. pam_faillock.so module requires multiple entries in pam files. These entries must be carefully -defined to work as expected. In order to avoid any errors when manually editing these files, -it is recommended to use the appropriate tools, such as authselect or authconfig, -depending on the OS version. - -If unlock_time is set to 0, manual intervention by an administrator is required -to unlock a user. This should be done using the faillock tool. medium TBD - Assigned by DISA after STIG release The operating system must automatically lock an account until the locked account is released by an administrator when three unsuccessful logon attempts in 15 minutes occur.CCE-86067-6: Lock Accounts Must PersistCCE-80670-3: Set Lockout Time for Failed Password Attempts 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.This rule ensures that the system lock out accounts using pam_faillock.so persist -after system reboot. From "pam_faillock" man pages: -
Note that the default directory that "pam_faillock" uses is usually cleared on system
-boot so the access will be reenabled after system reboot. If that is undesirable, a different
-tally directory must be set with the "dir" option.
+
This rule configures the system to lock out accounts during a specified time period after a +number of incorrect login attempts using pam_faillock.so. + + +Ensure that the file /etc/security/faillock.conf contains the following entry: +unlock_time=<interval-in-seconds> where +interval-in-seconds is or greater. + pam_faillock.so module requires multiple entries in pam files. These entries must be carefully -defined to work as expected. In order to avoid errors when manually editing these files, it is -recommended to use the appropriate tools, such as authselect or authconfig, +defined to work as expected. In order to avoid any errors when manually editing these files, +it is recommended to use the appropriate tools, such as authselect or authconfig, depending on the OS version. -The chosen profile expects the directory to be . Applicable - Configurable Verify the operating system automatically locks an account until the locked account is released by an administrator when three unsuccessful logon attempts in 15 minutes are made. If it does not, this is a finding.To ensure the tally directory is configured correctly, run the following command: -
$ sudo grep 'dir =' /etc/security/faillock.conf
-The output should show that dir is set to something other than "/var/run/faillock" Is it the case that the "dir" option is not set to a non-default documented tally log directory, is missing or commented out?
Verify Red Hat Enterprise Linux 8 is configured to lock an account until released by an administrator +after unsuccessful logon +attempts with the command: + + +
$ grep 'unlock_time =' /etc/security/faillock.conf
+unlock_time = Is it the case that the "unlock_time" option is not set to "", +the line is missing, or commented out?
Configure the operating system to automatically lock an account until the locked account is released by an administrator when three unsuccessful logon attempts in 15 minutes are made.This rule ensures that the system lock out accounts using pam_faillock.so persist -after system reboot. From "pam_faillock" man pages: -
Note that the default directory that "pam_faillock" uses is usually cleared on system
-boot so the access will be reenabled after system reboot. If that is undesirable, a different
-tally directory must be set with the "dir" option.
+
This rule configures the system to lock out accounts during a specified time period after a +number of incorrect login attempts using pam_faillock.so. + + +Ensure that the file /etc/security/faillock.conf contains the following entry: +unlock_time=<interval-in-seconds> where +interval-in-seconds is or greater. + pam_faillock.so module requires multiple entries in pam files. These entries must be carefully -defined to work as expected. In order to avoid errors when manually editing these files, it is -recommended to use the appropriate tools, such as authselect or authconfig, +defined to work as expected. In order to avoid any errors when manually editing these files, +it is recommended to use the appropriate tools, such as authselect or authconfig, depending on the OS version. -The chosen profile expects the directory to be . medium
CCI-002238SRG-OS-000329-GPOS-00128TBD - Assigned by DISA after STIG releaseThe operating system must automatically lock an account until the locked account is released by an administrator when three unsuccessful logon attempts in 15 minutes occur.CCE-80668-7: Configure the root Account for Failed Password AttemptsBy 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.This rule configures the system to lock out the root account after a number of -incorrect login attempts using pam_faillock.so. - -pam_faillock.so module requires multiple entries in pam files. These entries must be carefully -defined to work as expected. In order to avoid errors when manually editing these files, it is -recommended to use the appropriate tools, such as authselect or authconfig, -depending on the OS version.Applicable - ConfigurableVerify the operating system automatically locks an account until the locked account is released by an administrator when three unsuccessful logon attempts in 15 minutes are made. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 is configured to lock the root account after -unsuccessful logon attempts with the command: - - -
$ grep even_deny_root /etc/security/faillock.conf
-even_deny_root Is it the case that the "even_deny_root" option is not set, is missing or commented out?
Configure the operating system to automatically lock an account until the locked account is released by an administrator when three unsuccessful logon attempts in 15 minutes are made.This rule configures the system to lock out the root account after a number of -incorrect login attempts using pam_faillock.so. - -pam_faillock.so module requires multiple entries in pam files. These entries must be carefully -defined to work as expected. In order to avoid errors when manually editing these files, it is -recommended to use the appropriate tools, such as authselect or authconfig, -depending on the OS version.medium
CCI-001849SRG-OS-000341-GPOS-00132TBD - Assigned by DISA after STIG releaseThe operating system must allocate audit record storage capacity to store at least one weeks worth of audit records, when audit records are not immediately sent to a central audit record storage facility.CCE-80854-3: Ensure /var/log/audit Located On Separate PartitionIn order to ensure operating systems have a sufficient storage capacity in which to write the audit logs, operating systems need to be able to allocate audit record storage capacity. - -The task of allocating audit record storage capacity is usually performed during initial installation of the operating system.Audit logs are stored in the /var/log/audit directory. - -Ensure that /var/log/audit has its own partition or logical -volume at installation time, or migrate it using LVM. -Make absolutely certain that it is large enough to store all -audit logs that will be created by the auditing daemon.Applicable - ConfigurableVerify the operating system allocates audit record storage capacity to store at least one week's worth of audit records, when audit records are not immediately sent to a central audit record storage facility. If it does not, this is a finding.Verify that a separate file system/partition has been created for /var/log/audit with the following command: - -
$ mountpoint /var/log/audit
- Is it the case that "/var/log/audit is not a mountpoint" is returned?
Configure the operating system to allocate audit record storage capacity to store at least one week's worth of audit records, when audit records are not immediately sent to a central audit record storage facility.Audit logs are stored in the /var/log/audit directory. - -Ensure that /var/log/audit has its own partition or logical -volume at installation time, or migrate it using LVM. -Make absolutely certain that it is large enough to store all -audit logs that will be created by the auditing daemon.low
CCI-001849 SRG-OS-000341-GPOS-00132
CCI-001851SRG-OS-000342-GPOS-00133CCI-001849SRG-OS-000341-GPOS-00132 TBD - Assigned by DISA after STIG releaseThe operating system must off-load audit records onto a different system or media from the system being audited.The operating system must allocate audit record storage capacity to store at least one weeks worth of audit records, when audit records are not immediately sent to a central audit record storage facility.CCE-80863-4: Ensure Logs Sent To Remote HostCCE-80854-3: Ensure /var/log/audit Located On Separate PartitionInformation stored in one location is vulnerable to accidental or incidental deletion or alteration. + In order to ensure operating systems have a sufficient storage capacity in which to write the audit logs, operating systems need to be able to allocate audit record storage capacity. -Off-loading is a common process in information systems with limited audit storage capacity.To configure rsyslog to send logs to a remote log server, -open /etc/rsyslog.conf and read and understand the last section of the file, -which describes the multiple directives necessary to activate remote -logging. -Along with these other directives, the system can be configured -to forward its logs to a particular log server by -adding or correcting one of the following lines, -substituting appropriately. -The choice of protocol depends on the environment of the system; -although TCP and RELP provide more reliable message delivery, -they may not be supported in all environments. -
-To use UDP for log message delivery: -
*.* @
-
-To use TCP for log message delivery: -
*.* @@
-
-To use RELP for log message delivery: -
*.* :omrelp:
-
-There must be a resolvable DNS CNAME or Alias record set to "" for logs to be sent correctly to the centralized logging utility.
Audit logs are stored in the /var/log/audit directory. + +Ensure that /var/log/audit has its own partition or logical +volume at installation time, or migrate it using LVM. +Make absolutely certain that it is large enough to store all +audit logs that will be created by the auditing daemon. Applicable - ConfigurableVerify the operating system off-loads audit records onto a different system or media from the system being audited. If it does not, this is a finding.To ensure logs are sent to a remote host, examine the file -/etc/rsyslog.conf. -If using UDP, a line similar to the following should be present: -
 *.* @
-If using TCP, a line similar to the following should be present: -
 *.* @@
-If using RELP, a line similar to the following should be present: -
 *.* :omrelp:
Is it the case that no evidence that the audit logs are being off-loaded to another system or media?
Configure the operating system to off-load audit records onto a different system or media from the system being audited.To configure rsyslog to send logs to a remote log server, -open /etc/rsyslog.conf and read and understand the last section of the file, -which describes the multiple directives necessary to activate remote -logging. -Along with these other directives, the system can be configured -to forward its logs to a particular log server by -adding or correcting one of the following lines, -substituting appropriately. -The choice of protocol depends on the environment of the system; -although TCP and RELP provide more reliable message delivery, -they may not be supported in all environments. -
-To use UDP for log message delivery: -
*.* @
-
-To use TCP for log message delivery: -
*.* @@
-
-To use RELP for log message delivery: -
*.* :omrelp:
-
-There must be a resolvable DNS CNAME or Alias record set to "" for logs to be sent correctly to the centralized logging utility.
mediumVerify the operating system allocates audit record storage capacity to store at least one week's worth of audit records, when audit records are not immediately sent to a central audit record storage facility. If it does not, this is a finding.Verify that a separate file system/partition has been created for /var/log/audit with the following command: + +
$ mountpoint /var/log/audit
+ Is it the case that "/var/log/audit is not a mountpoint" is returned?
Configure the operating system to allocate audit record storage capacity to store at least one week's worth of audit records, when audit records are not immediately sent to a central audit record storage facility.Audit logs are stored in the /var/log/audit directory. + +Ensure that /var/log/audit has its own partition or logical +volume at installation time, or migrate it using LVM. +Make absolutely certain that it is large enough to store all +audit logs that will be created by the auditing daemon.low
CCI-001851SRG-OS-000342-GPOS-00133TBD - Assigned by DISA after STIG releaseThe operating system must off-load audit records onto a different system or media from the system being audited.CCE-86339-9: Ensure Rsyslog Authenticates Off-Loaded Audit RecordsInformation stored in one location is vulnerable to accidental or incidental deletion or alteration. -Off-loading is a common process in information systems with limited audit storage capacity.Rsyslogd is a system utility providing support for message logging. Support -for both internet and UNIX domain sockets enables this utility to support both local -and remote logging. Couple this utility with gnutls (which is a secure communications -library implementing the SSL, TLS and DTLS protocols), and you have a method to securely -encrypt and off-load auditing. - -When using rsyslogd to off-load logs the remote system must be authenticated.Applicable - ConfigurableVerify the operating system off-loads audit records onto a different system or media from the system being audited. If it does not, this is a finding.Verify the operating system authenticates the remote logging server for off-loading audit logs with the following command: - -
$ sudo grep -i '$ActionSendStreamDriverAuthMode' /etc/rsyslog.conf /etc/rsyslog.d/*.conf
-The output should be -
$/etc/rsyslog.conf:$ActionSendStreamDriverAuthMode x509/name
Is it the case that $ActionSendStreamDriverAuthMode in /etc/rsyslog.conf is not set to x509/name?
Configure the operating system to off-load audit records onto a different system or media from the system being audited.Rsyslogd is a system utility providing support for message logging. Support -for both internet and UNIX domain sockets enables this utility to support both local -and remote logging. Couple this utility with gnutls (which is a secure communications -library implementing the SSL, TLS and DTLS protocols), and you have a method to securely -encrypt and off-load auditing. -When using rsyslogd to off-load logs the remote system must be authenticated.medium
CCI-001851TBD - Assigned by DISA after STIG release The operating system must off-load audit records onto a different system or media from the system being audited.CCE-82897-0: Set type of computer node name logging in audit logsCCE-86339-9: Ensure Rsyslog Authenticates Off-Loaded Audit Records Information stored in one location is vulnerable to accidental or incidental deletion or alteration. Off-loading is a common process in information systems with limited audit storage capacity.To configure Audit daemon to use a unique identifier -as computer node name in the audit events, -set name_format to -in /etc/audit/auditd.conf.Rsyslogd is a system utility providing support for message logging. Support +for both internet and UNIX domain sockets enables this utility to support both local +and remote logging. Couple this utility with gnutls (which is a secure communications +library implementing the SSL, TLS and DTLS protocols), and you have a method to securely +encrypt and off-load auditing. + +When using rsyslogd to off-load logs the remote system must be authenticated. Applicable - Configurable Verify the operating system off-loads audit records onto a different system or media from the system being audited. If it does not, this is a finding.To verify that Audit Daemon is configured to record the computer node -name in the audit events, run the following command: -
$ sudo grep name_format /etc/audit/auditd.conf
-The output should return the following: -
name_format = 
Is it the case that name_format isn't set to ?
Verify the operating system authenticates the remote logging server for off-loading audit logs with the following command: + +
$ sudo grep -i '$ActionSendStreamDriverAuthMode' /etc/rsyslog.conf /etc/rsyslog.d/*.conf
+The output should be +
$/etc/rsyslog.conf:$ActionSendStreamDriverAuthMode x509/name
Is it the case that $ActionSendStreamDriverAuthMode in /etc/rsyslog.conf is not set to x509/name?
Configure the operating system to off-load audit records onto a different system or media from the system being audited.To configure Audit daemon to use a unique identifier -as computer node name in the audit events, -set name_format to -in /etc/audit/auditd.conf.Rsyslogd is a system utility providing support for message logging. Support +for both internet and UNIX domain sockets enables this utility to support both local +and remote logging. Couple this utility with gnutls (which is a secure communications +library implementing the SSL, TLS and DTLS protocols), and you have a method to securely +encrypt and off-load auditing. + +When using rsyslogd to off-load logs the remote system must be authenticated. medium
CCI-001851SRG-OS-000342-GPOS-00133TBD - Assigned by DISA after STIG releaseThe operating system must off-load audit records onto a different system or media from the system being audited.CCE-82897-0: Set type of computer node name logging in audit logsInformation stored in one location is vulnerable to accidental or incidental deletion or alteration. - +Off-loading is a common process in information systems with limited audit storage capacity.To configure Audit daemon to use a unique identifier +as computer node name in the audit events, +set name_format to +in /etc/audit/auditd.conf.Applicable - ConfigurableVerify the operating system off-loads audit records onto a different system or media from the system being audited. If it does not, this is a finding.To verify that Audit Daemon is configured to record the computer node +name in the audit events, run the following command: +
$ sudo grep name_format /etc/audit/auditd.conf
+The output should return the following: +
name_format = 
Is it the case that name_format isn't set to ?
Configure the operating system to off-load audit records onto a different system or media from the system being audited.To configure Audit daemon to use a unique identifier +as computer node name in the audit events, +set name_format to +in /etc/audit/auditd.conf.medium
CCI-001855SRG-OS-000343-GPOS-00134CCI-001851SRG-OS-000342-GPOS-00133 TBD - Assigned by DISA after STIG releaseThe operating system must immediately notify the SA and ISSO (at a minimum) when allocated audit record storage volume reaches 75% of the repository maximum audit record storage capacity.CCE-80678-6: Configure auditd mail_acct Action on Low Disk SpaceThe operating system must off-load audit records onto a different system or media from the system being audited.If security personnel are not notified immediately when storage volume reaches 75% utilization, they are unable to plan for audit record storage capacity expansion.The auditd service can be configured to send email to -a designated account in certain situations. Add or correct the following line -in /etc/audit/auditd.conf to ensure that administrators are notified -via email for those situations: -
action_mail_acct = 
Applicable - ConfigurableVerify the operating system immediately notifies the SA and ISSO (at a minimum) when allocated audit record storage volume reaches 75% of the repository maximum audit record storage capacity. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to notify the SA and/or ISSO (at a minimum) in the event of an audit processing failure with the following command: + CCE-80863-4: Ensure Logs Sent To Remote HostInformation stored in one location is vulnerable to accidental or incidental deletion or alteration. -action_mail_acct = Is it the case that the value of the "action_mail_acct" keyword is not set to "" and/or other accounts for security personnel, the "action_mail_acct" keyword is missing, or the retuned line is commented out, ask the system administrator to indicate how they and the ISSO are notified of an audit process failure. If there is no evidence of the proper personnel being notified of an audit processing failure?Configure the operating system to immediately notify the SA and ISSO (at a minimum) when allocated audit record storage volume reaches 75% of the repository maximum audit record storage capacity.The auditd service can be configured to send email to -a designated account in certain situations. Add or correct the following line -in /etc/audit/auditd.conf to ensure that administrators are notified -via email for those situations: -
action_mail_acct = 
To configure rsyslog to send logs to a remote log server, +open /etc/rsyslog.conf and read and understand the last section of the file, +which describes the multiple directives necessary to activate remote +logging. +Along with these other directives, the system can be configured +to forward its logs to a particular log server by +adding or correcting one of the following lines, +substituting appropriately. +The choice of protocol depends on the environment of the system; +although TCP and RELP provide more reliable message delivery, +they may not be supported in all environments. +
+To use UDP for log message delivery: +
*.* @
+
+To use TCP for log message delivery: +
*.* @@
+
+To use RELP for log message delivery: +
*.* :omrelp:
+
+There must be a resolvable DNS CNAME or Alias record set to "" for logs to be sent correctly to the centralized logging utility.
Applicable - ConfigurableVerify the operating system off-loads audit records onto a different system or media from the system being audited. If it does not, this is a finding.To ensure logs are sent to a remote host, examine the file +/etc/rsyslog.conf. +If using UDP, a line similar to the following should be present: +
 *.* @
+If using TCP, a line similar to the following should be present: +
 *.* @@
+If using RELP, a line similar to the following should be present: +
 *.* :omrelp:
Is it the case that no evidence that the audit logs are being off-loaded to another system or media?
Configure the operating system to off-load audit records onto a different system or media from the system being audited.To configure rsyslog to send logs to a remote log server, +open /etc/rsyslog.conf and read and understand the last section of the file, +which describes the multiple directives necessary to activate remote +logging. +Along with these other directives, the system can be configured +to forward its logs to a particular log server by +adding or correcting one of the following lines, +substituting appropriately. +The choice of protocol depends on the environment of the system; +although TCP and RELP provide more reliable message delivery, +they may not be supported in all environments. +
+To use UDP for log message delivery: +
*.* @
+
+To use TCP for log message delivery: +
*.* @@
+
+To use RELP for log message delivery: +
*.* :omrelp:
+
+There must be a resolvable DNS CNAME or Alias record set to "" for logs to be sent correctly to the centralized logging utility.
medium
CCI-001855 SRG-OS-000343-GPOS-00134
CCI-001855SRG-OS-000343-GPOS-00134TBD - Assigned by DISA after STIG releaseThe operating system must immediately notify the SA and ISSO (at a minimum) when allocated audit record storage volume reaches 75% of the repository maximum audit record storage capacity.CCE-80678-6: Configure auditd mail_acct Action on Low Disk SpaceIf security personnel are not notified immediately when storage volume reaches 75% utilization, they are unable to plan for audit record storage capacity expansion.The auditd service can be configured to send email to +a designated account in certain situations. Add or correct the following line +in /etc/audit/auditd.conf to ensure that administrators are notified +via email for those situations: +
action_mail_acct = 
Applicable - ConfigurableVerify the operating system immediately notifies the SA and ISSO (at a minimum) when allocated audit record storage volume reaches 75% of the repository maximum audit record storage capacity. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to notify the SA and/or ISSO (at a minimum) in the event of an audit processing failure with the following command: + +
$ sudo grep action_mail_acct /etc/audit/auditd.conf
+
+action_mail_acct = 
Is it the case that the value of the "action_mail_acct" keyword is not set to "" and/or other accounts for security personnel, the "action_mail_acct" keyword is missing, or the retuned line is commented out, ask the system administrator to indicate how they and the ISSO are notified of an audit process failure. If there is no evidence of the proper personnel being notified of an audit processing failure?
Configure the operating system to immediately notify the SA and ISSO (at a minimum) when allocated audit record storage volume reaches 75% of the repository maximum audit record storage capacity.The auditd service can be configured to send email to +a designated account in certain situations. Add or correct the following line +in /etc/audit/auditd.conf to ensure that administrators are notified +via email for those situations: +
action_mail_acct = 
medium
CCI-001855 SRG-OS-000343-GPOS-00134
CCI-001891SRG-OS-000355-GPOS-00143TBD - Assigned by DISA after STIG releaseThe operating system must, for networked systems, compare internal information system clocks at least every 24 hours with a server which is synchronized to one of the redundant United States Naval Observatory (USNO) time servers, or a time server designated for the appropriate DoD network (NIPRNet/SIPRNet), and/or the Global Positioning System (GPS).CCE-86077-5: Ensure Chrony is only configured with the server directiveInaccurate time stamps make it more difficult to correlate events and can lead to an inaccurate analysis. Determining the correct time a particular event occurred on a system is critical when conducting forensic analysis and investigating system events. Sources outside the configured acceptable allowance (drift) may be inaccurate. + +Synchronizing internal information system clocks provides uniformity of time stamps for information systems with multiple system clocks and systems connected over a network. + +Organizations should consider endpoints that may not have regular access to the authoritative time server (e.g., mobile, teleworking, and tactical endpoints).Check that Chrony only has time sources configured with the server directive.Applicable - ConfigurableVerify the operating system, for networked systems, compares internal information system clocks at least every 24 hours with a server which is synchronized to one of the redundant United States Naval Observatory (USNO) time servers, or a time server designated for the appropriate DoD network (NIPRNet/SIPRNet), and/or the Global Positioning System (GPS). If it does not, this is a finding.Run the following command and verify that time sources are only configured with server directive: +
# grep -E "^(server|pool)" /etc/chrony.conf
+A line with the appropriate server should be returned, any line returned starting with pool is a finding. Is it the case that an authoritative remote time server is not configured or configured with pool directive?
Configure the operating system to, for networked systems, compare internal information system clocks at least every 24 hours with a server which is synchronized to one of the redundant United States Naval Observatory (USNO) time servers, or a time server designated for the appropriate DoD network (NIPRNet/SIPRNet), and/or the Global Positioning System (GPS).Check that Chrony only has time sources configured with the server directive.medium
CCI-001891 SRG-OS-000355-GPOS-00143
CCI-001891SRG-OS-000355-GPOS-00143CCI-002046SRG-OS-000356-GPOS-00144 TBD - Assigned by DISA after STIG releaseThe operating system must, for networked systems, compare internal information system clocks at least every 24 hours with a server which is synchronized to one of the redundant United States Naval Observatory (USNO) time servers, or a time server designated for the appropriate DoD network (NIPRNet/SIPRNet), and/or the Global Positioning System (GPS).The operating system must synchronize internal information system clocks to the authoritative time source when the time difference is greater than one second. CCE-86077-5: Ensure Chrony is only configured with the server directiveInaccurate time stamps make it more difficult to correlate events and can lead to an inaccurate analysis. Determining the correct time a particular event occurred on a system is critical when conducting forensic analysis and investigating system events. Sources outside the configured acceptable allowance (drift) may be inaccurate. + Inaccurate time stamps make it more difficult to correlate events and can lead to an inaccurate analysis. Determining the correct time a particular event occurred on a system is critical when conducting forensic analysis and investigating system events. -Synchronizing internal information system clocks provides uniformity of time stamps for information systems with multiple system clocks and systems connected over a network. +Synchronizing internal information system clocks provides uniformity of time stamps for information systems with multiple system clocks and systems connected over a network. Organizations should consider setting time periods for different types of systems (e.g., financial, legal, or mission-critical systems). -Organizations should consider endpoints that may not have regular access to the authoritative time server (e.g., mobile, teleworking, and tactical endpoints). Check that Chrony only has time sources configured with the server directive. Applicable - ConfigurableVerify the operating system, for networked systems, compares internal information system clocks at least every 24 hours with a server which is synchronized to one of the redundant United States Naval Observatory (USNO) time servers, or a time server designated for the appropriate DoD network (NIPRNet/SIPRNet), and/or the Global Positioning System (GPS). If it does not, this is a finding.Verify the operating system synchronizes internal information system clocks to the authoritative time source when the time difference is greater than one second. If it does not, this is a finding. Run the following command and verify that time sources are only configured with server directive:
# grep -E "^(server|pool)" /etc/chrony.conf
A line with the appropriate server should be returned, any line returned starting with pool is a finding. Is it the case that an authoritative remote time server is not configured or configured with pool directive?
Configure the operating system to, for networked systems, compare internal information system clocks at least every 24 hours with a server which is synchronized to one of the redundant United States Naval Observatory (USNO) time servers, or a time server designated for the appropriate DoD network (NIPRNet/SIPRNet), and/or the Global Positioning System (GPS).Configure the operating system to synchronize internal information system clocks to the authoritative time source when the time difference is greater than the organization-defined time period. Check that Chrony only has time sources configured with the server directive. medium
CCI-002046 SRG-OS-000356-GPOS-00144
CCI-002046SRG-OS-000356-GPOS-00144TBD - Assigned by DISA after STIG releaseThe operating system must synchronize internal information system clocks to the authoritative time source when the time difference is greater than one second.CCE-86077-5: Ensure Chrony is only configured with the server directiveInaccurate time stamps make it more difficult to correlate events and can lead to an inaccurate analysis. Determining the correct time a particular event occurred on a system is critical when conducting forensic analysis and investigating system events. - -Synchronizing internal information system clocks provides uniformity of time stamps for information systems with multiple system clocks and systems connected over a network. Organizations should consider setting time periods for different types of systems (e.g., financial, legal, or mission-critical systems). - -Organizations should also consider endpoints that may not have regular access to the authoritative time server (e.g., mobile, teleworking, and tactical endpoints). This requirement is related to the comparison done every 24 hours in SRG-OS-000355 because a comparison must be done in order to determine the time difference.Check that Chrony only has time sources configured with the server directive.Applicable - ConfigurableVerify the operating system synchronizes internal information system clocks to the authoritative time source when the time difference is greater than one second. If it does not, this is a finding.Run the following command and verify that time sources are only configured with server directive: -
# grep -E "^(server|pool)" /etc/chrony.conf
-A line with the appropriate server should be returned, any line returned starting with pool is a finding. Is it the case that an authoritative remote time server is not configured or configured with pool directive?
Configure the operating system to synchronize internal information system clocks to the authoritative time source when the time difference is greater than the organization-defined time period.Check that Chrony only has time sources configured with the server directive.medium
CCI-001890SRG-OS-000359-GPOS-00146TBD - Assigned by DISA after STIG releaseThe operating system must record time stamps for audit records that can be mapped to Coordinated Universal Time (UTC) or Greenwich Mean Time (GMT).CCE-86077-5: Ensure Chrony is only configured with the server directiveIf time stamps are not consistently applied and there is no common time reference, it is difficult to perform forensic analysis. + +Time stamps generated by the operating system include date and time. Time is commonly expressed in Coordinated Universal Time (UTC), a modern continuation of Greenwich Mean Time (GMT), or local time with an offset from UTC.Check that Chrony only has time sources configured with the server directive.Applicable - ConfigurableVerify the operating system records time stamps for audit records that can be mapped to Coordinated Universal Time (UTC) or Greenwich Mean Time (GMT). If it does not, this is a finding.Run the following command and verify that time sources are only configured with server directive: +
# grep -E "^(server|pool)" /etc/chrony.conf
+A line with the appropriate server should be returned, any line returned starting with pool is a finding. Is it the case that an authoritative remote time server is not configured or configured with pool directive?
Configure the operating system to record time stamps for audit records that can be mapped to Coordinated Universal Time (UTC) or Greenwich Mean Time (GMT).Check that Chrony only has time sources configured with the server directive.medium
CCI-001890 SRG-OS-000359-GPOS-00146
CCI-001890SRG-OS-000359-GPOS-00146TBD - Assigned by DISA after STIG releaseThe operating system must record time stamps for audit records that can be mapped to Coordinated Universal Time (UTC) or Greenwich Mean Time (GMT).CCE-86077-5: Ensure Chrony is only configured with the server directiveIf time stamps are not consistently applied and there is no common time reference, it is difficult to perform forensic analysis. - -Time stamps generated by the operating system include date and time. Time is commonly expressed in Coordinated Universal Time (UTC), a modern continuation of Greenwich Mean Time (GMT), or local time with an offset from UTC.Check that Chrony only has time sources configured with the server directive.Applicable - ConfigurableVerify the operating system records time stamps for audit records that can be mapped to Coordinated Universal Time (UTC) or Greenwich Mean Time (GMT). If it does not, this is a finding.Run the following command and verify that time sources are only configured with server directive: -
# grep -E "^(server|pool)" /etc/chrony.conf
-A line with the appropriate server should be returned, any line returned starting with pool is a finding. Is it the case that an authoritative remote time server is not configured or configured with pool directive?
Configure the operating system to record time stamps for audit records that can be mapped to Coordinated Universal Time (UTC) or Greenwich Mean Time (GMT).Check that Chrony only has time sources configured with the server directive.medium
TBD - Assigned by DISA after STIG release The operating system must enforce access restrictions.CCE-80897-2: Disable GSSAPI AuthenticationCCE-80898-0: Disable Kerberos Authentication Failure to provide logical access restrictions associated with changes to system configuration may have significant effects on the overall security of the system. @@ -31953,38 +31953,38 @@ Logical access restrictions include, for example, controls that restrict access to workflow automation, media libraries, abstract layers (e.g., changes implemented into third-party interfaces rather than directly into information systems), and change windows (e.g., changes occur only during specified times, making unauthorized changes easy to discover). Unless needed, SSH should not permit extraneous or unnecessary -authentication mechanisms like GSSAPI. +authentication mechanisms like Kerberos.
-The default SSH configuration disallows authentications based on GSSAPI. The appropriate -configuration is used if no value is set for GSSAPIAuthentication. +The default SSH configuration disallows authentication validation through Kerberos. +The appropriate configuration is used if no value is set for KerberosAuthentication.
-To explicitly disable GSSAPI authentication, add or correct the following line in +To explicitly disable Kerberos authentication, add or correct the following line in /etc/ssh/sshd_config: -
GSSAPIAuthentication no
Applicable - Configurable Verify the operating system enforces access restrictions. If it does not, this is a finding.To determine how the SSH daemon's GSSAPIAuthentication option is set, run the following command: + To determine how the SSH daemon's KerberosAuthentication option is set, run the following command: -
$ sudo grep -i GSSAPIAuthentication /etc/ssh/sshd_config
+
$ sudo grep -i KerberosAuthentication /etc/ssh/sshd_config
If a line indicating no is returned, then the required value is set. Is it the case that the required value is not set?
Configure the operating system to enforce access restrictions. Unless needed, SSH should not permit extraneous or unnecessary -authentication mechanisms like GSSAPI. +authentication mechanisms like Kerberos.
-The default SSH configuration disallows authentications based on GSSAPI. The appropriate -configuration is used if no value is set for GSSAPIAuthentication. +The default SSH configuration disallows authentication validation through Kerberos. +The appropriate configuration is used if no value is set for KerberosAuthentication.
-To explicitly disable GSSAPI authentication, add or correct the following line in +To explicitly disable Kerberos authentication, add or correct the following line in /etc/ssh/sshd_config: -
GSSAPIAuthentication no
medium TBD - Assigned by DISA after STIG release The operating system must enforce access restrictions.CCE-80898-0: Disable Kerberos AuthenticationCCE-80897-2: Disable GSSAPI Authentication Failure to provide logical access restrictions associated with changes to system configuration may have significant effects on the overall security of the system. @@ -32007,38 +32007,38 @@ Logical access restrictions include, for example, controls that restrict access to workflow automation, media libraries, abstract layers (e.g., changes implemented into third-party interfaces rather than directly into information systems), and change windows (e.g., changes occur only during specified times, making unauthorized changes easy to discover). Unless needed, SSH should not permit extraneous or unnecessary -authentication mechanisms like Kerberos. +authentication mechanisms like GSSAPI.
-The default SSH configuration disallows authentication validation through Kerberos. -The appropriate configuration is used if no value is set for KerberosAuthentication. +The default SSH configuration disallows authentications based on GSSAPI. The appropriate +configuration is used if no value is set for GSSAPIAuthentication.
-To explicitly disable Kerberos authentication, add or correct the following line in +To explicitly disable GSSAPI authentication, add or correct the following line in /etc/ssh/sshd_config: -
KerberosAuthentication no
Applicable - Configurable Verify the operating system enforces access restrictions. If it does not, this is a finding.To determine how the SSH daemon's KerberosAuthentication option is set, run the following command: + To determine how the SSH daemon's GSSAPIAuthentication option is set, run the following command: -
$ sudo grep -i KerberosAuthentication /etc/ssh/sshd_config
+
$ sudo grep -i GSSAPIAuthentication /etc/ssh/sshd_config
If a line indicating no is returned, then the required value is set. Is it the case that the required value is not set?
Configure the operating system to enforce access restrictions. Unless needed, SSH should not permit extraneous or unnecessary -authentication mechanisms like Kerberos. +authentication mechanisms like GSSAPI.
-The default SSH configuration disallows authentication validation through Kerberos. -The appropriate configuration is used if no value is set for KerberosAuthentication. +The default SSH configuration disallows authentications based on GSSAPI. The appropriate +configuration is used if no value is set for GSSAPIAuthentication.
-To explicitly disable Kerberos authentication, add or correct the following line in +To explicitly disable GSSAPI authentication, add or correct the following line in /etc/ssh/sshd_config: -
KerberosAuthentication no
medium
CCI-001749SRG-OS-000366-GPOS-00153TBD - Assigned by DISA after STIG releaseThe operating system must prevent the installation of patches, service packs, device drivers, or operating system components without verification they have been digitally signed using a certificate that is recognized and approved by the organization.CCE-80791-7: Ensure gpgcheck Enabled for Local PackagesChanges to any software components can have significant effects on the overall security of the operating system. This requirement ensures the software has not been tampered with and that it has been provided by a trusted vendor. + +Accordingly, patches, service packs, device drivers, or operating system components must be signed with a certificate recognized and approved by the organization. + +Verifying the authenticity of the software prior to installation validates the integrity of the patch or upgrade received from a vendor. This ensures the software has not been tampered with and that it has been provided by a trusted vendor. Self-signed certificates are disallowed by this requirement. The operating system should not have to verify the software again. This requirement does not mandate DoD certificates for this purpose; however, the certificate used to verify the software must be from an approved CA.yum should be configured to verify the signature(s) of local packages +prior to installation. To configure yum to verify signatures of local +packages, set the localpkg_gpgcheck to 1 in /etc/yum.conf.Applicable - ConfigurableVerify the operating system prevents the installation of patches, service packs, device drivers, or operating system components without verification they have been digitally signed using a certificate that is recognized and approved by the organization. If it does not, this is a finding.Verify that yum verifies the signature of local packages prior to install with the following command: + +
$ grep localpkg_gpgcheck /etc/yum.conf
+ +
localpkg_gpgcheck=1
+ +If "localpkg_gpgcheck" is not set to "1", or if the option is missing or commented out, ask the System Administrator how the certificates for patches and other operating system components are verified. Is it the case that there is no process to validate certificates for local packages that is approved by the organization?
Configure the operating system to prevent the installation of patches, service packs, device drivers, or operating system components without verification they have been digitally signed using a certificate that is recognized and approved by the organization.yum should be configured to verify the signature(s) of local packages +prior to installation. To configure yum to verify signatures of local +packages, set the localpkg_gpgcheck to 1 in /etc/yum.conf.high
CCI-001749 SRG-OS-000366-GPOS-00153TBD - Assigned by DISA after STIG release The operating system must prevent the installation of patches, service packs, device drivers, or operating system components without verification they have been digitally signed using a certificate that is recognized and approved by the organization.CCE-80791-7: Ensure gpgcheck Enabled for Local PackagesCCE-80792-5: Ensure gpgcheck Enabled for All yum Package Repositories Changes to any software components can have significant effects on the overall security of the operating system. This requirement ensures the software has not been tampered with and that it has been provided by a trusted vendor. Accordingly, patches, service packs, device drivers, or operating system components must be signed with a certificate recognized and approved by the organization. Verifying the authenticity of the software prior to installation validates the integrity of the patch or upgrade received from a vendor. This ensures the software has not been tampered with and that it has been provided by a trusted vendor. Self-signed certificates are disallowed by this requirement. The operating system should not have to verify the software again. This requirement does not mandate DoD certificates for this purpose; however, the certificate used to verify the software must be from an approved CA.yum should be configured to verify the signature(s) of local packages -prior to installation. To configure yum to verify signatures of local -packages, set the localpkg_gpgcheck to 1 in /etc/yum.conf.To ensure signature checking is not disabled for +any repos, remove any lines from files in /etc/yum.repos.d of the form: +
gpgcheck=0
Applicable - Configurable Verify the operating system prevents the installation of patches, service packs, device drivers, or operating system components without verification they have been digitally signed using a certificate that is recognized and approved by the organization. If it does not, this is a finding.Verify that yum verifies the signature of local packages prior to install with the following command: - -
$ grep localpkg_gpgcheck /etc/yum.conf
- -
localpkg_gpgcheck=1
- -If "localpkg_gpgcheck" is not set to "1", or if the option is missing or commented out, ask the System Administrator how the certificates for patches and other operating system components are verified. Is it the case that there is no process to validate certificates for local packages that is approved by the organization?
To determine whether yum has been configured to disable +gpgcheck for any repos, inspect all files in +/etc/yum.repos.d and ensure the following does not appear in any +sections: +
gpgcheck=0
+A value of 0 indicates that gpgcheck has been disabled for that repo. Is it the case that GPG checking is disabled?
Configure the operating system to prevent the installation of patches, service packs, device drivers, or operating system components without verification they have been digitally signed using a certificate that is recognized and approved by the organization.yum should be configured to verify the signature(s) of local packages -prior to installation. To configure yum to verify signatures of local -packages, set the localpkg_gpgcheck to 1 in /etc/yum.conf.To ensure signature checking is not disabled for +any repos, remove any lines from files in /etc/yum.repos.d of the form: +
gpgcheck=0
high
CCI-001749SRG-OS-000366-GPOS-00153CCI-001764SRG-OS-000368-GPOS-00154 TBD - Assigned by DISA after STIG releaseThe operating system must prevent the installation of patches, service packs, device drivers, or operating system components without verification they have been digitally signed using a certificate that is recognized and approved by the organization.The operating system must prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.CCE-80792-5: Ensure gpgcheck Enabled for All yum Package RepositoriesCCE-82140-5: Add nosuid Option to /tmpChanges to any software components can have significant effects on the overall security of the operating system. This requirement ensures the software has not been tampered with and that it has been provided by a trusted vendor. + Control of program execution is a mechanism used to prevent execution of unauthorized programs. Some operating systems may provide a capability that runs counter to the mission or provides users with functionality that exceeds mission requirements. This includes functions and services installed at the operating system-level. -Accordingly, patches, service packs, device drivers, or operating system components must be signed with a certificate recognized and approved by the organization. +Some of the programs, installed by default, may be harmful or may not be necessary to support essential organizational operations (e.g., key missions, functions). Removal of executable programs is not always possible; therefore, establishing a method of preventing program execution is critical to maintaining a secure system baseline. -Verifying the authenticity of the software prior to installation validates the integrity of the patch or upgrade received from a vendor. This ensures the software has not been tampered with and that it has been provided by a trusted vendor. Self-signed certificates are disallowed by this requirement. The operating system should not have to verify the software again. This requirement does not mandate DoD certificates for this purpose; however, the certificate used to verify the software must be from an approved CA.To ensure signature checking is not disabled for -any repos, remove any lines from files in /etc/yum.repos.d of the form: -
gpgcheck=0
The nosuid mount option can be used to prevent +execution of setuid programs in /tmp. The SUID and SGID permissions +should not be required in these world-writable directories. +Add the nosuid option to the fourth column of +/etc/fstab for the line which controls mounting of +/tmp. Applicable - ConfigurableVerify the operating system prevents the installation of patches, service packs, device drivers, or operating system components without verification they have been digitally signed using a certificate that is recognized and approved by the organization. If it does not, this is a finding.To determine whether yum has been configured to disable -gpgcheck for any repos, inspect all files in -/etc/yum.repos.d and ensure the following does not appear in any -sections: -
gpgcheck=0
-A value of 0 indicates that gpgcheck has been disabled for that repo. Is it the case that GPG checking is disabled?
Configure the operating system to prevent the installation of patches, service packs, device drivers, or operating system components without verification they have been digitally signed using a certificate that is recognized and approved by the organization.To ensure signature checking is not disabled for -any repos, remove any lines from files in /etc/yum.repos.d of the form: -
gpgcheck=0
highVerify the operating system prevents program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. If it does not, this is a finding.Verify the nosuid option is configured for the /tmp mount point, + run the following command: +
$ sudo mount | grep '\s/tmp\s'
+
. . . /tmp . . . nosuid . . .
+ Is it the case that the "/tmp" file system does not have the "nosuid" option set?
Configure the operating system to prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.The nosuid mount option can be used to prevent +execution of setuid programs in /tmp. The SUID and SGID permissions +should not be required in these world-writable directories. +Add the nosuid option to the fourth column of +/etc/fstab for the line which controls mounting of +/tmp.medium
CCI-001764 SRG-OS-000368-GPOS-00154TBD - Assigned by DISA after STIG release The operating system must prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.CCE-82191-8: Install fapolicyd PackageCCE-81050-7: Add nosuid Option to /home Control of program execution is a mechanism used to prevent execution of unauthorized programs. Some operating systems may provide a capability that runs counter to the mission or provides users with functionality that exceeds mission requirements. This includes functions and services installed at the operating system-level. Some of the programs, installed by default, may be harmful or may not be necessary to support essential organizational operations (e.g., key missions, functions). Removal of executable programs is not always possible; therefore, establishing a method of preventing program execution is critical to maintaining a secure system baseline. Methods for complying with this requirement include restricting execution of programs in certain environments, while preventing execution in other environments; or limiting execution of certain program functionality based on organization-defined criteria (e.g., privileges, subnets, sandboxed environments, or roles).The fapolicyd package can be installed with the following command: -
-$ sudo yum install fapolicyd
The nosuid mount option can be used to prevent +execution of setuid programs in /home. The SUID and SGID permissions +should not be required in these user data directories. +Add the nosuid option to the fourth column of +/etc/fstab for the line which controls mounting of +/home. Applicable - Configurable Verify the operating system prevents program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. If it does not, this is a finding.Run the following command to determine if the fapolicyd package is installed:
$ rpm -q fapolicyd
Is it the case that the fapolicyd package is not installed?
Verify the nosuid option is configured for the /home mount point, + run the following command: +
$ sudo mount | grep '\s/home\s'
+
. . . /home . . . nosuid . . .
+ Is it the case that the "/home" file system does not have the "nosuid" option set?
Configure the operating system to prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.The fapolicyd package can be installed with the following command: -
-$ sudo yum install fapolicyd
The nosuid mount option can be used to prevent +execution of setuid programs in /home. The SUID and SGID permissions +should not be required in these user data directories. +Add the nosuid option to the fourth column of +/etc/fstab for the line which controls mounting of +/home. medium TBD - Assigned by DISA after STIG release The operating system must prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.CCE-80837-8: Add nodev Option to /dev/shmCCE-80838-6: Add noexec Option to /dev/shm Control of program execution is a mechanism used to prevent execution of unauthorized programs. Some operating systems may provide a capability that runs counter to the mission or provides users with functionality that exceeds mission requirements. This includes functions and services installed at the operating system-level. Some of the programs, installed by default, may be harmful or may not be necessary to support essential organizational operations (e.g., key missions, functions). Removal of executable programs is not always possible; therefore, establishing a method of preventing program execution is critical to maintaining a secure system baseline. Methods for complying with this requirement include restricting execution of programs in certain environments, while preventing execution in other environments; or limiting execution of certain program functionality based on organization-defined criteria (e.g., privileges, subnets, sandboxed environments, or roles).The nodev mount option can be used to prevent creation of device -files in /dev/shm. Legitimate character and block devices should -not exist within temporary directories like /dev/shm. -Add the nodev option to the fourth column of + The noexec mount option can be used to prevent binaries +from being executed out of /dev/shm. +It can be dangerous to allow the execution of binaries +from world-writable temporary storage directories such as /dev/shm. +Add the noexec option to the fourth column of /etc/fstab for the line which controls mounting of /dev/shm. Applicable - Configurable Verify the operating system prevents program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. If it does not, this is a finding.Verify the nodev option is configured for the /dev/shm mount point, + Verify the noexec option is configured for the /dev/shm mount point, run the following command:
$ sudo mount | grep '\s/dev/shm\s'
-
. . . /dev/shm . . . nodev . . .
- Is it the case that the "/dev/shm" file system does not have the "nodev" option set?
Configure the operating system to prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.The nodev mount option can be used to prevent creation of device -files in /dev/shm. Legitimate character and block devices should -not exist within temporary directories like /dev/shm. -Add the nodev option to the fourth column of + The noexec mount option can be used to prevent binaries +from being executed out of /dev/shm. +It can be dangerous to allow the execution of binaries +from world-writable temporary storage directories such as /dev/shm. +Add the noexec option to the fourth column of /etc/fstab for the line which controls mounting of /dev/shm. mediumTBD - Assigned by DISA after STIG release The operating system must prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.CCE-82140-5: Add nosuid Option to /tmpCCE-82080-3: Add nodev Option to /var/log/audit Control of program execution is a mechanism used to prevent execution of unauthorized programs. Some operating systems may provide a capability that runs counter to the mission or provides users with functionality that exceeds mission requirements. This includes functions and services installed at the operating system-level. Some of the programs, installed by default, may be harmful or may not be necessary to support essential organizational operations (e.g., key missions, functions). Removal of executable programs is not always possible; therefore, establishing a method of preventing program execution is critical to maintaining a secure system baseline. Methods for complying with this requirement include restricting execution of programs in certain environments, while preventing execution in other environments; or limiting execution of certain program functionality based on organization-defined criteria (e.g., privileges, subnets, sandboxed environments, or roles).The nosuid mount option can be used to prevent -execution of setuid programs in /tmp. The SUID and SGID permissions -should not be required in these world-writable directories. -Add the nosuid option to the fourth column of + The nodev mount option can be used to prevent device files from +being created in /var/log/audit. +Legitimate character and block devices should exist only in +the /dev directory on the root partition or within chroot +jails built for system services. +Add the nodev option to the fourth column of /etc/fstab for the line which controls mounting of -/tmp. Applicable - Configurable Verify the operating system prevents program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. If it does not, this is a finding.Verify the nosuid option is configured for the /tmp mount point, + Verify the nodev option is configured for the /var/log/audit mount point, run the following command: -
$ sudo mount | grep '\s/tmp\s'
-
. . . /tmp . . . nosuid . . .
- Is it the case that the "/tmp" file system does not have the "nosuid" option set?
Configure the operating system to prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.The nosuid mount option can be used to prevent -execution of setuid programs in /tmp. The SUID and SGID permissions -should not be required in these world-writable directories. -Add the nosuid option to the fourth column of + The nodev mount option can be used to prevent device files from +being created in /var/log/audit. +Legitimate character and block devices should exist only in +the /dev directory on the root partition or within chroot +jails built for system services. +Add the nodev option to the fourth column of /etc/fstab for the line which controls mounting of -/tmp. medium TBD - Assigned by DISA after STIG release The operating system must prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.CCE-82151-2: Add noexec Option to /var/tmpCCE-82975-4: Add noexec Option to /var/log/audit Control of program execution is a mechanism used to prevent execution of unauthorized programs. Some operating systems may provide a capability that runs counter to the mission or provides users with functionality that exceeds mission requirements. This includes functions and services installed at the operating system-level. @@ -32480,23 +32535,23 @@ Methods for complying with this requirement include restricting execution of programs in certain environments, while preventing execution in other environments; or limiting execution of certain program functionality based on organization-defined criteria (e.g., privileges, subnets, sandboxed environments, or roles). The noexec mount option can be used to prevent binaries -from being executed out of /var/tmp. +from being executed out of /var/log/audit. Add the noexec option to the fourth column of /etc/fstab for the line which controls mounting of -/var/tmp. Applicable - Configurable Verify the operating system prevents program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. If it does not, this is a finding.Verify the noexec option is configured for the /var/tmp mount point, + Verify the noexec option is configured for the /var/log/audit mount point, run the following command: -
$ sudo mount | grep '\s/var/tmp\s'
-
. . . /var/tmp . . . noexec . . .
- Is it the case that the "/var/tmp" file system does not have the "noexec" option set?
Configure the operating system to prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. The noexec mount option can be used to prevent binaries -from being executed out of /var/tmp. +from being executed out of /var/log/audit. Add the noexec option to the fourth column of /etc/fstab for the line which controls mounting of -/var/tmp. medium TBD - Assigned by DISA after STIG release The operating system must prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.CCE-80839-4: Add nosuid Option to /dev/shmCCE-82154-6: Add nosuid Option to /var/tmp Control of program execution is a mechanism used to prevent execution of unauthorized programs. Some operating systems may provide a capability that runs counter to the mission or provides users with functionality that exceeds mission requirements. This includes functions and services installed at the operating system-level. Some of the programs, installed by default, may be harmful or may not be necessary to support essential organizational operations (e.g., key missions, functions). Removal of executable programs is not always possible; therefore, establishing a method of preventing program execution is critical to maintaining a secure system baseline. Methods for complying with this requirement include restricting execution of programs in certain environments, while preventing execution in other environments; or limiting execution of certain program functionality based on organization-defined criteria (e.g., privileges, subnets, sandboxed environments, or roles).The nosuid mount option can be used to prevent execution -of setuid programs in /dev/shm. The SUID and SGID permissions should not -be required in these world-writable directories. + The nosuid mount option can be used to prevent +execution of setuid programs in /var/tmp. The SUID and SGID permissions +should not be required in these world-writable directories. Add the nosuid option to the fourth column of /etc/fstab for the line which controls mounting of -/dev/shm. Applicable - Configurable Verify the operating system prevents program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. If it does not, this is a finding.Verify the nosuid option is configured for the /dev/shm mount point, + Verify the nosuid option is configured for the /var/tmp mount point, run the following command: -
$ sudo mount | grep '\s/dev/shm\s'
-
. . . /dev/shm . . . nosuid . . .
- Is it the case that the "/dev/shm" file system does not have the "nosuid" option set?
Configure the operating system to prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.The nosuid mount option can be used to prevent execution -of setuid programs in /dev/shm. The SUID and SGID permissions should not -be required in these world-writable directories. + The nosuid mount option can be used to prevent +execution of setuid programs in /var/tmp. The SUID and SGID permissions +should not be required in these world-writable directories. Add the nosuid option to the fourth column of /etc/fstab for the line which controls mounting of -/dev/shm. medium TBD - Assigned by DISA after STIG release The operating system must prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.CCE-82080-3: Add nodev Option to /var/log/auditCCE-82069-6: Add nodev Option to Non-Root Local Partitions Control of program execution is a mechanism used to prevent execution of unauthorized programs. Some operating systems may provide a capability that runs counter to the mission or provides users with functionality that exceeds mission requirements. This includes functions and services installed at the operating system-level. Some of the programs, installed by default, may be harmful or may not be necessary to support essential organizational operations (e.g., key missions, functions). Removal of executable programs is not always possible; therefore, establishing a method of preventing program execution is critical to maintaining a secure system baseline. Methods for complying with this requirement include restricting execution of programs in certain environments, while preventing execution in other environments; or limiting execution of certain program functionality based on organization-defined criteria (e.g., privileges, subnets, sandboxed environments, or roles).The nodev mount option can be used to prevent device files from -being created in /var/log/audit. -Legitimate character and block devices should exist only in -the /dev directory on the root partition or within chroot -jails built for system services. + The nodev mount option prevents files from being interpreted as +character or block devices. Legitimate character and block devices should +exist only in the /dev directory on the root partition or within +chroot jails built for system services. Add the nodev option to the fourth column of /etc/fstab for the line which controls mounting of -/var/log/audit. Applicable - Configurable Verify the operating system prevents program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. If it does not, this is a finding.Verify the nodev option is configured for the /var/log/audit mount point, - run the following command: -
$ sudo mount | grep '\s/var/log/audit\s'
-
. . . /var/log/audit . . . nodev . . .
- Is it the case that the "/var/log/audit" file system does not have the "nodev" option set?
To verify the nodev option is configured for non-root local partitions, run the following command: +
$ sudo mount | grep '^/dev\S* on /\S' | grep --invert-match 'nodev'
+The output shows local non-root partitions mounted without the nodev option, and there should be no output at all. + Is it the case that some mounts appear among output lines?
Configure the operating system to prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.The nodev mount option can be used to prevent device files from -being created in /var/log/audit. -Legitimate character and block devices should exist only in -the /dev directory on the root partition or within chroot -jails built for system services. + The nodev mount option prevents files from being interpreted as +character or block devices. Legitimate character and block devices should +exist only in the /dev directory on the root partition or within +chroot jails built for system services. Add the nodev option to the fourth column of /etc/fstab for the line which controls mounting of -/var/log/audit. medium TBD - Assigned by DISA after STIG release The operating system must prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.CCE-82077-9: Add nodev Option to /var/logCCE-82623-0: Add nodev Option to /tmp Control of program execution is a mechanism used to prevent execution of unauthorized programs. Some operating systems may provide a capability that runs counter to the mission or provides users with functionality that exceeds mission requirements. This includes functions and services installed at the operating system-level. @@ -32679,68 +32733,25 @@ Methods for complying with this requirement include restricting execution of programs in certain environments, while preventing execution in other environments; or limiting execution of certain program functionality based on organization-defined criteria (e.g., privileges, subnets, sandboxed environments, or roles). The nodev mount option can be used to prevent device files from -being created in /var/log. -Legitimate character and block devices should exist only in -the /dev directory on the root partition or within chroot -jails built for system services. +being created in /tmp. Legitimate character and block devices +should not exist within temporary directories like /tmp. Add the nodev option to the fourth column of /etc/fstab for the line which controls mounting of -/var/log. Applicable - Configurable Verify the operating system prevents program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. If it does not, this is a finding.Verify the nodev option is configured for the /var/log mount point, + Verify the nodev option is configured for the /tmp mount point, run the following command: -
$ sudo mount | grep '\s/var/log\s'
-
. . . /var/log . . . nodev . . .
- Is it the case that the "/var/log" file system does not have the "nodev" option set?
Configure the operating system to prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. The nodev mount option can be used to prevent device files from -being created in /var/log. -Legitimate character and block devices should exist only in -the /dev directory on the root partition or within chroot -jails built for system services. +being created in /tmp. Legitimate character and block devices +should not exist within temporary directories like /tmp. Add the nodev option to the fourth column of /etc/fstab for the line which controls mounting of -/var/log.medium
CCI-001764SRG-OS-000368-GPOS-00154TBD - Assigned by DISA after STIG releaseThe operating system must prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.CCE-81050-7: Add nosuid Option to /homeControl of program execution is a mechanism used to prevent execution of unauthorized programs. Some operating systems may provide a capability that runs counter to the mission or provides users with functionality that exceeds mission requirements. This includes functions and services installed at the operating system-level. - -Some of the programs, installed by default, may be harmful or may not be necessary to support essential organizational operations (e.g., key missions, functions). Removal of executable programs is not always possible; therefore, establishing a method of preventing program execution is critical to maintaining a secure system baseline. - -Methods for complying with this requirement include restricting execution of programs in certain environments, while preventing execution in other environments; or limiting execution of certain program functionality based on organization-defined criteria (e.g., privileges, subnets, sandboxed environments, or roles).The nosuid mount option can be used to prevent -execution of setuid programs in /home. The SUID and SGID permissions -should not be required in these user data directories. -Add the nosuid option to the fourth column of -/etc/fstab for the line which controls mounting of -/home.Applicable - ConfigurableVerify the operating system prevents program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. If it does not, this is a finding.Verify the nosuid option is configured for the /home mount point, - run the following command: -
$ sudo mount | grep '\s/home\s'
-
. . . /home . . . nosuid . . .
- Is it the case that the "/home" file system does not have the "nosuid" option set?
Configure the operating system to prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.The nosuid mount option can be used to prevent -execution of setuid programs in /home. The SUID and SGID permissions -should not be required in these user data directories. -Add the nosuid option to the fourth column of -/etc/fstab for the line which controls mounting of -/home. medium TBD - Assigned by DISA after STIG release The operating system must prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.CCE-82068-8: Add nodev Option to /var/tmpCCE-82077-9: Add nodev Option to /var/log Control of program execution is a mechanism used to prevent execution of unauthorized programs. Some operating systems may provide a capability that runs counter to the mission or provides users with functionality that exceeds mission requirements. This includes functions and services installed at the operating system-level. @@ -32761,64 +32772,29 @@ Methods for complying with this requirement include restricting execution of programs in certain environments, while preventing execution in other environments; or limiting execution of certain program functionality based on organization-defined criteria (e.g., privileges, subnets, sandboxed environments, or roles). The nodev mount option can be used to prevent device files from -being created in /var/tmp. Legitimate character and block devices -should not exist within temporary directories like /var/tmp. +being created in /var/log. +Legitimate character and block devices should exist only in +the /dev directory on the root partition or within chroot +jails built for system services. Add the nodev option to the fourth column of /etc/fstab for the line which controls mounting of -/var/tmp. Applicable - Configurable Verify the operating system prevents program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. If it does not, this is a finding.Verify the nodev option is configured for the /var/tmp mount point, + Verify the nodev option is configured for the /var/log mount point, run the following command: -
$ sudo mount | grep '\s/var/tmp\s'
-
. . . /var/tmp . . . nodev . . .
- Is it the case that the "/var/tmp" file system does not have the "nodev" option set?
Configure the operating system to prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. The nodev mount option can be used to prevent device files from -being created in /var/tmp. Legitimate character and block devices -should not exist within temporary directories like /var/tmp. +being created in /var/log. +Legitimate character and block devices should exist only in +the /dev directory on the root partition or within chroot +jails built for system services. Add the nodev option to the fourth column of /etc/fstab for the line which controls mounting of -/var/tmp.medium
CCI-001764SRG-OS-000368-GPOS-00154TBD - Assigned by DISA after STIG releaseThe operating system must prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.CCE-82921-8: Add nosuid Option to /var/log/auditControl of program execution is a mechanism used to prevent execution of unauthorized programs. Some operating systems may provide a capability that runs counter to the mission or provides users with functionality that exceeds mission requirements. This includes functions and services installed at the operating system-level. - -Some of the programs, installed by default, may be harmful or may not be necessary to support essential organizational operations (e.g., key missions, functions). Removal of executable programs is not always possible; therefore, establishing a method of preventing program execution is critical to maintaining a secure system baseline. - -Methods for complying with this requirement include restricting execution of programs in certain environments, while preventing execution in other environments; or limiting execution of certain program functionality based on organization-defined criteria (e.g., privileges, subnets, sandboxed environments, or roles).The nosuid mount option can be used to prevent -execution of setuid programs in /var/log/audit. The SUID and SGID permissions -should not be required in directories containing audit log files. -Add the nosuid option to the fourth column of -/etc/fstab for the line which controls mounting of -/var/log/audit.Applicable - ConfigurableVerify the operating system prevents program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. If it does not, this is a finding.Verify the nosuid option is configured for the /var/log/audit mount point, - run the following command: -
$ sudo mount | grep '\s/var/log/audit\s'
-
. . . /var/log/audit . . . nosuid . . .
- Is it the case that the "/var/log/audit" file system does not have the "nosuid" option set?
Configure the operating system to prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.The nosuid mount option can be used to prevent -execution of setuid programs in /var/log/audit. The SUID and SGID permissions -should not be required in directories containing audit log files. -Add the nosuid option to the fourth column of -/etc/fstab for the line which controls mounting of -/var/log/audit. medium TBD - Assigned by DISA after STIG release The operating system must prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.CCE-82154-6: Add nosuid Option to /var/tmpCCE-82921-8: Add nosuid Option to /var/log/audit Control of program execution is a mechanism used to prevent execution of unauthorized programs. Some operating systems may provide a capability that runs counter to the mission or provides users with functionality that exceeds mission requirements. This includes functions and services installed at the operating system-level. @@ -32878,66 +32854,25 @@ Methods for complying with this requirement include restricting execution of programs in certain environments, while preventing execution in other environments; or limiting execution of certain program functionality based on organization-defined criteria (e.g., privileges, subnets, sandboxed environments, or roles). The nosuid mount option can be used to prevent -execution of setuid programs in /var/tmp. The SUID and SGID permissions -should not be required in these world-writable directories. +execution of setuid programs in /var/log/audit. The SUID and SGID permissions +should not be required in directories containing audit log files. Add the nosuid option to the fourth column of /etc/fstab for the line which controls mounting of -/var/tmp. Applicable - Configurable Verify the operating system prevents program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. If it does not, this is a finding.Verify the nosuid option is configured for the /var/tmp mount point, + Verify the nosuid option is configured for the /var/log/audit mount point, run the following command: -
$ sudo mount | grep '\s/var/tmp\s'
-
. . . /var/tmp . . . nosuid . . .
- Is it the case that the "/var/tmp" file system does not have the "nosuid" option set?
Configure the operating system to prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. The nosuid mount option can be used to prevent -execution of setuid programs in /var/tmp. The SUID and SGID permissions -should not be required in these world-writable directories. +execution of setuid programs in /var/log/audit. The SUID and SGID permissions +should not be required in directories containing audit log files. Add the nosuid option to the fourth column of /etc/fstab for the line which controls mounting of -/var/tmp.medium
CCI-001764SRG-OS-000368-GPOS-00154TBD - Assigned by DISA after STIG releaseThe operating system must prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.CCE-80838-6: Add noexec Option to /dev/shmControl of program execution is a mechanism used to prevent execution of unauthorized programs. Some operating systems may provide a capability that runs counter to the mission or provides users with functionality that exceeds mission requirements. This includes functions and services installed at the operating system-level. - -Some of the programs, installed by default, may be harmful or may not be necessary to support essential organizational operations (e.g., key missions, functions). Removal of executable programs is not always possible; therefore, establishing a method of preventing program execution is critical to maintaining a secure system baseline. - -Methods for complying with this requirement include restricting execution of programs in certain environments, while preventing execution in other environments; or limiting execution of certain program functionality based on organization-defined criteria (e.g., privileges, subnets, sandboxed environments, or roles).The noexec mount option can be used to prevent binaries -from being executed out of /dev/shm. -It can be dangerous to allow the execution of binaries -from world-writable temporary storage directories such as /dev/shm. -Add the noexec option to the fourth column of -/etc/fstab for the line which controls mounting of -/dev/shm.Applicable - ConfigurableVerify the operating system prevents program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. If it does not, this is a finding.Verify the noexec option is configured for the /dev/shm mount point, - run the following command: -
$ sudo mount | grep '\s/dev/shm\s'
-
. . . /dev/shm . . . noexec . . .
- Is it the case that the "/dev/shm" file system does not have the "noexec" option set?
Configure the operating system to prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.The noexec mount option can be used to prevent binaries -from being executed out of /dev/shm. -It can be dangerous to allow the execution of binaries -from world-writable temporary storage directories such as /dev/shm. -Add the noexec option to the fourth column of -/etc/fstab for the line which controls mounting of -/dev/shm. medium TBD - Assigned by DISA after STIG release The operating system must prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.CCE-82975-4: Add noexec Option to /var/log/auditCCE-80839-4: Add nosuid Option to /dev/shm Control of program execution is a mechanism used to prevent execution of unauthorized programs. Some operating systems may provide a capability that runs counter to the mission or provides users with functionality that exceeds mission requirements. This includes functions and services installed at the operating system-level. Some of the programs, installed by default, may be harmful or may not be necessary to support essential organizational operations (e.g., key missions, functions). Removal of executable programs is not always possible; therefore, establishing a method of preventing program execution is critical to maintaining a secure system baseline. Methods for complying with this requirement include restricting execution of programs in certain environments, while preventing execution in other environments; or limiting execution of certain program functionality based on organization-defined criteria (e.g., privileges, subnets, sandboxed environments, or roles).The noexec mount option can be used to prevent binaries -from being executed out of /var/log/audit. -Add the noexec option to the fourth column of + The nosuid mount option can be used to prevent execution +of setuid programs in /dev/shm. The SUID and SGID permissions should not +be required in these world-writable directories. +Add the nosuid option to the fourth column of /etc/fstab for the line which controls mounting of -/var/log/audit. Applicable - Configurable Verify the operating system prevents program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. If it does not, this is a finding.Verify the noexec option is configured for the /var/log/audit mount point, + Verify the nosuid option is configured for the /dev/shm mount point, run the following command: -
$ sudo mount | grep '\s/var/log/audit\s'
-
. . . /var/log/audit . . . noexec . . .
- Is it the case that the "/var/log/audit" file system does not have the "noexec" option set?
Configure the operating system to prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.The noexec mount option can be used to prevent binaries -from being executed out of /var/log/audit. -Add the noexec option to the fourth column of + The nosuid mount option can be used to prevent execution +of setuid programs in /dev/shm. The SUID and SGID permissions should not +be required in these world-writable directories. +Add the nosuid option to the fourth column of /etc/fstab for the line which controls mounting of -/var/log/audit. medium TBD - Assigned by DISA after STIG release The operating system must prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.CCE-82069-6: Add nodev Option to Non-Root Local PartitionsCCE-82151-2: Add noexec Option to /var/tmp Control of program execution is a mechanism used to prevent execution of unauthorized programs. Some operating systems may provide a capability that runs counter to the mission or provides users with functionality that exceeds mission requirements. This includes functions and services installed at the operating system-level. Some of the programs, installed by default, may be harmful or may not be necessary to support essential organizational operations (e.g., key missions, functions). Removal of executable programs is not always possible; therefore, establishing a method of preventing program execution is critical to maintaining a secure system baseline. Methods for complying with this requirement include restricting execution of programs in certain environments, while preventing execution in other environments; or limiting execution of certain program functionality based on organization-defined criteria (e.g., privileges, subnets, sandboxed environments, or roles).The nodev mount option prevents files from being interpreted as -character or block devices. Legitimate character and block devices should -exist only in the /dev directory on the root partition or within -chroot jails built for system services. -Add the nodev option to the fourth column of + The noexec mount option can be used to prevent binaries +from being executed out of /var/tmp. +Add the noexec option to the fourth column of /etc/fstab for the line which controls mounting of - - any non-root local partitions. Applicable - Configurable Verify the operating system prevents program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. If it does not, this is a finding.To verify the nodev option is configured for non-root local partitions, run the following command: -
$ sudo mount | grep '^/dev\S* on /\S' | grep --invert-match 'nodev'
-The output shows local non-root partitions mounted without the nodev option, and there should be no output at all. - Is it the case that some mounts appear among output lines?
Verify the noexec option is configured for the /var/tmp mount point, + run the following command: +
$ sudo mount | grep '\s/var/tmp\s'
+
. . . /var/tmp . . . noexec . . .
+ Is it the case that the "/var/tmp" file system does not have the "noexec" option set?
Configure the operating system to prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.The nodev mount option prevents files from being interpreted as -character or block devices. Legitimate character and block devices should -exist only in the /dev directory on the root partition or within -chroot jails built for system services. -Add the nodev option to the fourth column of + The noexec mount option can be used to prevent binaries +from being executed out of /var/tmp. +Add the noexec option to the fourth column of /etc/fstab for the line which controls mounting of - - any non-root local partitions. medium TBD - Assigned by DISA after STIG release The operating system must prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.CCE-82623-0: Add nodev Option to /tmpCCE-82068-8: Add nodev Option to /var/tmp Control of program execution is a mechanism used to prevent execution of unauthorized programs. Some operating systems may provide a capability that runs counter to the mission or provides users with functionality that exceeds mission requirements. This includes functions and services installed at the operating system-level. @@ -33110,58 +33042,51 @@ Methods for complying with this requirement include restricting execution of programs in certain environments, while preventing execution in other environments; or limiting execution of certain program functionality based on organization-defined criteria (e.g., privileges, subnets, sandboxed environments, or roles). The nodev mount option can be used to prevent device files from -being created in /tmp. Legitimate character and block devices -should not exist within temporary directories like /tmp. +being created in /var/tmp. Legitimate character and block devices +should not exist within temporary directories like /var/tmp. Add the nodev option to the fourth column of /etc/fstab for the line which controls mounting of -/tmp. Applicable - Configurable Verify the operating system prevents program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. If it does not, this is a finding.Verify the nodev option is configured for the /tmp mount point, + Verify the nodev option is configured for the /var/tmp mount point, run the following command: -
$ sudo mount | grep '\s/tmp\s'
-
. . . /tmp . . . nodev . . .
- Is it the case that the "/tmp" file system does not have the "nodev" option set?
Configure the operating system to prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. The nodev mount option can be used to prevent device files from -being created in /tmp. Legitimate character and block devices -should not exist within temporary directories like /tmp. +being created in /var/tmp. Legitimate character and block devices +should not exist within temporary directories like /var/tmp. Add the nodev option to the fourth column of /etc/fstab for the line which controls mounting of -/tmp. medium
CCI-001774SRG-OS-000370-GPOS-00155CCI-001764SRG-OS-000368-GPOS-00154 TBD - Assigned by DISA after STIG releaseThe operating system must employ a deny-all, permit-by-exception policy to allow the execution of authorized software programs.The operating system must prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. CCE-82191-8: Install fapolicyd PackageUtilizing a whitelist provides a configuration management method for allowing the execution of only authorized software. Using only authorized software decreases risk by limiting the number of potential vulnerabilities. - -The organization must identify authorized software programs and permit execution of authorized software. The process used to identify software programs that are authorized to execute on organizational information systems is commonly referred to as whitelisting. + Control of program execution is a mechanism used to prevent execution of unauthorized programs. Some operating systems may provide a capability that runs counter to the mission or provides users with functionality that exceeds mission requirements. This includes functions and services installed at the operating system-level. -Verification of white-listed software occurs prior to execution or at system startup. +Some of the programs, installed by default, may be harmful or may not be necessary to support essential organizational operations (e.g., key missions, functions). Removal of executable programs is not always possible; therefore, establishing a method of preventing program execution is critical to maintaining a secure system baseline. -This requirement applies to operating system programs, functions, and services designed to manage system processes and configurations (e.g., group policies). The fapolicyd package can be installed with the following command:
 $ sudo yum install fapolicyd
Applicable - ConfigurableVerify the operating system employs a deny-all, permit-by-exception policy to allow the execution of authorized software programs. If it does not, this is a finding.Verify the operating system prevents program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. If it does not, this is a finding. Run the following command to determine if the fapolicyd package is installed:
$ rpm -q fapolicyd
Is it the case that the fapolicyd package is not installed?
Configure the operating system to employ a deny-all, permit-by-exception policy to allow the execution of authorized software programs.Configure the operating system to prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. The fapolicyd package can be installed with the following command:
 $ sudo yum install fapolicyd
CCI-001764SRG-OS-000368-GPOS-00154TBD - Assigned by DISA after STIG releaseThe operating system must prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.CCE-80837-8: Add nodev Option to /dev/shmControl of program execution is a mechanism used to prevent execution of unauthorized programs. Some operating systems may provide a capability that runs counter to the mission or provides users with functionality that exceeds mission requirements. This includes functions and services installed at the operating system-level. + +Some of the programs, installed by default, may be harmful or may not be necessary to support essential organizational operations (e.g., key missions, functions). Removal of executable programs is not always possible; therefore, establishing a method of preventing program execution is critical to maintaining a secure system baseline. + +Methods for complying with this requirement include restricting execution of programs in certain environments, while preventing execution in other environments; or limiting execution of certain program functionality based on organization-defined criteria (e.g., privileges, subnets, sandboxed environments, or roles).The nodev mount option can be used to prevent creation of device +files in /dev/shm. Legitimate character and block devices should +not exist within temporary directories like /dev/shm. +Add the nodev option to the fourth column of +/etc/fstab for the line which controls mounting of +/dev/shm.Applicable - ConfigurableVerify the operating system prevents program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage. If it does not, this is a finding.Verify the nodev option is configured for the /dev/shm mount point, + run the following command: +
$ sudo mount | grep '\s/dev/shm\s'
+
. . . /dev/shm . . . nodev . . .
+ Is it the case that the "/dev/shm" file system does not have the "nodev" option set?
Configure the operating system to prevent program execution in accordance with local policies regarding software program usage and restrictions and/or rules authorizing the terms and conditions of software program usage.The nodev mount option can be used to prevent creation of device +files in /dev/shm. Legitimate character and block devices should +not exist within temporary directories like /dev/shm. +Add the nodev option to the fourth column of +/etc/fstab for the line which controls mounting of +/dev/shm.medium
CCI-001774 SRG-OS-000370-GPOS-00155
CCI-001774SRG-OS-000370-GPOS-00155TBD - Assigned by DISA after STIG releaseThe operating system must employ a deny-all, permit-by-exception policy to allow the execution of authorized software programs.CCE-82191-8: Install fapolicyd PackageUtilizing a whitelist provides a configuration management method for allowing the execution of only authorized software. Using only authorized software decreases risk by limiting the number of potential vulnerabilities. + +The organization must identify authorized software programs and permit execution of authorized software. The process used to identify software programs that are authorized to execute on organizational information systems is commonly referred to as whitelisting. + +Verification of white-listed software occurs prior to execution or at system startup. + +This requirement applies to operating system programs, functions, and services designed to manage system processes and configurations (e.g., group policies).The fapolicyd package can be installed with the following command: +
+$ sudo yum install fapolicyd
Applicable - ConfigurableVerify the operating system employs a deny-all, permit-by-exception policy to allow the execution of authorized software programs. If it does not, this is a finding.Run the following command to determine if the fapolicyd package is installed:
$ rpm -q fapolicyd
Is it the case that the fapolicyd package is not installed?
Configure the operating system to employ a deny-all, permit-by-exception policy to allow the execution of authorized software programs.The fapolicyd package can be installed with the following command: +
+$ sudo yum install fapolicyd
medium
CCI-002038 SRG-OS-000373-GPOS-00156
CCI-001948SRG-OS-000375-GPOS-00160TBD - Assigned by DISA after STIG releaseThe operating system must implement multifactor authentication for remote access to privileged accounts in such a way that one of the factors is provided by a device separate from the system gaining access.CCE-80846-9: Install the opensc Package For Multifactor AuthenticationUsing an authentication device, such as a CAC or token that is separate from the information system, ensures that even if the information system is compromised, that compromise will not affect credentials stored on the authentication device. - -Multifactor solutions that require devices separate from information systems gaining access include, for example, hardware tokens providing time-based or challenge-response authenticators and smart cards such as the U.S. Government Personal Identity Verification card and the DoD Common Access Card. - -A privileged account is defined as an information system account with authorizations of a privileged user. - -Remote access is access to DoD nonpublic information systems by an authorized user (or an information system) communicating through an external, non-organization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. - -This requirement only applies to components where this is specific to the function of the device or has the concept of an organizational user (e.g., VPN, proxy capability). This does not apply to authentication for the purpose of configuring the device itself (management). - -Requires further clarification from NIST. -The opensc package can be installed with the following command: -
-$ sudo yum install opensc
Applicable - ConfigurableVerify the operating system implements multifactor authentication for remote access to privileged accounts in such a way that one of the factors is provided by a device separate from the system gaining access. If it does not, this is a finding.Run the following command to determine if the opensc package is installed:
$ rpm -q opensc
Is it the case that the package is not installed?
Configure the operating system to implement multifactor authentication for remote access to privileged accounts in such a way that one of the factors is provided by a device separate from the system gaining access. -The opensc package can be installed with the following command: -
-$ sudo yum install opensc
medium
CCI-001948 SRG-OS-000375-GPOS-00160
CCI-001948SRG-OS-000375-GPOS-00160TBD - Assigned by DISA after STIG releaseThe operating system must implement multifactor authentication for remote access to privileged accounts in such a way that one of the factors is provided by a device separate from the system gaining access.CCE-80846-9: Install the opensc Package For Multifactor AuthenticationUsing an authentication device, such as a CAC or token that is separate from the information system, ensures that even if the information system is compromised, that compromise will not affect credentials stored on the authentication device. + +Multifactor solutions that require devices separate from information systems gaining access include, for example, hardware tokens providing time-based or challenge-response authenticators and smart cards such as the U.S. Government Personal Identity Verification card and the DoD Common Access Card. + +A privileged account is defined as an information system account with authorizations of a privileged user. + +Remote access is access to DoD nonpublic information systems by an authorized user (or an information system) communicating through an external, non-organization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. + +This requirement only applies to components where this is specific to the function of the device or has the concept of an organizational user (e.g., VPN, proxy capability). This does not apply to authentication for the purpose of configuring the device itself (management). + +Requires further clarification from NIST. +The opensc package can be installed with the following command: +
+$ sudo yum install opensc
Applicable - ConfigurableVerify the operating system implements multifactor authentication for remote access to privileged accounts in such a way that one of the factors is provided by a device separate from the system gaining access. If it does not, this is a finding.Run the following command to determine if the opensc package is installed:
$ rpm -q opensc
Is it the case that the package is not installed?
Configure the operating system to implement multifactor authentication for remote access to privileged accounts in such a way that one of the factors is provided by a device separate from the system gaining access. +The opensc package can be installed with the following command: +
+$ sudo yum install opensc
medium
CCI-001958SRG-OS-000378-GPOS-00163TBD - Assigned by DISA after STIG releaseThe operating system must authenticate peripherals before establishing a connection.CCE-80835-2: Disable Modprobe Loading of USB Storage DriverWithout authenticating devices, unidentified or unknown devices may be introduced, thereby facilitating malicious activity. - -Peripherals include, but are not limited to, such devices as flash drives, external storage, and printers.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 usb-storage -kernel module from being loaded, add the following line to the file /etc/modprobe.d/usb-storage.conf: -
install usb-storage /bin/true
- -To configure the system to prevent the usb-storage from being used, -add the following line to file /etc/modprobe.d/usb-storage.conf: -
blacklist usb-storage
- -This 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.
Applicable - ConfigurableVerify the operating system authenticates peripherals before establishing a connection. If it does not, this is a finding. -If the system is configured to prevent the loading of the usb-storage kernel module, -it will contain lines inside any file in /etc/modprobe.d or the deprecated /etc/modprobe.conf. -These lines instruct the module loading system to run another program (such as /bin/true) upon a module install event. - -These lines can also instruct the module loading system to ignore the usb-storage kernel module via blacklist keyword. - -Run the following command to search for such lines in all files in /etc/modprobe.d and the deprecated /etc/modprobe.conf: -
$ grep -r usb-storage /etc/modprobe.conf /etc/modprobe.d
Is it the case that no line is returned?
Configure the operating system to authenticate peripherals before establishing a connection.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 usb-storage -kernel module from being loaded, add the following line to the file /etc/modprobe.d/usb-storage.conf: -
install usb-storage /bin/true
- -To configure the system to prevent the usb-storage from being used, -add the following line to file /etc/modprobe.d/usb-storage.conf: -
blacklist usb-storage
- -This 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.
medium
CCI-001958SRG-OS-000378-GPOS-00163TBD - Assigned by DISA after STIG releaseThe operating system must authenticate peripherals before establishing a connection.CCE-82853-3: Enable the USBGuard ServiceWithout authenticating devices, unidentified or unknown devices may be introduced, thereby facilitating malicious activity. - -Peripherals include, but are not limited to, such devices as flash drives, external storage, and printers.The USBGuard service should be enabled. - -The usbguard service can be enabled with the following command: -
$ sudo systemctl enable usbguard.service
Applicable - ConfigurableVerify the operating system authenticates peripherals before establishing a connection. If it does not, this is a finding. - -Run the following command to determine the current status of the -usbguard service: -
$ sudo systemctl is-active usbguard
-If the service is running, it should return the following:
active
Is it the case that the service is not enabled?
Configure the operating system to authenticate peripherals before establishing a connection.The USBGuard service should be enabled. - -The usbguard service can be enabled with the following command: -
$ sudo systemctl enable usbguard.service
medium
CCI-001958 SRG-OS-000378-GPOS-00163
CCI-001958SRG-OS-000378-GPOS-00163TBD - Assigned by DISA after STIG releaseThe operating system must authenticate peripherals before establishing a connection.CCE-82853-3: Enable the USBGuard ServiceWithout authenticating devices, unidentified or unknown devices may be introduced, thereby facilitating malicious activity. + +Peripherals include, but are not limited to, such devices as flash drives, external storage, and printers.The USBGuard service should be enabled. + +The usbguard service can be enabled with the following command: +
$ sudo systemctl enable usbguard.service
Applicable - ConfigurableVerify the operating system authenticates peripherals before establishing a connection. If it does not, this is a finding. + +Run the following command to determine the current status of the +usbguard service: +
$ sudo systemctl is-active usbguard
+If the service is running, it should return the following:
active
Is it the case that the service is not enabled?
Configure the operating system to authenticate peripherals before establishing a connection.The USBGuard service should be enabled. + +The usbguard service can be enabled with the following command: +
$ sudo systemctl enable usbguard.service
medium
CCI-001958SRG-OS-000378-GPOS-00163TBD - Assigned by DISA after STIG releaseThe operating system must authenticate peripherals before establishing a connection.CCE-80835-2: Disable Modprobe Loading of USB Storage DriverWithout authenticating devices, unidentified or unknown devices may be introduced, thereby facilitating malicious activity. + +Peripherals include, but are not limited to, such devices as flash drives, external storage, and printers.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 usb-storage +kernel module from being loaded, add the following line to the file /etc/modprobe.d/usb-storage.conf: +
install usb-storage /bin/true
+ +To configure the system to prevent the usb-storage from being used, +add the following line to file /etc/modprobe.d/usb-storage.conf: +
blacklist usb-storage
+ +This 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.
Applicable - ConfigurableVerify the operating system authenticates peripherals before establishing a connection. If it does not, this is a finding. +If the system is configured to prevent the loading of the usb-storage kernel module, +it will contain lines inside any file in /etc/modprobe.d or the deprecated /etc/modprobe.conf. +These lines instruct the module loading system to run another program (such as /bin/true) upon a module install event. + +These lines can also instruct the module loading system to ignore the usb-storage kernel module via blacklist keyword. + +Run the following command to search for such lines in all files in /etc/modprobe.d and the deprecated /etc/modprobe.conf: +
$ grep -r usb-storage /etc/modprobe.conf /etc/modprobe.d
Is it the case that no line is returned?
Configure the operating system to authenticate peripherals before establishing a connection.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 usb-storage +kernel module from being loaded, add the following line to the file /etc/modprobe.d/usb-storage.conf: +
install usb-storage /bin/true
+ +To configure the system to prevent the usb-storage from being used, +add the following line to file /etc/modprobe.d/usb-storage.conf: +
blacklist usb-storage
+ +This 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.
medium
CCI-001958 SRG-OS-000378-GPOS-00163TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80754-5: Record Unsuccessful Access Attempts to Files - openatCCE-80704-0: Ensure auditd Collects File Deletion Events by User - renameat If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -34418,71 +34418,287 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.To determine if the system is configured to audit calls to the +renameat system call, run the following command: +
$ sudo grep "renameat" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-89446-9: Record Any Attempts to Run chaclIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. + +This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. + +Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. + +This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect any execution attempt +of the chacl command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chacl" command with the following command: -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+$ sudo auditctl -l | grep chacl +-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect any execution attempt +of the chacl command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80741-2: Ensure auditd Collects Information on the Use of Privileged Commands - userhelperIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. + +This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. + +Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. + +This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the openat system call. + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "userhelper" command with the following command: -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: +$ sudo auditctl -l | grep userhelper -$ sudo grep -r openat /etc/audit/rules.d +-a always,exit -F path=/usr/bin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -k privileged-userhelper Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80733-9: Ensure auditd Collects Information on the Use of Privileged Commands - postqueueIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. --a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postqueue" command with the following command: + +$ sudo auditctl -l | grep postqueue + +-a always,exit -F path=/usr/bin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postqueue Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80728-9: Ensure auditd Collects Information on the Use of Privileged Commands - gpasswdIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. + +This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. + +Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. + +This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "gpasswd" command with the following command: + +$ sudo auditctl -l | grep gpasswd + +-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-gpasswd Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80718-0: Record Attempts to Alter Logon and Logout Events - faillockIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. + +This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. + +Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. +This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.The audit system already collects login information for all users +and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d in order to watch for attempted manual +edits of files involved in storing logon events: +
-w  -p wa -k logins
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+/etc/audit/audit.rules file in order to watch for unattempted manual +edits of files involved in storing logon events: +
-w  -p wa -k logins
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.The audit system already collects login information for all users +and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d in order to watch for attempted manual +edits of files involved in storing logon events: +
-w  -p wa -k logins
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file in order to watch for unattempted manual +edits of files involved in storing logon events: +
-w  -p wa -k logins
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80685-1: Record Events that Modify the System's Discretionary Access Controls - chmodCCE-89480-8: Ensure auditd Collects Information on the Use of Privileged Commands - unix_update If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -34557,42 +34773,34 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -chmod system call, run the following command: -
$ sudo grep "chmod" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_update" command with the following command: + +$ sudo auditctl -l | grep unix_update + +-a always,exit -F path=/usr/bin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_update Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80697-6: Record Events that Modify the System's Discretionary Access Controls - setxattrCCE-80707-3: Ensure auditd Collects File Deletion Events by User - unlinkat If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -34614,50 +34822,38 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding. To determine if the system is configured to audit calls to the -setxattr system call, run the following command: -
$ sudo grep "setxattr" /etc/audit/audit.*
+unlinkat system call, run the following command: +
$ sudo grep "unlinkat" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoersCCE-80740-4: Ensure auditd Collects Information on the Use of Privileged Commands - unix_chkpwd If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -34679,34 +34875,34 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_chkpwd" command with the following command: -$ sudo auditctl -l | grep /etc/sudoers +$ sudo auditctl -l | grep unix_chkpwd --w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80690-1: Record Events that Modify the System's Discretionary Access Controls - fchownatCCE-80691-9: Record Events that Modify the System's Discretionary Access Controls - fremovexattr If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -34729,41 +34925,59 @@ This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch. At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fchownat system call, run the following command: -
$ sudo grep "fchownat" /etc/audit/audit.*
+fremovexattr system call, run the following command: +
$ sudo grep "fremovexattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions. At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-82280-9: Record Any Attempts to Run setfilesCCE-80697-6: Record Events that Modify the System's Discretionary Access Controls - setxattr If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -34785,34 +34999,185 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect any execution attempt -of the setfiles command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.To determine if the system is configured to audit calls to the +setxattr system call, run the following command: +
$ sudo grep "setxattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80739-6: Ensure auditd Collects Information on the Use of Privileged Commands - umountIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. + +This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. + +Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. + +This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "umount" command with the following command: + +$ sudo auditctl -l | grep umount + +-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-umount Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80752-9: Record Unsuccessful Access Attempts to Files - ftruncateIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. + +This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. + +Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. + +This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfiles" command with the following command: + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the ftruncate system call. -$ sudo auditctl -l | grep setfiles +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: --a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect any execution attempt -of the setfiles command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80700-8: Record Any Attempts to Run semanageCCE-80756-0: Record Unsuccessful Access Attempts to Files - truncate If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -34834,34 +35199,71 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect any execution attempt -of the semanage command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "semanage" command with the following command: + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the truncate system call. -$ sudo auditctl -l | grep semanage +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: --a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect any execution attempt -of the semanage command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80692-7: Record Events that Modify the System's Discretionary Access Controls - fsetxattrCCE-80686-9: Record Events that Modify the System's Discretionary Access Controls - chown If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -34884,49 +35286,41 @@ This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch. At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fsetxattr system call, run the following command: -
$ sudo grep "fsetxattr" /etc/audit/audit.*
+chown system call, run the following command: +
$ sudo grep "chown" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions. At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-88437-9: Record Any Attempts to Run setfaclCCE-80719-8: Record Attempts to Alter Logon and Logout Events - lastlogIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. + +This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. + +Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. + +This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.The audit system already collects login information for all users +and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d in order to watch for attempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file in order to watch for unattempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/lastlog" with the following command: + +$ sudo auditctl -l | grep /var/log/lastlog + +-w /var/log/lastlog -p wa -k logins Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.The audit system already collects login information for all users +and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d in order to watch for attempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file in order to watch for unattempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80701-6: Record Any Attempts to Run setsebool If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -34949,33 +35396,33 @@ This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch. At a minimum, the audit system should collect any execution attempt -of the setfacl command for all users and root. If the auditd +of the setsebool command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfacl" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setsebool" command with the following command: -$ sudo auditctl -l | grep setfacl +$ sudo auditctl -l | grep setsebool --a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions. At a minimum, the audit system should collect any execution attempt -of the setfacl command for all users and root. If the auditd +of the setsebool command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80732-1: Ensure auditd Collects Information on the Use of Privileged Commands - postdropCCE-80700-8: Record Any Attempts to Run semanageIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. + +This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. + +Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. + +This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect any execution attempt +of the semanage command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "semanage" command with the following command: + +$ sudo auditctl -l | grep semanage + +-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect any execution attempt +of the semanage command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80730-5: Ensure auditd Collects Information on the Use of Privileged Commands - pam_timestamp_check If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -35002,29 +35498,33 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postdrop" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "pam_timestamp_check" command with the following command: -$ sudo auditctl -l | grep postdrop +$ sudo auditctl -l | grep pam_timestamp_check --a always,exit -F path=/usr/bin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postdrop Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80689-3: Record Events that Modify the System's Discretionary Access Controls - fchownCCE-80692-7: Record Events that Modify the System's Discretionary Access Controls - fsetxattr If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -35126,23 +35626,24 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fchown system call, run the following command: -
$ sudo grep "fchown" /etc/audit/audit.*
+fsetxattr system call, run the following command: +
$ sudo grep "fsetxattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions. medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80696-8: Record Events that Modify the System's Discretionary Access Controls - removexattrCCE-85944-7: Record Any Attempts to Run ssh-agent If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -35184,58 +35686,34 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured to use the augenrules -program to read audit rules during daemon startup (the default), add the -following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
-

+
At a minimum, the audit system should collect any execution attempt +of the ssh-agent command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -removexattr system call, run the following command: -
$ sudo grep "removexattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-agent" command with the following command: + +$ sudo auditctl -l | grep ssh-agent + +-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured to use the augenrules -program to read audit rules during daemon startup (the default), add the -following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
-

+
At a minimum, the audit system should collect any execution attempt +of the ssh-agent command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80701-6: Record Any Attempts to Run setseboolCCE-80753-7: Record Unsuccessful Access Attempts to Files - open If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -35257,91 +35735,71 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect any execution attempt -of the setsebool command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setsebool" command with the following command: + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the open system call. -$ sudo auditctl -l | grep setsebool +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: --a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -k privileged Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect any execution attempt -of the setsebool command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswdIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. +The output should be the following: -This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. +-a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.
If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
-

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: - -$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
--w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80758-6: Record Events that Modify User/Group Information - /etc/groupCCE-80690-1: Record Events that Modify the System's Discretionary Access Controls - fchownat If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -35363,42 +35821,42 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/group" with the following command: - -$ sudo auditctl -l | grep -E '(/etc/group)' - --w /etc/group -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +fchownat system call, run the following command: +
$ sudo grep "fchownat" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80727-1: Ensure auditd Collects Information on the Use of Privileged Commands - crontabCCE-80705-7: Ensure auditd Collects File Deletion Events by User - rmdir If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -35420,34 +35878,38 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "crontab" command with the following command: - -$ sudo auditctl -l | grep crontab - --a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -k privileged-crontab Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +rmdir system call, run the following command: +
$ sudo grep "rmdir" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80691-9: Record Events that Modify the System's Discretionary Access Controls - fremovexattrCCE-80687-7: Record Events that Modify the System's Discretionary Access Controls - fchmod If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -35470,59 +35932,41 @@ This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch. At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
-

+changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fremovexattr system call, run the following command: -
$ sudo grep "fremovexattr" /etc/audit/audit.*
+fchmod system call, run the following command: +
$ sudo grep "fchmod" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions. At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
-

+changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80728-9: Ensure auditd Collects Information on the Use of Privileged Commands - gpasswdCCE-80736-2: Ensure auditd Collects Information on the Use of Privileged Commands - su If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -35549,29 +35993,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "gpasswd" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "su" command with the following command: -$ sudo auditctl -l | grep gpasswd +$ sudo auditctl -l | grep su --a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-gpasswd Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80753-7: Record Unsuccessful Access Attempts to Files - openCCE-80713-1: Ensure auditd Collects Information on Kernel Module Loading - init_module If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -35647,130 +36091,38 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
To capture kernel module loading events, use following line, setting ARCH to +either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the open system call. - -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: - -$ sudo grep -r open /etc/audit/rules.d - -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: - -$ sudo grep open /etc/audit/audit.rules - -The output should be the following: - --a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +init_module system call, run the following command: +
$ sudo grep "init_module" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadowIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. - -This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. - -Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. + To capture kernel module loading events, use following line, setting ARCH to +either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: -This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: +
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
-$ sudo auditctl -l | grep -E '(/etc/gshadow)' --w /etc/gshadow -p wa -k identity +Place to add the line depends on a way auditd daemon is configured. If it is configured +to use the augenrules program (the default), add the line to a file with suffix +.rules in the directory /etc/audit/rules.d. -If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-89455-0: Ensure auditd Collects Information on the Use of Privileged Commands - kmodCCE-80737-0: Ensure auditd Collects Information on the Use of Privileged Commands - sudo If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -35797,29 +36149,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "kmod" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "sudo" command with the following command: -$ sudo auditctl -l | grep kmod +$ sudo auditctl -l | grep sudo --a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-kmod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80736-2: Ensure auditd Collects Information on the Use of Privileged Commands - suCCE-80696-8: Record Events that Modify the System's Discretionary Access Controls - removexattr If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -35841,34 +36193,58 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules +program to read audit rules during daemon startup (the default), add the +following line to a file with suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "su" command with the following command: - -$ sudo auditctl -l | grep su - --a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -k privileged-su Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +removexattr system call, run the following command: +
$ sudo grep "removexattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules +program to read audit rules during daemon startup (the default), add the +following line to a file with suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80761-0: Record Events that Modify User/Group Information - /etc/passwdCCE-80872-5: Enable auditd Service If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -35970,42 +36346,80 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
The auditd service is an essential userspace component of +the Linux Auditing System, as it is responsible for writing audit records to +disk. + +The auditd service can be enabled with the following command: +
$ sudo systemctl enable auditd.service
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: + -$ sudo auditctl -l | grep -E '(/etc/passwd)' +Run the following command to determine the current status of the +auditd service: +
$ sudo systemctl is-active auditd
+If the service is running, it should return the following:
active
Is it the case that the auditd service is not running?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.The auditd service is an essential userspace component of +the Linux Auditing System, as it is responsible for writing audit records to +disk. --w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80712-3: Ensure auditd Collects Information on Kernel Module Loading and Unloading - finit_moduleIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. + +This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. + +Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. + +This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.If the auditd daemon is configured to use the augenrules program +to read audit rules during daemon startup (the default), add the following lines to a file +with suffix .rules in the directory /etc/audit/rules.d to capture kernel module +loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: + +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
+ If the auditd daemon is configured to use the auditctl utility to read audit +rules during daemon startup, add the following lines to /etc/audit/audit.rules file +in order to capture kernel module loading and unloading events, setting ARCH to either b32 or +b64 as appropriate for your system: + +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.To determine if the system is configured to audit calls to the +finit_module system call, run the following command: +
$ sudo grep "finit_module" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
If the auditd daemon is configured to use the augenrules program +to read audit rules during daemon startup (the default), add the following lines to a file +with suffix .rules in the directory /etc/audit/rules.d to capture kernel module +loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: + +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
+ If the auditd daemon is configured to use the auditctl utility to read audit +rules during daemon startup, add the following lines to /etc/audit/audit.rules file +in order to capture kernel module loading and unloading events, setting ARCH to either b32 or +b64 as appropriate for your system: + +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80762-8: Record Events that Modify User/Group Information - /etc/shadowCCE-81043-2: Ensure the audit Subsystem is Installed If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -36027,42 +36441,61 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
-

+
The audit package should be installed.Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Run the following command to determine if the audit package is installed:
$ rpm -q audit
Is it the case that the audit package is not installed?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.The audit package should be installed.medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80731-3: Ensure auditd Collects Information on the Use of Privileged Commands - passwdIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. + +This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. + +Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. + +This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "passwd" command with the following command: -$ sudo auditctl -l | grep -E '(/etc/shadow)' +$ sudo auditctl -l | grep passwd --w /etc/shadow -p wa -k identity Is it the case that command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80872-5: Enable auditd ServiceCCE-80735-4: Ensure auditd Collects Information on the Use of Privileged Commands - ssh-keysign If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -36084,27 +36517,34 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.The auditd service is an essential userspace component of -the Linux Auditing System, as it is responsible for writing audit records to -disk. - -The auditd service can be enabled with the following command: -
$ sudo systemctl enable auditd.service
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding. + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-keysign" command with the following command: -Run the following command to determine the current status of the -auditd service: -
$ sudo systemctl is-active auditd
-If the service is running, it should return the following:
active
Is it the case that the auditd service is not running?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.The auditd service is an essential userspace component of -the Linux Auditing System, as it is responsible for writing audit records to -disk. +$ sudo auditctl -l | grep ssh-keysign -The auditd service can be enabled with the following command: -
$ sudo systemctl enable auditd.service
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80755-2: Record Unsuccessful Access Attempts to Files - open_by_handle_atCCE-80754-5: Record Unsuccessful Access Attempts to Files - openat If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -36180,60 +36620,66 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access + If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the open_by_handle_at system call. + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the openat system call. If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: -$ sudo grep -r open_by_handle_at /etc/audit/rules.d +$ sudo grep -r openat /etc/audit/rules.d If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: -$ sudo grep open_by_handle_at /etc/audit/audit.rules +$ sudo grep openat /etc/audit/audit.rules The output should be the following: --a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions. At a minimum, the audit system should collect unauthorized file accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access + If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80735-4: Ensure auditd Collects Information on the Use of Privileged Commands - ssh-keysignCCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/ If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -36255,34 +36701,34 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-keysign" command with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: -$ sudo auditctl -l | grep ssh-keysign +$ sudo auditctl -l | grep/etc/sudoers.d --a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-keysign Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80731-3: Ensure auditd Collects Information on the Use of Privileged Commands - passwdCCE-80727-1: Ensure auditd Collects Information on the Use of Privileged Commands - crontab If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -36309,29 +36755,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "passwd" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "crontab" command with the following command: -$ sudo auditctl -l | grep passwd +$ sudo auditctl -l | grep crontab --a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-passwd Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80737-0: Ensure auditd Collects Information on the Use of Privileged Commands - sudoCCE-89455-0: Ensure auditd Collects Information on the Use of Privileged Commands - kmod If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -36358,29 +36804,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "sudo" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "kmod" command with the following command: -$ sudo auditctl -l | grep sudo +$ sudo auditctl -l | grep kmod --a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -k privileged-sudo Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80725-5: Ensure auditd Collects Information on the Use of Privileged Commands - chageCCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadow If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -36402,34 +36848,44 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chage" command with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: -$ sudo auditctl -l | grep chage +$ sudo auditctl -l | grep -E '(/etc/gshadow)' --a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chage Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80733-9: Ensure auditd Collects Information on the Use of Privileged Commands - postqueueCCE-88437-9: Record Any Attempts to Run setfacl If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -36451,34 +36907,34 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect any execution attempt +of the setfacl command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postqueue" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfacl" command with the following command: -$ sudo auditctl -l | grep postqueue +$ sudo auditctl -l | grep setfacl --a always,exit -F path=/usr/bin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postqueue Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect any execution attempt +of the setfacl command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80687-7: Record Events that Modify the System's Discretionary Access Controls - fchmodCCE-80706-5: Ensure auditd Collects File Deletion Events by User - unlink If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -36606,42 +37062,38 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fchmod system call, run the following command: -
$ sudo grep "fchmod" /etc/audit/audit.*
+unlink system call, run the following command: +
$ sudo grep "unlink" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80739-6: Ensure auditd Collects Information on the Use of Privileged Commands - umountCCE-80755-2: Record Unsuccessful Access Attempts to Files - open_by_handle_at If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -36663,34 +37115,65 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "umount" command with the following command: + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the open_by_handle_at system call. -$ sudo auditctl -l | grep umount +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: --a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-umount Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/CCE-80695-0: Record Events that Modify the System's Discretionary Access Controls - lsetxattr If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -36712,34 +37195,50 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: - -$ sudo auditctl -l | grep/etc/sudoers.d - --w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +lsetxattr system call, run the following command: +
$ sudo grep "lsetxattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80713-1: Ensure auditd Collects Information on Kernel Module Loading - init_moduleCCE-80758-6: Record Events that Modify User/Group Information - /etc/group If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -36761,38 +37260,42 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.To capture kernel module loading events, use following line, setting ARCH to -either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: - -
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
- - -Place to add the line depends on a way auditd daemon is configured. If it is configured -to use the augenrules program (the default), add the line to a file with suffix -.rules in the directory /etc/audit/rules.d. - -If the auditd daemon is configured to use the auditctl utility, -add the line to file /etc/audit/audit.rules.
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -init_module system call, run the following command: -
$ sudo grep "init_module" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.To capture kernel module loading events, use following line, setting ARCH to -either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: - -
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
- +
Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/group" with the following command: -Place to add the line depends on a way auditd daemon is configured. If it is configured -to use the augenrules program (the default), add the line to a file with suffix -.rules in the directory /etc/audit/rules.d. +$ sudo auditctl -l | grep -E '(/etc/group)' -If the auditd daemon is configured to use the auditctl utility, -add the line to file /etc/audit/audit.rules.Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80726-3: Ensure auditd Collects Information on the Use of Privileged Commands - chshCCE-80732-1: Ensure auditd Collects Information on the Use of Privileged Commands - postdrop If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -36819,29 +37322,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chsh" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postdrop" command with the following command: -$ sudo auditctl -l | grep chsh +$ sudo auditctl -l | grep postdrop --a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chsh Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80718-0: Record Attempts to Alter Logon and Logout Events - faillockCCE-80761-0: Record Events that Modify User/Group Information - /etc/passwd If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -36863,38 +37366,42 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.The audit system already collects login information for all users -and root. If the auditd daemon is configured to use the + If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d in order to watch for attempted manual -edits of files involved in storing logon events: -
-w  -p wa -k logins
+directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file in order to watch for unattempted manual -edits of files involved in storing logon events: -
-w  -p wa -k logins
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: -$ sudo auditctl -l | grep +$ sudo auditctl -l | grep -E '(/etc/passwd)' --w -p wa -k logins Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.The audit system already collects login information for all users -and root. If the auditd daemon is configured to use the + If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d in order to watch for attempted manual -edits of files involved in storing logon events: -
-w  -p wa -k logins
+directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file in order to watch for unattempted manual -edits of files involved in storing logon events: -
-w  -p wa -k logins
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80698-4: Record Any Attempts to Run chconCCE-80729-7: Ensure auditd Collects Information on the Use of Privileged Commands - newgrp If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -36916,34 +37423,91 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect any execution attempt -of the chcon command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "newgrp" command with the following command: + +$ sudo auditctl -l | grep newgrp + +-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -k privileged-newgrp Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswdIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. + +This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. + +Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. + +This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chcon" command with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: -$ sudo auditctl -l | grep chcon +$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' --a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect any execution attempt -of the chcon command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80729-7: Ensure auditd Collects Information on the Use of Privileged Commands - newgrpCCE-82280-9: Record Any Attempts to Run setfiles If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -37018,87 +37582,34 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect any execution attempt +of the setfiles command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "newgrp" command with the following command: - -$ sudo auditctl -l | grep newgrp - --a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -k privileged-newgrp Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80703-2: Ensure auditd Collects File Deletion Events by User - renameIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. - -This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfiles" command with the following command: -Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. +$ sudo auditctl -l | grep setfiles -This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -rename system call, run the following command: -
$ sudo grep "rename" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect any execution attempt +of the setfiles command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80686-9: Record Events that Modify the System's Discretionary Access Controls - chownCCE-80685-1: Record Events that Modify the System's Discretionary Access Controls - chmod If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -37125,20 +37636,20 @@ use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding. To determine if the system is configured to audit calls to the -chown system call, run the following command: -
$ sudo grep "chown" /etc/audit/audit.*
+chmod system call, run the following command: +
$ sudo grep "chmod" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions. medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80752-9: Record Unsuccessful Access Attempts to Files - ftruncateCCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoers If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -37177,72 +37688,89 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the ftruncate system call. - -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: -$ sudo grep -r ftruncate /etc/audit/rules.d +$ sudo auditctl -l | grep /etc/sudoers -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: +-w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-w /etc/sudoers -p wa -k actions
medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80825-3: Enable Auditing for Processes Which Start Prior to the Audit DaemonConfigure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. -If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
mediumTo ensure all processes can be audited, even those which start +prior to the audit daemon, add the argument audit=1 to the default +GRUB 2 command line for the Linux operating system. +To ensure that audit=1 is added as a kernel command line +argument to newly installed kernels, add audit=1 to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... audit=1 ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit=1"
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Inspect the form of default GRUB 2 command line for the Linux operating system +in /etc/default/grub. If it includes audit=1, +then the parameter will be configured for newly installed kernels. +First check if the GRUB recovery is enabled: +
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
+If this option is set to true, then check that a line is output by the following command: +
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*audit=1.*' /etc/default/grub
+If the recovery is disabled, check the line with +
$ sudo grep 'GRUB_CMDLINE_LINUX.*audit=1.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. +Run the following command: +
$ sudo grubby --info=ALL | grep args | grep -v 'audit=1'
+The command should not return any output. Is it the case that auditing is not enabled at boot time?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.To ensure all processes can be audited, even those which start +prior to the audit daemon, add the argument audit=1 to the default +GRUB 2 command line for the Linux operating system. +To ensure that audit=1 is added as a kernel command line +argument to newly installed kernels, add audit=1 to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... audit=1 ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit=1"
low TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80704-0: Ensure auditd Collects File Deletion Events by User - renameatCCE-80698-4: Record Any Attempts to Run chcon If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -37263,38 +37791,34 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect any execution attempt +of the chcon command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -renameat system call, run the following command: -
$ sudo grep "renameat" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chcon" command with the following command: + +$ sudo auditctl -l | grep chcon + +-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect any execution attempt +of the chcon command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-89480-8: Ensure auditd Collects Information on the Use of Privileged Commands - unix_updateCCE-80725-5: Ensure auditd Collects Information on the Use of Privileged Commands - chage If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -37321,29 +37845,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_update" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chage" command with the following command: -$ sudo auditctl -l | grep unix_update +$ sudo auditctl -l | grep chage --a always,exit -F path=/usr/bin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_update Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80730-5: Ensure auditd Collects Information on the Use of Privileged Commands - pam_timestamp_checkCCE-80762-8: Record Events that Modify User/Group Information - /etc/shadow If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -37365,38 +37889,42 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "pam_timestamp_check" command with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd with the following command: -$ sudo auditctl -l | grep pam_timestamp_check +$ sudo auditctl -l | grep -E '(/etc/shadow)' --a always,exit -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid>=1000 -F auid!=unset -k privileged-pam_timestamp_check Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80740-4: Ensure auditd Collects Information on the Use of Privileged Commands - unix_chkpwdCCE-80726-3: Ensure auditd Collects Information on the Use of Privileged Commands - chsh If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -37423,29 +37951,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_chkpwd" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chsh" command with the following command: -$ sudo auditctl -l | grep unix_chkpwd +$ sudo auditctl -l | grep chsh --a always,exit -F path=/usr/bin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_chkpwd Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-81043-2: Ensure the audit Subsystem is InstalledCCE-80703-2: Ensure auditd Collects File Deletion Events by User - rename If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -37467,12 +37995,38 @@ Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.The audit package should be installed.At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Run the following command to determine if the audit package is installed:
$ rpm -q audit
Is it the case that the audit package is not installed?
To determine if the system is configured to audit calls to the +rename system call, run the following command: +
$ sudo grep "rename" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.The audit package should be installed.At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80695-0: Record Events that Modify the System's Discretionary Access Controls - lsetxattrCCE-80689-3: Record Events that Modify the System's Discretionary Access Controls - fchown If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. @@ -37499,24 +38053,23 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding. To determine if the system is configured to audit calls to the -lsetxattr system call, run the following command: -
$ sudo grep "lsetxattr" /etc/audit/audit.*
+fchown system call, run the following command: +
$ sudo grep "fchown" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions. medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-89446-9: Record Any Attempts to Run chaclIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. -This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. -Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. -This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect any execution attempt -of the chacl command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chacl" command with the following command: +
CCI-002890SRG-OS-000393-GPOS-00173TBD - Assigned by DISA after STIG releaseThe operating system must implement cryptographic mechanisms to protect the integrity of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions.CCE-80935-0: Configure System Cryptography PolicyConfigure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect any execution attempt -of the chacl command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
mediumPrivileged access contains control and configuration information and is particularly sensitive, so additional protections are necessary. This is maintained by using cryptographic mechanisms, such as a hash function or digital signature, to protect integrity. + +Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. + +The operating system can meet this requirement through leveraging a cryptographic module. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system (e.g., the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch).To configure the system cryptography policy to use ciphers only from the +policy, run the following command: +
$ sudo update-crypto-policies --set 
+The rule checks if settings for selected crypto policy are configured as expected. Configuration files in the /etc/crypto-policies/back-ends are either symlinks to correct files provided by Crypto-policies package or they are regular files in case crypto policy customizations are applied. +Crypto policies may be customized by crypto policy modules, in which case it is delimited from the base policy using a colon.
Applicable - ConfigurableVerify the operating system implements cryptographic mechanisms to protect the integrity of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions. If it does not, this is a finding.To verify that cryptography policy has been configured correctly, run the +following command: +
$ update-crypto-policies --show
+The output should return
. +Run the command to check if the policy is correctly applied: +
$ update-crypto-policies --is-applied
+The output should be
The configured policy is applied
. +Moreover, check if settings for selected crypto policy are as expected. +List all libraries for which it holds that their crypto policies do not have symbolic link in
/etc/crypto-policies/back-ends
. +
$ ls -l /etc/crypto-policies/back-ends/ | grep '^[^l]' | tail -n +2 | awk -F' ' '{print $NF}' | awk -F'.' '{print $1}' | sort
+Subsequently, check if matching libraries have drop in files in the
/etc/crypto-policies/local.d
directory. +
$ ls /etc/crypto-policies/local.d/ | awk -F'-' '{print $1}' | uniq | sort
+Outputs of two previous commands should match. Is it the case that cryptographic policy is not configured or is configured incorrectly?
Configure the operating system to implement cryptographic mechanisms to protect the integrity of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions.To configure the system cryptography policy to use ciphers only from the +policy, run the following command: +
$ sudo update-crypto-policies --set 
+The rule checks if settings for selected crypto policy are configured as expected. Configuration files in the /etc/crypto-policies/back-ends are either symlinks to correct files provided by Crypto-policies package or they are regular files in case crypto policy customizations are applied. +Crypto policies may be customized by crypto policy modules, in which case it is delimited from the base policy using a colon.
high
CCI-002884SRG-OS-000392-GPOS-00172CCI-002890SRG-OS-000393-GPOS-00173 TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.The operating system must implement cryptographic mechanisms to protect the integrity of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions.CCE-80719-8: Record Attempts to Alter Logon and Logout Events - lastlogCCE-85902-5: Configure SSH Client to Use FIPS 140-2 Validated Ciphers: openssh.configIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. + Privileged access contains control and configuration information and is particularly sensitive, so additional protections are necessary. This is maintained by using cryptographic mechanisms, such as a hash function or digital signature, to protect integrity. -This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. +Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. -Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. +The operating system can meet this requirement through leveraging a cryptographic module. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system (e.g., the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch).Crypto Policies provide a centralized control over crypto algorithms usage of many packages. +OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be +set up incorrectly. -This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.The audit system already collects login information for all users -and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d in order to watch for attempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file in order to watch for unattempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/lastlog" with the following command: - -$ sudo auditctl -l | grep /var/log/lastlog + Verify the operating system implements cryptographic mechanisms to protect the integrity of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions. If it does not, this is a finding.To verify if the OpenSSH client uses defined Cipher suite in the Crypto Policy, run: +
$ grep -i ciphers /etc/crypto-policies/back-ends/openssh.config
+and verify that the line matches: +
Ciphers 
Is it the case that Crypto Policy for OpenSSH client is not configured correctly?
Configure the operating system to implement cryptographic mechanisms to protect the integrity of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions.Crypto Policies provide a centralized control over crypto algorithms usage of many packages. +OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be +set up incorrectly. --w /var/log/lastlog -p wa -k logins Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.The audit system already collects login information for all users -and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d in order to watch for attempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file in order to watch for unattempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
mediumhigh
CCI-002884SRG-OS-000392-GPOS-00172CCI-002890SRG-OS-000393-GPOS-00173 TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.The operating system must implement cryptographic mechanisms to protect the integrity of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions.CCE-80705-7: Ensure auditd Collects File Deletion Events by User - rmdirCCE-84027-2: Set kernel parameter 'crypto.fips_enabled' to 1If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. + Privileged access contains control and configuration information and is particularly sensitive, so additional protections are necessary. This is maintained by using cryptographic mechanisms, such as a hash function or digital signature, to protect integrity. -This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. +Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. -Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. +The operating system can meet this requirement through leveraging a cryptographic module. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system (e.g., the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch).System running in FIPS mode is indicated by kernel parameter +'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. +To enable FIPS mode, run the following command: +
fips-mode-setup --enable
-This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.
At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -rmdir system call, run the following command: -
$ sudo grep "rmdir" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80825-3: Enable Auditing for Processes Which Start Prior to the Audit DaemonIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. - -This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. - -Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. - -This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.To ensure all processes can be audited, even those which start -prior to the audit daemon, add the argument audit=1 to the default -GRUB 2 command line for the Linux operating system. -To ensure that audit=1 is added as a kernel command line -argument to newly installed kernels, add audit=1 to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... audit=1 ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit=1"
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Inspect the form of default GRUB 2 command line for the Linux operating system -in /etc/default/grub. If it includes audit=1, -then the parameter will be configured for newly installed kernels. -First check if the GRUB recovery is enabled: -
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
-If this option is set to true, then check that a line is output by the following command: -
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*audit=1.*' /etc/default/grub
-If the recovery is disabled, check the line with -
$ sudo grep 'GRUB_CMDLINE_LINUX.*audit=1.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. -Run the following command: -
$ sudo grubby --info=ALL | grep args | grep -v 'audit=1'
-The command should not return any output. Is it the case that auditing is not enabled at boot time?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.To ensure all processes can be audited, even those which start -prior to the audit daemon, add the argument audit=1 to the default -GRUB 2 command line for the Linux operating system. -To ensure that audit=1 is added as a kernel command line -argument to newly installed kernels, add audit=1 to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... audit=1 ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit=1"
low
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80707-3: Ensure auditd Collects File Deletion Events by User - unlinkatIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. - -This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. - -Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. - -This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -unlinkat system call, run the following command: -
$ sudo grep "unlinkat" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80712-3: Ensure auditd Collects Information on Kernel Module Loading and Unloading - finit_moduleIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. - -This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. - -Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. - -This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.If the auditd daemon is configured to use the augenrules program -to read audit rules during daemon startup (the default), add the following lines to a file -with suffix .rules in the directory /etc/audit/rules.d to capture kernel module -loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: - -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
- If the auditd daemon is configured to use the auditctl utility to read audit -rules during daemon startup, add the following lines to /etc/audit/audit.rules file -in order to capture kernel module loading and unloading events, setting ARCH to either b32 or -b64 as appropriate for your system: - -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -finit_module system call, run the following command: -
$ sudo grep "finit_module" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.If the auditd daemon is configured to use the augenrules program -to read audit rules during daemon startup (the default), add the following lines to a file -with suffix .rules in the directory /etc/audit/rules.d to capture kernel module -loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: - -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
- If the auditd daemon is configured to use the auditctl utility to read audit -rules during daemon startup, add the following lines to /etc/audit/audit.rules file -in order to capture kernel module loading and unloading events, setting ARCH to either b32 or -b64 as appropriate for your system: - -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80706-5: Ensure auditd Collects File Deletion Events by User - unlinkIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. - -This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. - -Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. - -This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.To determine if the system is configured to audit calls to the -unlink system call, run the following command: -
$ sudo grep "unlink" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80756-0: Record Unsuccessful Access Attempts to Files - truncateIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. - -This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. - -Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. - -This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the truncate system call. - -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: - -$ sudo grep -r truncate /etc/audit/rules.d - -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: - -$ sudo grep truncate /etc/audit/audit.rules - -The output should be the following: - --a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-85944-7: Record Any Attempts to Run ssh-agentIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. - -This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. - -Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. - -This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect any execution attempt -of the ssh-agent command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-agent" command with the following command: - -$ sudo auditctl -l | grep ssh-agent - --a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect any execution attempt -of the ssh-agent command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
medium
CCI-002884SRG-OS-000392-GPOS-00172TBD - Assigned by DISA after STIG releaseThe operating system must audit all activities performed during nonlocal maintenance and diagnostic sessions.CCE-80741-2: Ensure auditd Collects Information on the Use of Privileged Commands - userhelperIf events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. - -This requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. - -Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. - -This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system, for example, the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system audits all activities performed during nonlocal maintenance and diagnostic sessions. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "userhelper" command with the following command: - -$ sudo auditctl -l | grep userhelper + Verify the operating system implements cryptographic mechanisms to protect the integrity of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions. If it does not, this is a finding.To verify that kernel parameter 'crypto.fips_enabled' is set properly, run the following command: +
sysctl crypto.fips_enabled
+The output should contain the following: +
crypto.fips_enabled = 1
Is it the case that crypto.fips_enabled is not 1?
Configure the operating system to implement cryptographic mechanisms to protect the integrity of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions.System running in FIPS mode is indicated by kernel parameter +'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. +To enable FIPS mode, run the following command: +
fips-mode-setup --enable
--a always,exit -F path=/usr/bin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -k privileged-userhelper Is it the case that the command does not return a line, or the line is commented out?
Configure the operating system to audit all activities performed during nonlocal maintenance and diagnostic sessions.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
mediumhigh
CCI-002890 SRG-OS-000393-GPOS-00173
CCI-002890SRG-OS-000393-GPOS-00173TBD - Assigned by DISA after STIG releaseThe operating system must implement cryptographic mechanisms to protect the integrity of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions.CCE-84027-2: Set kernel parameter 'crypto.fips_enabled' to 1Privileged access contains control and configuration information and is particularly sensitive, so additional protections are necessary. This is maintained by using cryptographic mechanisms, such as a hash function or digital signature, to protect integrity. -Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. -The operating system can meet this requirement through leveraging a cryptographic module. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system (e.g., the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch).System running in FIPS mode is indicated by kernel parameter -'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. -To enable FIPS mode, run the following command: -
fips-mode-setup --enable
-To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot -parameters during system installation so key generation is done with FIPS-approved algorithms -and continuous monitoring tests in place.
Applicable - ConfigurableVerify the operating system implements cryptographic mechanisms to protect the integrity of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions. If it does not, this is a finding.To verify that kernel parameter 'crypto.fips_enabled' is set properly, run the following command: -
sysctl crypto.fips_enabled
-The output should contain the following: -
crypto.fips_enabled = 1
Is it the case that crypto.fips_enabled is not 1?
Configure the operating system to implement cryptographic mechanisms to protect the integrity of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions.System running in FIPS mode is indicated by kernel parameter -'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. -To enable FIPS mode, run the following command: -
fips-mode-setup --enable
-To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot -parameters during system installation so key generation is done with FIPS-approved algorithms -and continuous monitoring tests in place.
high
CCI-002890SRG-OS-000393-GPOS-00173CCI-003123SRG-OS-000394-GPOS-00174 TBD - Assigned by DISA after STIG releaseThe operating system must implement cryptographic mechanisms to protect the integrity of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions.The operating system must implement cryptographic mechanisms to protect the confidentiality of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions. CCE-80935-0: Configure System Cryptography PolicyPrivileged access contains control and configuration information and is particularly sensitive, so additional protections are necessary. This is maintained by using cryptographic mechanisms, such as a hash function or digital signature, to protect integrity. + Privileged access contains control and configuration information and is particularly sensitive, so additional protections are necessary. This is maintained by using cryptographic mechanisms such as encryption to protect confidentiality. Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. -The operating system can meet this requirement through leveraging a cryptographic module. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system (e.g., the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch). To configure the system cryptography policy to use ciphers only from the policy, run the following command:
$ sudo update-crypto-policies --set 
The rule checks if settings for selected crypto policy are configured as expected. Configuration files in the /etc/crypto-policies/back-ends are either symlinks to correct files provided by Crypto-policies package or they are regular files in case crypto policy customizations are applied. Crypto policies may be customized by crypto policy modules, in which case it is delimited from the base policy using a colon.
Applicable - ConfigurableVerify the operating system implements cryptographic mechanisms to protect the integrity of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions. If it does not, this is a finding.Verify the operating system implements cryptographic mechanisms to protect the confidentiality of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions. If it does not, this is a finding. To verify that cryptography policy has been configured correctly, run the following command:
$ update-crypto-policies --show
@@ -38307,7 +38401,7 @@ Subsequently, check if matching libraries have drop in files in the
/etc/crypto-policies/local.d
directory.
$ ls /etc/crypto-policies/local.d/ | awk -F'-' '{print $1}' | uniq | sort
Outputs of two previous commands should match. Is it the case that cryptographic policy is not configured or is configured incorrectly?
Configure the operating system to implement cryptographic mechanisms to protect the integrity of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions.Configure the operating system to implement cryptographic mechanisms to protect the confidentiality of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions. To configure the system cryptography policy to use ciphers only from the policy, run the following command:
$ sudo update-crypto-policies --set 
@@ -38320,18 +38414,20 @@
CCI-002890SRG-OS-000393-GPOS-00173CCI-003123SRG-OS-000394-GPOS-00174 TBD - Assigned by DISA after STIG releaseThe operating system must implement cryptographic mechanisms to protect the integrity of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions.The operating system must implement cryptographic mechanisms to protect the confidentiality of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions. CCE-85902-5: Configure SSH Client to Use FIPS 140-2 Validated Ciphers: openssh.configPrivileged access contains control and configuration information and is particularly sensitive, so additional protections are necessary. This is maintained by using cryptographic mechanisms, such as a hash function or digital signature, to protect integrity. + Privileged access contains control and configuration information and is particularly sensitive, so additional protections are necessary. This is maintained by using cryptographic mechanisms such as encryption to protect confidentiality. Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. -The operating system can meet this requirement through leveraging a cryptographic module. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system (e.g., the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch). Crypto Policies provide a centralized control over crypto algorithms usage of many packages. OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be set up incorrectly. @@ -38341,12 +38437,12 @@ line and is not commented out:
Ciphers 
Applicable - ConfigurableVerify the operating system implements cryptographic mechanisms to protect the integrity of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions. If it does not, this is a finding.Verify the operating system implements cryptographic mechanisms to protect the confidentiality of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions. If it does not, this is a finding. To verify if the OpenSSH client uses defined Cipher suite in the Crypto Policy, run:
$ grep -i ciphers /etc/crypto-policies/back-ends/openssh.config
and verify that the line matches:
Ciphers 
Is it the case that Crypto Policy for OpenSSH client is not configured correctly?
Configure the operating system to implement cryptographic mechanisms to protect the integrity of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions.Configure the operating system to implement cryptographic mechanisms to protect the confidentiality of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions. Crypto Policies provide a centralized control over crypto algorithms usage of many packages. OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be set up incorrectly. @@ -38361,10 +38457,49 @@
CCI-003123SRG-OS-000394-GPOS-00174TBD - Assigned by DISA after STIG releaseThe operating system must implement cryptographic mechanisms to protect the confidentiality of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions.CCE-84027-2: Set kernel parameter 'crypto.fips_enabled' to 1Privileged access contains control and configuration information and is particularly sensitive, so additional protections are necessary. This is maintained by using cryptographic mechanisms such as encryption to protect confidentiality. +Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. + +This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system (e.g., the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch). +The operating system can meet this requirement through leveraging a cryptographic module.System running in FIPS mode is indicated by kernel parameter +'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. +To enable FIPS mode, run the following command: +
fips-mode-setup --enable
+To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot +parameters during system installation so key generation is done with FIPS-approved algorithms +and continuous monitoring tests in place.
Applicable - ConfigurableVerify the operating system implements cryptographic mechanisms to protect the confidentiality of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions. If it does not, this is a finding.To verify that kernel parameter 'crypto.fips_enabled' is set properly, run the following command: +
sysctl crypto.fips_enabled
+The output should contain the following: +
crypto.fips_enabled = 1
Is it the case that crypto.fips_enabled is not 1?
Configure the operating system to implement cryptographic mechanisms to protect the confidentiality of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions.System running in FIPS mode is indicated by kernel parameter +'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. +To enable FIPS mode, run the following command: +
fips-mode-setup --enable
+To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot +parameters during system installation so key generation is done with FIPS-approved algorithms +and continuous monitoring tests in place.
high
CCI-003123
CCI-003123SRG-OS-000394-GPOS-00174TBD - Assigned by DISA after STIG releaseThe operating system must implement cryptographic mechanisms to protect the confidentiality of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions.CCE-84027-2: Set kernel parameter 'crypto.fips_enabled' to 1Privileged access contains control and configuration information and is particularly sensitive, so additional protections are necessary. This is maintained by using cryptographic mechanisms such as encryption to protect confidentiality. - -Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. - -This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system (e.g., the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch). - -The operating system can meet this requirement through leveraging a cryptographic module.System running in FIPS mode is indicated by kernel parameter -'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. -To enable FIPS mode, run the following command: -
fips-mode-setup --enable
- -To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot -parameters during system installation so key generation is done with FIPS-approved algorithms -and continuous monitoring tests in place.
Applicable - ConfigurableVerify the operating system implements cryptographic mechanisms to protect the confidentiality of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions. If it does not, this is a finding.To verify that kernel parameter 'crypto.fips_enabled' is set properly, run the following command: -
sysctl crypto.fips_enabled
-The output should contain the following: -
crypto.fips_enabled = 1
Is it the case that crypto.fips_enabled is not 1?
Configure the operating system to implement cryptographic mechanisms to protect the confidentiality of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions.System running in FIPS mode is indicated by kernel parameter -'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. -To enable FIPS mode, run the following command: -
fips-mode-setup --enable
- -To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot -parameters during system installation so key generation is done with FIPS-approved algorithms -and continuous monitoring tests in place.
high
CCI-003123SRG-OS-000394-GPOS-00174TBD - Assigned by DISA after STIG releaseThe operating system must implement cryptographic mechanisms to protect the confidentiality of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions.CCE-80935-0: Configure System Cryptography PolicyPrivileged access contains control and configuration information and is particularly sensitive, so additional protections are necessary. This is maintained by using cryptographic mechanisms such as encryption to protect confidentiality. - -Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. - -This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system (e.g., the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch). - -The operating system can meet this requirement through leveraging a cryptographic module.To configure the system cryptography policy to use ciphers only from the -policy, run the following command: -
$ sudo update-crypto-policies --set 
-The rule checks if settings for selected crypto policy are configured as expected. Configuration files in the /etc/crypto-policies/back-ends are either symlinks to correct files provided by Crypto-policies package or they are regular files in case crypto policy customizations are applied. -Crypto policies may be customized by crypto policy modules, in which case it is delimited from the base policy using a colon.
Applicable - ConfigurableVerify the operating system implements cryptographic mechanisms to protect the confidentiality of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions. If it does not, this is a finding.To verify that cryptography policy has been configured correctly, run the -following command: -
$ update-crypto-policies --show
-The output should return
. -Run the command to check if the policy is correctly applied: -
$ update-crypto-policies --is-applied
-The output should be
The configured policy is applied
. -Moreover, check if settings for selected crypto policy are as expected. -List all libraries for which it holds that their crypto policies do not have symbolic link in
/etc/crypto-policies/back-ends
. -
$ ls -l /etc/crypto-policies/back-ends/ | grep '^[^l]' | tail -n +2 | awk -F' ' '{print $NF}' | awk -F'.' '{print $1}' | sort
-Subsequently, check if matching libraries have drop in files in the
/etc/crypto-policies/local.d
directory. -
$ ls /etc/crypto-policies/local.d/ | awk -F'-' '{print $1}' | uniq | sort
-Outputs of two previous commands should match. Is it the case that cryptographic policy is not configured or is configured incorrectly?
Configure the operating system to implement cryptographic mechanisms to protect the confidentiality of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions.To configure the system cryptography policy to use ciphers only from the -policy, run the following command: -
$ sudo update-crypto-policies --set 
-The rule checks if settings for selected crypto policy are configured as expected. Configuration files in the /etc/crypto-policies/back-ends are either symlinks to correct files provided by Crypto-policies package or they are regular files in case crypto policy customizations are applied. -Crypto policies may be customized by crypto policy modules, in which case it is delimited from the base policy using a colon.
high
CCI-003123SRG-OS-000394-GPOS-00174TBD - Assigned by DISA after STIG releaseThe operating system must implement cryptographic mechanisms to protect the confidentiality of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions.CCE-85902-5: Configure SSH Client to Use FIPS 140-2 Validated Ciphers: openssh.configPrivileged access contains control and configuration information and is particularly sensitive, so additional protections are necessary. This is maintained by using cryptographic mechanisms such as encryption to protect confidentiality. - -Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. - -This requirement applies to hardware/software diagnostic test equipment or tools. This requirement does not cover hardware/software components that may support information system maintenance, yet are a part of the system (e.g., the software implementing "ping," "ls," "ipconfig," or the hardware and software implementing the monitoring port of an Ethernet switch). - -The operating system can meet this requirement through leveraging a cryptographic module.Crypto Policies provide a centralized control over crypto algorithms usage of many packages. -OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be -set up incorrectly. - -To check that Crypto Policies settings for ciphers are configured correctly, ensure that -/etc/crypto-policies/back-ends/openssh.config contains the following -line and is not commented out: -
Ciphers 
Applicable - ConfigurableVerify the operating system implements cryptographic mechanisms to protect the confidentiality of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions. If it does not, this is a finding.To verify if the OpenSSH client uses defined Cipher suite in the Crypto Policy, run: -
$ grep -i ciphers /etc/crypto-policies/back-ends/openssh.config
-and verify that the line matches: -
Ciphers 
Is it the case that Crypto Policy for OpenSSH client is not configured correctly?
Configure the operating system to implement cryptographic mechanisms to protect the confidentiality of nonlocal maintenance and diagnostic communications, when used for nonlocal maintenance sessions.Crypto Policies provide a centralized control over crypto algorithms usage of many packages. -OpenSSH is supported by system crypto policy, but the OpenSSH configuration may be -set up incorrectly. - -To check that Crypto Policies settings for ciphers are configured correctly, ensure that -/etc/crypto-policies/back-ends/openssh.config contains the following -line and is not commented out: -
Ciphers 
high
TBD - Assigned by DISA after STIG release The operating system must implement NSA-approved cryptography to protect classified information in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards.CCE-84027-2: Set kernel parameter 'crypto.fips_enabled' to 1CCE-80935-0: Configure System Cryptography Policy Use of weak or untested encryption algorithms undermines the purposes of utilizing encryption to protect data. The operating system must implement cryptographic modules adhering to the higher standards approved by the federal government since this provides assurance they have been tested and validated.System running in FIPS mode is indicated by kernel parameter -'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. -To enable FIPS mode, run the following command: -
fips-mode-setup --enable
- -To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot -parameters during system installation so key generation is done with FIPS-approved algorithms -and continuous monitoring tests in place.
To configure the system cryptography policy to use ciphers only from the +policy, run the following command: +
$ sudo update-crypto-policies --set 
+The rule checks if settings for selected crypto policy are configured as expected. Configuration files in the /etc/crypto-policies/back-ends are either symlinks to correct files provided by Crypto-policies package or they are regular files in case crypto policy customizations are applied. +Crypto policies may be customized by crypto policy modules, in which case it is delimited from the base policy using a colon.
Applicable - Configurable Verify the operating system implements NSA-approved cryptography to protect classified information in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards. If it does not, this is a finding.To verify that kernel parameter 'crypto.fips_enabled' is set properly, run the following command: -
sysctl crypto.fips_enabled
-The output should contain the following: -
crypto.fips_enabled = 1
Is it the case that crypto.fips_enabled is not 1?
To verify that cryptography policy has been configured correctly, run the +following command: +
$ update-crypto-policies --show
+The output should return
. +Run the command to check if the policy is correctly applied: +
$ update-crypto-policies --is-applied
+The output should be
The configured policy is applied
. +Moreover, check if settings for selected crypto policy are as expected. +List all libraries for which it holds that their crypto policies do not have symbolic link in
/etc/crypto-policies/back-ends
. +
$ ls -l /etc/crypto-policies/back-ends/ | grep '^[^l]' | tail -n +2 | awk -F' ' '{print $NF}' | awk -F'.' '{print $1}' | sort
+Subsequently, check if matching libraries have drop in files in the
/etc/crypto-policies/local.d
directory. +
$ ls /etc/crypto-policies/local.d/ | awk -F'-' '{print $1}' | uniq | sort
+Outputs of two previous commands should match. Is it the case that cryptographic policy is not configured or is configured incorrectly?
Configure the operating system to implement NSA-approved cryptography to protect classified information in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards.System running in FIPS mode is indicated by kernel parameter -'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. -To enable FIPS mode, run the following command: -
fips-mode-setup --enable
- -To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot -parameters during system installation so key generation is done with FIPS-approved algorithms -and continuous monitoring tests in place.
To configure the system cryptography policy to use ciphers only from the +policy, run the following command: +
$ sudo update-crypto-policies --set 
+The rule checks if settings for selected crypto policy are configured as expected. Configuration files in the /etc/crypto-policies/back-ends are either symlinks to correct files provided by Crypto-policies package or they are regular files in case crypto policy customizations are applied. +Crypto policies may be customized by crypto policy modules, in which case it is delimited from the base policy using a colon.
high TBD - Assigned by DISA after STIG release The operating system must implement NSA-approved cryptography to protect classified information in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards.CCE-80935-0: Configure System Cryptography PolicyCCE-84027-2: Set kernel parameter 'crypto.fips_enabled' to 1 Use of weak or untested encryption algorithms undermines the purposes of utilizing encryption to protect data. The operating system must implement cryptographic modules adhering to the higher standards approved by the federal government since this provides assurance they have been tested and validated.To configure the system cryptography policy to use ciphers only from the -policy, run the following command: -
$ sudo update-crypto-policies --set 
-The rule checks if settings for selected crypto policy are configured as expected. Configuration files in the /etc/crypto-policies/back-ends are either symlinks to correct files provided by Crypto-policies package or they are regular files in case crypto policy customizations are applied. -Crypto policies may be customized by crypto policy modules, in which case it is delimited from the base policy using a colon.
System running in FIPS mode is indicated by kernel parameter +'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. +To enable FIPS mode, run the following command: +
fips-mode-setup --enable
+ +To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot +parameters during system installation so key generation is done with FIPS-approved algorithms +and continuous monitoring tests in place.
Applicable - Configurable Verify the operating system implements NSA-approved cryptography to protect classified information in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards. If it does not, this is a finding.To verify that cryptography policy has been configured correctly, run the -following command: -
$ update-crypto-policies --show
-The output should return
. -Run the command to check if the policy is correctly applied: -
$ update-crypto-policies --is-applied
-The output should be
The configured policy is applied
. -Moreover, check if settings for selected crypto policy are as expected. -List all libraries for which it holds that their crypto policies do not have symbolic link in
/etc/crypto-policies/back-ends
. -
$ ls -l /etc/crypto-policies/back-ends/ | grep '^[^l]' | tail -n +2 | awk -F' ' '{print $NF}' | awk -F'.' '{print $1}' | sort
-Subsequently, check if matching libraries have drop in files in the
/etc/crypto-policies/local.d
directory. -
$ ls /etc/crypto-policies/local.d/ | awk -F'-' '{print $1}' | uniq | sort
-Outputs of two previous commands should match. Is it the case that cryptographic policy is not configured or is configured incorrectly?
To verify that kernel parameter 'crypto.fips_enabled' is set properly, run the following command: +
sysctl crypto.fips_enabled
+The output should contain the following: +
crypto.fips_enabled = 1
Is it the case that crypto.fips_enabled is not 1?
Configure the operating system to implement NSA-approved cryptography to protect classified information in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards.To configure the system cryptography policy to use ciphers only from the -policy, run the following command: -
$ sudo update-crypto-policies --set 
-The rule checks if settings for selected crypto policy are configured as expected. Configuration files in the /etc/crypto-policies/back-ends are either symlinks to correct files provided by Crypto-policies package or they are regular files in case crypto policy customizations are applied. -Crypto policies may be customized by crypto policy modules, in which case it is delimited from the base policy using a colon.
System running in FIPS mode is indicated by kernel parameter +'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. +To enable FIPS mode, run the following command: +
fips-mode-setup --enable
+ +To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot +parameters during system installation so key generation is done with FIPS-approved algorithms +and continuous monitoring tests in place.
high TBD - Assigned by DISA after STIG release The operating system must protect the confidentiality and integrity of transmitted information.CCE-82426-8: Enable the OpenSSH ServiceCCE-80934-3: Configure BIND to use System Crypto Policy Without protection of the transmitted information, confidentiality and integrity may be compromised because unprotected communications can be intercepted and either read or altered. This requirement applies to both internal and external networks and all types of information system components from which information can be transmitted (e.g., servers, mobile devices, notebook computers, printers, copiers, scanners, and facsimile machines). Communication paths outside the physical protection of a controlled boundary are exposed to the possibility of interception and modification. Protecting the confidentiality and integrity of organizational information can be accomplished by physical means (e.g., employing physical distribution systems) or by logical means (e.g., employing cryptographic techniques). If physical means of protection are employed, then logical means (cryptography) do not have to be employed, and vice versa.The SSH server service, sshd, is commonly needed. + Crypto Policies provide a centralized control over crypto algorithms usage of many packages. +BIND is supported by crypto policy, but the BIND configuration may be +set up to ignore it. -The sshd service can be enabled with the following command: -
$ sudo systemctl enable sshd.service
Applicable - Configurable Verify the operating system protects the confidentiality and integrity of transmitted information. If it does not, this is a finding. - -Run the following command to determine the current status of the -sshd service: -
$ sudo systemctl is-active sshd
-If the service is running, it should return the following:
active
Is it the case that sshd service is disabled?
To verify that BIND uses the system crypto policy, check out that the BIND config file +
/etc/named.conf
contains the
include "/etc/crypto-policies/back-ends/bind.config";
+directive: +
$ sudo grep 'include "/etc/crypto-policies/back-ends/bind.config";' /etc/named.conf
+Verify that the directive is at the bottom of the
options
section of the config file. Is it the case that BIND is installed and the BIND config file doesn't contain the +
include "/etc/crypto-policies/back-ends/bind.config";
directive?
Configure the operating system to protect the confidentiality and integrity of transmitted information.The SSH server service, sshd, is commonly needed. + Crypto Policies provide a centralized control over crypto algorithms usage of many packages. +BIND is supported by crypto policy, but the BIND configuration may be +set up to ignore it. -The sshd service can be enabled with the following command: -
$ sudo systemctl enable sshd.service
mediumhigh TBD - Assigned by DISA after STIG release The operating system must protect the confidentiality and integrity of transmitted information.CCE-84027-2: Set kernel parameter 'crypto.fips_enabled' to 1CCE-84254-2: Configure GnuTLS library to use DoD-approved TLS Encryption Without protection of the transmitted information, confidentiality and integrity may be compromised because unprotected communications can be intercepted and either read or altered. This requirement applies to both internal and external networks and all types of information system components from which information can be transmitted (e.g., servers, mobile devices, notebook computers, printers, copiers, scanners, and facsimile machines). Communication paths outside the physical protection of a controlled boundary are exposed to the possibility of interception and modification. Protecting the confidentiality and integrity of organizational information can be accomplished by physical means (e.g., employing physical distribution systems) or by logical means (e.g., employing cryptographic techniques). If physical means of protection are employed, then logical means (cryptography) do not have to be employed, and vice versa.System running in FIPS mode is indicated by kernel parameter -'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. -To enable FIPS mode, run the following command: -
fips-mode-setup --enable
+
Crypto Policies provide a centralized control over crypto algorithms usage of many packages. +GnuTLS is supported by system crypto policy, but the GnuTLS configuration may be +set up to ignore it. -To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot -parameters during system installation so key generation is done with FIPS-approved algorithms -and continuous monitoring tests in place. Applicable - Configurable Verify the operating system protects the confidentiality and integrity of transmitted information. If it does not, this is a finding.To verify that kernel parameter 'crypto.fips_enabled' is set properly, run the following command: -
sysctl crypto.fips_enabled
-The output should contain the following: -
crypto.fips_enabled = 1
Is it the case that crypto.fips_enabled is not 1?
To verify if GnuTLS uses defined DoD-approved TLS Crypto Policy, run: +
$ sudo grep
+'+VERS-ALL:-VERS-DTLS0.9:-VERS-SSL3.0:-VERS-TLS1.0:-VERS-TLS1.1:-VERS-DTLS1.0'
+/etc/crypto-policies/back-ends/gnutls.config
and verify that a match exists. Is it the case that cryptographic policy for gnutls is not configured or is configured incorrectly?
Configure the operating system to protect the confidentiality and integrity of transmitted information.System running in FIPS mode is indicated by kernel parameter -'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. -To enable FIPS mode, run the following command: -
fips-mode-setup --enable
+
Crypto Policies provide a centralized control over crypto algorithms usage of many packages. +GnuTLS is supported by system crypto policy, but the GnuTLS configuration may be +set up to ignore it. -To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot -parameters during system installation so key generation is done with FIPS-approved algorithms -and continuous monitoring tests in place.highmedium TBD - Assigned by DISA after STIG release The operating system must protect the confidentiality and integrity of transmitted information.CCE-80934-3: Configure BIND to use System Crypto PolicyCCE-82426-8: Enable the OpenSSH Service Without protection of the transmitted information, confidentiality and integrity may be compromised because unprotected communications can be intercepted and either read or altered. This requirement applies to both internal and external networks and all types of information system components from which information can be transmitted (e.g., servers, mobile devices, notebook computers, printers, copiers, scanners, and facsimile machines). Communication paths outside the physical protection of a controlled boundary are exposed to the possibility of interception and modification. Protecting the confidentiality and integrity of organizational information can be accomplished by physical means (e.g., employing physical distribution systems) or by logical means (e.g., employing cryptographic techniques). If physical means of protection are employed, then logical means (cryptography) do not have to be employed, and vice versa.Crypto Policies provide a centralized control over crypto algorithms usage of many packages. -BIND is supported by crypto policy, but the BIND configuration may be -set up to ignore it. + The SSH server service, sshd, is commonly needed. -To check that Crypto Policies settings are configured correctly, ensure that the /etc/named.conf -includes the appropriate configuration: -In the options section of /etc/named.conf, make sure that the following line -is not commented out or superseded by later includes: -include "/etc/crypto-policies/back-ends/bind.config"; Applicable - Configurable Verify the operating system protects the confidentiality and integrity of transmitted information. If it does not, this is a finding.To verify that BIND uses the system crypto policy, check out that the BIND config file -
/etc/named.conf
contains the
include "/etc/crypto-policies/back-ends/bind.config";
-directive: -
$ sudo grep 'include "/etc/crypto-policies/back-ends/bind.config";' /etc/named.conf
-Verify that the directive is at the bottom of the
options
section of the config file. Is it the case that BIND is installed and the BIND config file doesn't contain the -
include "/etc/crypto-policies/back-ends/bind.config";
directive?
+ +Run the following command to determine the current status of the +sshd service: +
$ sudo systemctl is-active sshd
+If the service is running, it should return the following:
active
Is it the case that sshd service is disabled?
Configure the operating system to protect the confidentiality and integrity of transmitted information.Crypto Policies provide a centralized control over crypto algorithms usage of many packages. -BIND is supported by crypto policy, but the BIND configuration may be -set up to ignore it. + The SSH server service, sshd, is commonly needed. -To check that Crypto Policies settings are configured correctly, ensure that the /etc/named.conf -includes the appropriate configuration: -In the options section of /etc/named.conf, make sure that the following line -is not commented out or superseded by later includes: -include "/etc/crypto-policies/back-ends/bind.config";highmedium
CCI-002418SRG-OS-000423-GPOS-00187TBD - Assigned by DISA after STIG releaseThe operating system must protect the confidentiality and integrity of transmitted information.CCE-83303-8: Install the OpenSSH Server PackageWithout protection of the transmitted information, confidentiality and integrity may be compromised because unprotected communications can be intercepted and either read or altered. + +This requirement applies to both internal and external networks and all types of information system components from which information can be transmitted (e.g., servers, mobile devices, notebook computers, printers, copiers, scanners, and facsimile machines). Communication paths outside the physical protection of a controlled boundary are exposed to the possibility of interception and modification. + +Protecting the confidentiality and integrity of organizational information can be accomplished by physical means (e.g., employing physical distribution systems) or by logical means (e.g., employing cryptographic techniques). If physical means of protection are employed, then logical means (cryptography) do not have to be employed, and vice versa.The openssh-server package should be installed. +The openssh-server package can be installed with the following command: +
+$ sudo yum install openssh-server
Applicable - ConfigurableVerify the operating system protects the confidentiality and integrity of transmitted information. If it does not, this is a finding.Run the following command to determine if the openssh-server package is installed:
$ rpm -q openssh-server
Is it the case that the package is not installed?
Configure the operating system to protect the confidentiality and integrity of transmitted information.The openssh-server package should be installed. +The openssh-server package can be installed with the following command: +
+$ sudo yum install openssh-server
medium TBD - Assigned by DISA after STIG release The operating system must protect the confidentiality and integrity of transmitted information.CCE-83303-8: Install the OpenSSH Server PackageWithout protection of the transmitted information, confidentiality and integrity may be compromised because unprotected communications can be intercepted and either read or altered. - -This requirement applies to both internal and external networks and all types of information system components from which information can be transmitted (e.g., servers, mobile devices, notebook computers, printers, copiers, scanners, and facsimile machines). Communication paths outside the physical protection of a controlled boundary are exposed to the possibility of interception and modification. - -Protecting the confidentiality and integrity of organizational information can be accomplished by physical means (e.g., employing physical distribution systems) or by logical means (e.g., employing cryptographic techniques). If physical means of protection are employed, then logical means (cryptography) do not have to be employed, and vice versa.The openssh-server package should be installed. -The openssh-server package can be installed with the following command: -
-$ sudo yum install openssh-server
Applicable - ConfigurableVerify the operating system protects the confidentiality and integrity of transmitted information. If it does not, this is a finding.Run the following command to determine if the openssh-server package is installed:
$ rpm -q openssh-server
Is it the case that the package is not installed?
Configure the operating system to protect the confidentiality and integrity of transmitted information.The openssh-server package should be installed. -The openssh-server package can be installed with the following command: -
-$ sudo yum install openssh-server
medium
CCI-002418SRG-OS-000423-GPOS-00187TBD - Assigned by DISA after STIG releaseThe operating system must protect the confidentiality and integrity of transmitted information.CCE-84254-2: Configure GnuTLS library to use DoD-approved TLS EncryptionCCE-84027-2: Set kernel parameter 'crypto.fips_enabled' to 1 Without protection of the transmitted information, confidentiality and integrity may be compromised because unprotected communications can be intercepted and either read or altered. This requirement applies to both internal and external networks and all types of information system components from which information can be transmitted (e.g., servers, mobile devices, notebook computers, printers, copiers, scanners, and facsimile machines). Communication paths outside the physical protection of a controlled boundary are exposed to the possibility of interception and modification. Protecting the confidentiality and integrity of organizational information can be accomplished by physical means (e.g., employing physical distribution systems) or by logical means (e.g., employing cryptographic techniques). If physical means of protection are employed, then logical means (cryptography) do not have to be employed, and vice versa.Crypto Policies provide a centralized control over crypto algorithms usage of many packages. -GnuTLS is supported by system crypto policy, but the GnuTLS configuration may be -set up to ignore it. + System running in FIPS mode is indicated by kernel parameter +'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. +To enable FIPS mode, run the following command: +
fips-mode-setup --enable
-To check that Crypto Policies settings are configured correctly, ensure that -/etc/crypto-policies/back-ends/gnutls.config contains the following -line and is not commented out: -+VERS-ALL:-VERS-DTLS0.9:-VERS-SSL3.0:-VERS-TLS1.0:-VERS-TLS1.1:-VERS-DTLS1.0
Applicable - Configurable Verify the operating system protects the confidentiality and integrity of transmitted information. If it does not, this is a finding.To verify if GnuTLS uses defined DoD-approved TLS Crypto Policy, run: -
$ sudo grep
-'+VERS-ALL:-VERS-DTLS0.9:-VERS-SSL3.0:-VERS-TLS1.0:-VERS-TLS1.1:-VERS-DTLS1.0'
-/etc/crypto-policies/back-ends/gnutls.config
and verify that a match exists. Is it the case that cryptographic policy for gnutls is not configured or is configured incorrectly?
To verify that kernel parameter 'crypto.fips_enabled' is set properly, run the following command: +
sysctl crypto.fips_enabled
+The output should contain the following: +
crypto.fips_enabled = 1
Is it the case that crypto.fips_enabled is not 1?
Configure the operating system to protect the confidentiality and integrity of transmitted information.Crypto Policies provide a centralized control over crypto algorithms usage of many packages. -GnuTLS is supported by system crypto policy, but the GnuTLS configuration may be -set up to ignore it. + System running in FIPS mode is indicated by kernel parameter +'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. +To enable FIPS mode, run the following command: +
fips-mode-setup --enable
-To check that Crypto Policies settings are configured correctly, ensure that -/etc/crypto-policies/back-ends/gnutls.config contains the following -line and is not commented out: -+VERS-ALL:-VERS-DTLS0.9:-VERS-SSL3.0:-VERS-TLS1.0:-VERS-TLS1.1:-VERS-DTLS1.0
mediumhigh
CCI-002421SRG-OS-000424-GPOS-00188TBD - Assigned by DISA after STIG releaseThe operating system must implement cryptographic mechanisms to prevent unauthorized disclosure of information and/or detect changes to information during transmission unless otherwise protected by alternative physical safeguards, such as, at a minimum, a Protected Distribution System (PDS).CCE-83303-8: Install the OpenSSH Server PackageEncrypting information for transmission protects information from unauthorized disclosure and modification. Cryptographic mechanisms implemented to protect information integrity include, for example, cryptographic hash functions which have common application in digital signatures, checksums, and message authentication codes. + +Use of this requirement will be limited to situations where the data owner has a strict requirement for ensuring data integrity and confidentiality is maintained at every step of the data transfer and handling process. When transmitting data, operating systems need to leverage transmission protection mechanisms such as TLS, SSL VPNs, or IPSec. + +Alternative physical protection measures include PDS. PDSs are used to transmit unencrypted classified National Security Information (NSI) through an area of lesser classification or control. Since the classified NSI is unencrypted, the PDS must provide adequate electrical, electromagnetic, and physical safeguards to deter exploitation.The openssh-server package should be installed. +The openssh-server package can be installed with the following command: +
+$ sudo yum install openssh-server
Applicable - ConfigurableVerify the operating system implements cryptographic mechanisms to prevent unauthorized disclosure of information and/or detect changes to information during transmission unless otherwise protected by alternative physical safeguards, such as, at a minimum, a Protected Distribution System (PDS). + +If it does not, this is a finding.Run the following command to determine if the openssh-server package is installed:
$ rpm -q openssh-server
Is it the case that the package is not installed?
Configure the operating system to implement cryptographic mechanisms to prevent unauthorized disclosure of information and/or detect changes to information during transmission unless otherwise protected by alternative physical safeguards, such as, at a minimum, a Protected Distribution System (PDS).The openssh-server package should be installed. +The openssh-server package can be installed with the following command: +
+$ sudo yum install openssh-server
medium
CCI-002421 SRG-OS-000424-GPOS-00188
CCI-002421SRG-OS-000424-GPOS-00188TBD - Assigned by DISA after STIG releaseThe operating system must implement cryptographic mechanisms to prevent unauthorized disclosure of information and/or detect changes to information during transmission unless otherwise protected by alternative physical safeguards, such as, at a minimum, a Protected Distribution System (PDS).CCE-83303-8: Install the OpenSSH Server PackageEncrypting information for transmission protects information from unauthorized disclosure and modification. Cryptographic mechanisms implemented to protect information integrity include, for example, cryptographic hash functions which have common application in digital signatures, checksums, and message authentication codes. - -Use of this requirement will be limited to situations where the data owner has a strict requirement for ensuring data integrity and confidentiality is maintained at every step of the data transfer and handling process. When transmitting data, operating systems need to leverage transmission protection mechanisms such as TLS, SSL VPNs, or IPSec. - -Alternative physical protection measures include PDS. PDSs are used to transmit unencrypted classified National Security Information (NSI) through an area of lesser classification or control. Since the classified NSI is unencrypted, the PDS must provide adequate electrical, electromagnetic, and physical safeguards to deter exploitation.The openssh-server package should be installed. -The openssh-server package can be installed with the following command: -
-$ sudo yum install openssh-server
Applicable - ConfigurableVerify the operating system implements cryptographic mechanisms to prevent unauthorized disclosure of information and/or detect changes to information during transmission unless otherwise protected by alternative physical safeguards, such as, at a minimum, a Protected Distribution System (PDS). - -If it does not, this is a finding.Run the following command to determine if the openssh-server package is installed:
$ rpm -q openssh-server
Is it the case that the package is not installed?
Configure the operating system to implement cryptographic mechanisms to prevent unauthorized disclosure of information and/or detect changes to information during transmission unless otherwise protected by alternative physical safeguards, such as, at a minimum, a Protected Distribution System (PDS).The openssh-server package should be installed. -The openssh-server package can be installed with the following command: -
-$ sudo yum install openssh-server
medium
CCI-002422SRG-OS-000426-GPOS-00190TBD - Assigned by DISA after STIG releaseThe operating system must maintain the confidentiality and integrity of information during reception.CCE-82426-8: Enable the OpenSSH ServiceInformation can be either unintentionally or maliciously disclosed or modified during reception, including, for example, during aggregation, at protocol transformation points, and during packing/unpacking. These unauthorized disclosures or modifications compromise the confidentiality or integrity of the information. - -Ensuring the confidentiality of transmitted information requires the operating system to take measures in preparing information for transmission. This can be accomplished via access control and encryption. - -Use of this requirement will be limited to situations where the data owner has a strict requirement for ensuring data integrity and confidentiality is maintained at every step of the data transfer and handling process. When receiving data, operating systems need to leverage protection mechanisms such as TLS, SSL VPNs, or IPSec.The SSH server service, sshd, is commonly needed. - -The sshd service can be enabled with the following command: -
$ sudo systemctl enable sshd.service
Applicable - ConfigurableVerify the operating system maintains the confidentiality and integrity of information during reception. If it does not, this is a finding. - -Run the following command to determine the current status of the -sshd service: -
$ sudo systemctl is-active sshd
-If the service is running, it should return the following:
active
Is it the case that sshd service is disabled?
Configure the operating system to maintain the confidentiality and integrity of information during reception.The SSH server service, sshd, is commonly needed. - -The sshd service can be enabled with the following command: -
$ sudo systemctl enable sshd.service
medium
CCI-002422 SRG-OS-000426-GPOS-00190
CCI-002422SRG-OS-000426-GPOS-00190TBD - Assigned by DISA after STIG releaseThe operating system must maintain the confidentiality and integrity of information during reception.CCE-82426-8: Enable the OpenSSH ServiceInformation can be either unintentionally or maliciously disclosed or modified during reception, including, for example, during aggregation, at protocol transformation points, and during packing/unpacking. These unauthorized disclosures or modifications compromise the confidentiality or integrity of the information. + +Ensuring the confidentiality of transmitted information requires the operating system to take measures in preparing information for transmission. This can be accomplished via access control and encryption. + +Use of this requirement will be limited to situations where the data owner has a strict requirement for ensuring data integrity and confidentiality is maintained at every step of the data transfer and handling process. When receiving data, operating systems need to leverage protection mechanisms such as TLS, SSL VPNs, or IPSec.The SSH server service, sshd, is commonly needed. + +The sshd service can be enabled with the following command: +
$ sudo systemctl enable sshd.service
Applicable - ConfigurableVerify the operating system maintains the confidentiality and integrity of information during reception. If it does not, this is a finding. + +Run the following command to determine the current status of the +sshd service: +
$ sudo systemctl is-active sshd
+If the service is running, it should return the following:
active
Is it the case that sshd service is disabled?
Configure the operating system to maintain the confidentiality and integrity of information during reception.The SSH server service, sshd, is commonly needed. + +The sshd service can be enabled with the following command: +
$ sudo systemctl enable sshd.service
medium
CCI-002422 SRG-OS-000426-GPOS-00190
CCI-002824SRG-OS-000433-GPOS-00192TBD - Assigned by DISA after STIG releaseThe operating system must implement non-executable data to protect its memory from unauthorized code execution.CCE-80945-9: Enable SLUB/SLAB allocator poisoningSome adversaries launch attacks with the intent of executing code in non-executable regions of memory or in memory locations that are prohibited. Security safeguards employed to protect memory include, for example, data execution prevention and address space layout randomization. Data execution prevention safeguards can either be hardware-enforced or software-enforced with hardware providing the greater strength of mechanism. - -Examples of attacks are buffer overflow attacks.To enable poisoning of SLUB/SLAB objects, -add the argument slub_debug= to the default -GRUB 2 command line for the Linux operating system. -To ensure that slub_debug= is added as a kernel command line -argument to newly installed kernels, add slub_debug= to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... slub_debug= ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="slub_debug="
Applicable - ConfigurableVerify the operating system implements non-executable data to protect its memory from unauthorized code execution. If it does not, this is a finding.Inspect the form of default GRUB 2 command line for the Linux operating system -in /etc/default/grub. If it includes slub_debug=, -then the parameter will be configured for newly installed kernels. -First check if the GRUB recovery is enabled: -
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
-If this option is set to true, then check that a line is output by the following command: -
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*slub_debug=.*' /etc/default/grub
-If the recovery is disabled, check the line with -
$ sudo grep 'GRUB_CMDLINE_LINUX.*slub_debug=.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. -Run the following command: -
$ sudo grubby --info=ALL | grep args | grep -v 'slub_debug='
-The command should not return any output. Is it the case that SLUB/SLAB poisoning is not enabled?
Configure the operating system to implement non-executable data to protect its memory from unauthorized code execution.To enable poisoning of SLUB/SLAB objects, -add the argument slub_debug= to the default -GRUB 2 command line for the Linux operating system. -To ensure that slub_debug= is added as a kernel command line -argument to newly installed kernels, add slub_debug= to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... slub_debug= ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="slub_debug="
medium
CCI-002824 SRG-OS-000433-GPOS-00192
CCI-002824SRG-OS-000433-GPOS-00192TBD - Assigned by DISA after STIG releaseThe operating system must implement non-executable data to protect its memory from unauthorized code execution.CCE-80945-9: Enable SLUB/SLAB allocator poisoningSome adversaries launch attacks with the intent of executing code in non-executable regions of memory or in memory locations that are prohibited. Security safeguards employed to protect memory include, for example, data execution prevention and address space layout randomization. Data execution prevention safeguards can either be hardware-enforced or software-enforced with hardware providing the greater strength of mechanism. + +Examples of attacks are buffer overflow attacks.To enable poisoning of SLUB/SLAB objects, +add the argument slub_debug= to the default +GRUB 2 command line for the Linux operating system. +To ensure that slub_debug= is added as a kernel command line +argument to newly installed kernels, add slub_debug= to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... slub_debug= ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="slub_debug="
Applicable - ConfigurableVerify the operating system implements non-executable data to protect its memory from unauthorized code execution. If it does not, this is a finding.Inspect the form of default GRUB 2 command line for the Linux operating system +in /etc/default/grub. If it includes slub_debug=, +then the parameter will be configured for newly installed kernels. +First check if the GRUB recovery is enabled: +
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
+If this option is set to true, then check that a line is output by the following command: +
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*slub_debug=.*' /etc/default/grub
+If the recovery is disabled, check the line with +
$ sudo grep 'GRUB_CMDLINE_LINUX.*slub_debug=.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. +Run the following command: +
$ sudo grubby --info=ALL | grep args | grep -v 'slub_debug='
+The command should not return any output. Is it the case that SLUB/SLAB poisoning is not enabled?
Configure the operating system to implement non-executable data to protect its memory from unauthorized code execution.To enable poisoning of SLUB/SLAB objects, +add the argument slub_debug= to the default +GRUB 2 command line for the Linux operating system. +To ensure that slub_debug= is added as a kernel command line +argument to newly installed kernels, add slub_debug= to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... slub_debug= ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="slub_debug="
medium
CCI-002824SRG-OS-000433-GPOS-00193TBD - Assigned by DISA after STIG releaseThe operating system must implement address space layout randomization to protect its memory from unauthorized code execution.CCE-80916-0: Enable Randomized Layout of Virtual Address SpaceSome adversaries launch attacks with the intent of executing code in non-executable regions of memory or in memory locations that are prohibited. Security safeguards employed to protect memory include, for example, data execution prevention and address space layout randomization. Data execution prevention safeguards can either be hardware-enforced or software-enforced with hardware providing the greater strength of mechanism. +Examples of attacks are buffer overflow attacks.To set the runtime status of the kernel.randomize_va_space kernel parameter, run the following command:
$ sudo sysctl -w kernel.randomize_va_space=2
+To 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
Applicable - ConfigurableVerify the operating system implements address space layout randomization to protect its memory from unauthorized code execution. If it does not, this is a finding.The runtime status of the kernel.randomize_va_space kernel parameter can be queried +by running the following command: +
$ sysctl kernel.randomize_va_space
+2. + Is it the case that the correct value is not returned?
Configure the operating system to implement address space layout randomization to protect its memory from unauthorized code execution.To set the runtime status of the kernel.randomize_va_space kernel parameter, run the following command:
$ sudo sysctl -w kernel.randomize_va_space=2
+To 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
medium
CCI-002824
CCI-002824SRG-OS-000433-GPOS-00193TBD - Assigned by DISA after STIG releaseThe operating system must implement address space layout randomization to protect its memory from unauthorized code execution.CCE-80916-0: Enable Randomized Layout of Virtual Address SpaceSome adversaries launch attacks with the intent of executing code in non-executable regions of memory or in memory locations that are prohibited. Security safeguards employed to protect memory include, for example, data execution prevention and address space layout randomization. Data execution prevention safeguards can either be hardware-enforced or software-enforced with hardware providing the greater strength of mechanism. - -Examples of attacks are buffer overflow attacks.To set the runtime status of the kernel.randomize_va_space kernel parameter, run the following command:
$ sudo sysctl -w kernel.randomize_va_space=2
-To 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
Applicable - ConfigurableVerify the operating system implements address space layout randomization to protect its memory from unauthorized code execution. If it does not, this is a finding.The runtime status of the kernel.randomize_va_space kernel parameter can be queried -by running the following command: -
$ sysctl kernel.randomize_va_space
-2. - Is it the case that the correct value is not returned?
Configure the operating system to implement address space layout randomization to protect its memory from unauthorized code execution.To set the runtime status of the kernel.randomize_va_space kernel parameter, run the following command:
$ sudo sysctl -w kernel.randomize_va_space=2
-To 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
medium
CCI-002696SRG-OS-000445-GPOS-00199TBD - Assigned by DISA after STIG releaseThe operating system must verify correct operation of all security functions.CCE-80869-1: Ensure SELinux State is EnforcingWithout verification of the security functions, security functions may not operate correctly and the failure may go unnoticed. Security function is defined as the hardware, software, and/or firmware of the information system responsible for enforcing the system security policy and supporting the isolation of code and data on which the protection is based. Security functionality includes, but is not limited to, establishing system accounts, configuring access authorizations (i.e., permissions, privileges), setting events to be audited, and setting intrusion detection parameters. - -This requirement applies to operating systems performing security function verification/testing and/or systems and environments that require this functionality.The SELinux state should be set to at -system boot time. In the file /etc/selinux/config, add or correct the -following line to configure the system to boot into enforcing mode: -
SELINUX=
Applicable - ConfigurableVerify the operating system verifies correct operation of all security functions. If it does not, this is a finding.Ensure that Red Hat Enterprise Linux 8 verifies correct operation of security functions. - -Check if "SELinux" is active and in "" mode with the following command: - -$ sudo getenforce - Is it the case that SELINUX is not set to enforcing?Configure the operating system to verify correct operation of all security functions.The SELinux state should be set to at -system boot time. In the file /etc/selinux/config, add or correct the -following line to configure the system to boot into enforcing mode: -
SELINUX=
high
CCI-002696 SRG-OS-000445-GPOS-00199
CCI-002696SRG-OS-000445-GPOS-00199TBD - Assigned by DISA after STIG releaseThe operating system must verify correct operation of all security functions.CCE-80844-4: Install AIDEWithout verification of the security functions, security functions may not operate correctly and the failure may go unnoticed. Security function is defined as the hardware, software, and/or firmware of the information system responsible for enforcing the system security policy and supporting the isolation of code and data on which the protection is based. Security functionality includes, but is not limited to, establishing system accounts, configuring access authorizations (i.e., permissions, privileges), setting events to be audited, and setting intrusion detection parameters. + +This requirement applies to operating systems performing security function verification/testing and/or systems and environments that require this functionality.The aide package can be installed with the following command: +
+$ sudo yum install aide
Applicable - ConfigurableVerify the operating system verifies correct operation of all security functions. If it does not, this is a finding.Run the following command to determine if the aide package is installed:
$ rpm -q aide
Is it the case that the package is not installed?
Configure the operating system to verify correct operation of all security functions.The aide package can be installed with the following command: +
+$ sudo yum install aide
medium
CCI-002696SRG-OS-000445-GPOS-00199TBD - Assigned by DISA after STIG releaseThe operating system must verify correct operation of all security functions.CCE-80869-1: Ensure SELinux State is EnforcingWithout verification of the security functions, security functions may not operate correctly and the failure may go unnoticed. Security function is defined as the hardware, software, and/or firmware of the information system responsible for enforcing the system security policy and supporting the isolation of code and data on which the protection is based. Security functionality includes, but is not limited to, establishing system accounts, configuring access authorizations (i.e., permissions, privileges), setting events to be audited, and setting intrusion detection parameters. + +This requirement applies to operating systems performing security function verification/testing and/or systems and environments that require this functionality.The SELinux state should be set to at +system boot time. In the file /etc/selinux/config, add or correct the +following line to configure the system to boot into enforcing mode: +
SELINUX=
Applicable - ConfigurableVerify the operating system verifies correct operation of all security functions. If it does not, this is a finding.Ensure that Red Hat Enterprise Linux 8 verifies correct operation of security functions. + +Check if "SELinux" is active and in "" mode with the following command: + +$ sudo getenforce + Is it the case that SELINUX is not set to enforcing?Configure the operating system to verify correct operation of all security functions.The SELinux state should be set to at +system boot time. In the file /etc/selinux/config, add or correct the +following line to configure the system to boot into enforcing mode: +
SELINUX=
high
CCI-002696 SRG-OS-000445-GPOS-00199
CCI-002696SRG-OS-000445-GPOS-00199TBD - Assigned by DISA after STIG releaseThe operating system must verify correct operation of all security functions.CCE-80844-4: Install AIDEWithout verification of the security functions, security functions may not operate correctly and the failure may go unnoticed. Security function is defined as the hardware, software, and/or firmware of the information system responsible for enforcing the system security policy and supporting the isolation of code and data on which the protection is based. Security functionality includes, but is not limited to, establishing system accounts, configuring access authorizations (i.e., permissions, privileges), setting events to be audited, and setting intrusion detection parameters. - -This requirement applies to operating systems performing security function verification/testing and/or systems and environments that require this functionality.The aide package can be installed with the following command: -
-$ sudo yum install aide
Applicable - ConfigurableVerify the operating system verifies correct operation of all security functions. If it does not, this is a finding.Run the following command to determine if the aide package is installed:
$ rpm -q aide
Is it the case that the package is not installed?
Configure the operating system to verify correct operation of all security functions.The aide package can be installed with the following command: -
-$ sudo yum install aide
medium
TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access security objects occur.CCE-80754-5: Record Unsuccessful Access Attempts to Files - openatCCE-80691-9: Record Events that Modify the System's Discretionary Access Controls - fremovexattrWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission +changes for all users and root. +

+If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to access security objects occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the +fremovexattr system call, run the following command: +
$ sudo grep "fremovexattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access security objects occur.At a minimum, the audit system should collect file permission +changes for all users and root. +

+If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
medium
CCI-000172SRG-OS-000458-GPOS-00203TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to access security objects occur.CCE-80697-6: Record Events that Modify the System's Discretionary Access Controls - setxattrWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to access security objects occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the +setxattr system call, run the following command: +
$ sudo grep "setxattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access security objects occur.At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
medium
CCI-000172SRG-OS-000458-GPOS-00203TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to access security objects occur.CCE-80752-9: Record Unsuccessful Access Attempts to Files - ftruncate Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -40141,66 +40273,66 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access security objects occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the openat system call. + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the ftruncate system call. If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: -$ sudo grep -r openat /etc/audit/rules.d +$ sudo grep -r ftruncate /etc/audit/rules.d If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: -$ sudo grep openat /etc/audit/audit.rules +$ sudo grep ftruncate /etc/audit/audit.rules The output should be the following: --a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to access security objects occur. At a minimum, the audit system should collect unauthorized file accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access security objects occur.CCE-80685-1: Record Events that Modify the System's Discretionary Access Controls - chmodCCE-80756-0: Record Unsuccessful Access Attempts to Files - truncate Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access security objects occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -chmod system call, run the following command: -
$ sudo grep "chmod" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the truncate system call. + +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: + +$ sudo grep -r truncate /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep truncate /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to access security objects occur.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access security objects occur.CCE-80697-6: Record Events that Modify the System's Discretionary Access Controls - setxattrCCE-80686-9: Record Events that Modify the System's Discretionary Access Controls - chown Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access security objects occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -setxattr system call, run the following command: -
$ sudo grep "setxattr" /etc/audit/audit.*
+chown system call, run the following command: +
$ sudo grep "chown" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access security objects occur. At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access security objects occur.CCE-80690-1: Record Events that Modify the System's Discretionary Access Controls - fchownatCCE-80694-3: Record Events that Modify the System's Discretionary Access Controls - lremovexattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access security objects occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fchownat system call, run the following command: -
$ sudo grep "fchownat" /etc/audit/audit.*
+lremovexattr system call, run the following command: +
$ sudo grep "lremovexattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access security objects occur. At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access security objects occur.CCE-80694-3: Record Events that Modify the System's Discretionary Access Controls - lremovexattrCCE-80753-7: Record Unsuccessful Access Attempts to Files - open Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured +
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access security objects occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -lremovexattr system call, run the following command: -
$ sudo grep "lremovexattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the open system call. + +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: + +$ sudo grep -r open /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep open /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to access security objects occur.At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured +
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access security objects occur.CCE-80689-3: Record Events that Modify the System's Discretionary Access Controls - fchownCCE-80690-1: Record Events that Modify the System's Discretionary Access Controls - fchownat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -40522,23 +40704,20 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access security objects occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fchown system call, run the following command: -
$ sudo grep "fchown" /etc/audit/audit.*
+fchownat system call, run the following command: +
$ sudo grep "fchownat" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access security objects occur. medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access security objects occur.CCE-80696-8: Record Events that Modify the System's Discretionary Access Controls - removexattrCCE-80687-7: Record Events that Modify the System's Discretionary Access Controls - fchmod Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured to use the augenrules -program to read audit rules during daemon startup (the default), add the -following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access security objects occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -removexattr system call, run the following command: -
$ sudo grep "removexattr" /etc/audit/audit.*
+fchmod system call, run the following command: +
$ sudo grep "fchmod" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access security objects occur. At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured to use the augenrules -program to read audit rules during daemon startup (the default), add the -following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access security objects occur.CCE-80691-9: Record Events that Modify the System's Discretionary Access Controls - fremovexattrCCE-80696-8: Record Events that Modify the System's Discretionary Access Controls - removexattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -40648,139 +40808,55 @@ At a minimum, the audit system should collect file permission changes for all users and root.

-If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+If the auditd daemon is configured to use the augenrules +program to read audit rules during daemon startup (the default), add the +following line to a file with suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access security objects occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fremovexattr system call, run the following command: -
$ sudo grep "fremovexattr" /etc/audit/audit.*
+removexattr system call, run the following command: +
$ sudo grep "removexattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access security objects occur. At a minimum, the audit system should collect file permission changes for all users and root.

-If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+If the auditd daemon is configured to use the augenrules +program to read audit rules during daemon startup (the default), add the +following line to a file with suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
medium
CCI-000172SRG-OS-000458-GPOS-00203TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to access security objects occur.CCE-80753-7: Record Unsuccessful Access Attempts to Files - openWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to access security objects occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the open system call. - -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: - -$ sudo grep -r open /etc/audit/rules.d - -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: - -$ sudo grep open /etc/audit/audit.rules - -The output should be the following: - --a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records when successful/unsuccessful attempts to access security objects occur.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access security objects occur.CCE-80755-2: Record Unsuccessful Access Attempts to Files - open_by_handle_atCCE-80754-5: Record Unsuccessful Access Attempts to Files - openat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -40879,60 +40955,66 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access + If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access security objects occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the open_by_handle_at system call. + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the openat system call. If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: -$ sudo grep -r open_by_handle_at /etc/audit/rules.d +$ sudo grep -r openat /etc/audit/rules.d If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: -$ sudo grep open_by_handle_at /etc/audit/audit.rules +$ sudo grep openat /etc/audit/audit.rules The output should be the following: --a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to access security objects occur. At a minimum, the audit system should collect unauthorized file accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access + If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium Configure the operating system to generate audit records when successful/unsuccessful attempts to access security objects occur.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium
CCI-000172SRG-OS-000458-GPOS-00203TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to access security objects occur.CCE-80687-7: Record Events that Modify the System's Discretionary Access Controls - fchmodWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to access security objects occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -fchmod system call, run the following command: -
$ sudo grep "fchmod" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access security objects occur.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
medium
CCI-000172SRG-OS-000458-GPOS-00203TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to access security objects occur.CCE-80686-9: Record Events that Modify the System's Discretionary Access Controls - chownWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to access security objects occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -chown system call, run the following command: -
$ sudo grep "chown" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access security objects occur.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access security objects occur.At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access security objects occur.CCE-80752-9: Record Unsuccessful Access Attempts to Files - ftruncateCCE-80755-2: Record Unsuccessful Access Attempts to Files - open_by_handle_at Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -41114,66 +41090,60 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access security objects occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the ftruncate system call. + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the open_by_handle_at system call. If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: -$ sudo grep -r ftruncate /etc/audit/rules.d +$ sudo grep -r open_by_handle_at /etc/audit/rules.d If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: -$ sudo grep ftruncate /etc/audit/audit.rules +$ sudo grep open_by_handle_at /etc/audit/audit.rules The output should be the following: --a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to access security objects occur. At a minimum, the audit system should collect unauthorized file accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium
CCI-000172SRG-OS-000458-GPOS-00203TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to access security objects occur.CCE-80685-1: Record Events that Modify the System's Discretionary Access Controls - chmodWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to access security objects occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the +chmod system call, run the following command: +
$ sudo grep "chmod" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access security objects occur.At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
medium
CCI-000172SRG-OS-000458-GPOS-00203TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to access security objects occur.CCE-80689-3: Record Events that Modify the System's Discretionary Access Controls - fchownWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ +If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to access security objects occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the +fchown system call, run the following command: +
$ sudo grep "fchown" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to access security objects occur.At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ +If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium
CCI-000172 SRG-OS-000458-GPOS-00203
CCI-000172SRG-OS-000458-GPOS-00203SRG-OS-000461-GPOS-00205 TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to access security objects occur.The operating system must generate audit records when successful/unsuccessful attempts to access categories of information (e.g., classification levels) occur.CCE-80756-0: Record Unsuccessful Access Attempts to Files - truncateCCE-80752-9: Record Unsuccessful Access Attempts to Files - ftruncate Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -41310,84 +41397,79 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to access security objects occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the truncate system call. + Verify the operating system generates audit records when successful/unsuccessful attempts to access categories of information (e.g., classification levels) occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the ftruncate system call. If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: -$ sudo grep -r truncate /etc/audit/rules.d +$ sudo grep -r ftruncate /etc/audit/rules.d If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: -$ sudo grep truncate /etc/audit/audit.rules +$ sudo grep ftruncate /etc/audit/audit.rules The output should be the following: --a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records when successful/unsuccessful attempts to access security objects occur.Configure the operating system to generate audit records when successful/unsuccessful attempts to access categories of information (e.g., classification levels) occur. At a minimum, the audit system should collect unauthorized file accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium
CCI-000172 SRG-OS-000461-GPOS-00205 TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access categories of information (e.g., classification levels) occur.CCE-80754-5: Record Unsuccessful Access Attempts to Files - openatCCE-80756-0: Record Unsuccessful Access Attempts to Files - truncate Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -41397,66 +41479,66 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access categories of information (e.g., classification levels) occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the openat system call. + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the truncate system call. If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: -$ sudo grep -r openat /etc/audit/rules.d +$ sudo grep -r truncate /etc/audit/rules.d If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: -$ sudo grep openat /etc/audit/audit.rules +$ sudo grep truncate /etc/audit/audit.rules The output should be the following: --a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to access categories of information (e.g., classification levels) occur. At a minimum, the audit system should collect unauthorized file accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access categories of information (e.g., classification levels) occur.CCE-80755-2: Record Unsuccessful Access Attempts to Files - open_by_handle_atCCE-80754-5: Record Unsuccessful Access Attempts to Files - openat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -41637,60 +41719,66 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access + If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access categories of information (e.g., classification levels) occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the open_by_handle_at system call. + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the openat system call. If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: -$ sudo grep -r open_by_handle_at /etc/audit/rules.d +$ sudo grep -r openat /etc/audit/rules.d If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: -$ sudo grep open_by_handle_at /etc/audit/audit.rules +$ sudo grep openat /etc/audit/audit.rules The output should be the following: --a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to access categories of information (e.g., classification levels) occur. At a minimum, the audit system should collect unauthorized file accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access + If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to access categories of information (e.g., classification levels) occur.CCE-80752-9: Record Unsuccessful Access Attempts to Files - ftruncateCCE-80755-2: Record Unsuccessful Access Attempts to Files - open_by_handle_at Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -41713,158 +41801,119 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to access categories of information (e.g., classification levels) occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the ftruncate system call. + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the open_by_handle_at system call. If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: -$ sudo grep -r ftruncate /etc/audit/rules.d +$ sudo grep -r open_by_handle_at /etc/audit/rules.d If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: -$ sudo grep ftruncate /etc/audit/audit.rules +$ sudo grep open_by_handle_at /etc/audit/audit.rules The output should be the following: --a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to access categories of information (e.g., classification levels) occur. At a minimum, the audit system should collect unauthorized file accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium
CCI-000172SRG-OS-000461-GPOS-00205SRG-OS-000462-GPOS-00206 TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to access categories of information (e.g., classification levels) occur.The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80756-0: Record Unsuccessful Access Attempts to Files - truncateCCE-80704-0: Ensure auditd Collects File Deletion Events by User - renameat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to access categories of information (e.g., classification levels) occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the truncate system call. - -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: - -$ sudo grep -r truncate /etc/audit/rules.d - -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: - -$ sudo grep truncate /etc/audit/audit.rules - -The output should be the following: - --a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records when successful/unsuccessful attempts to access categories of information (e.g., classification levels) occur.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the +renameat system call, run the following command: +
$ sudo grep "renameat" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium
CCI-000172TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80754-5: Record Unsuccessful Access Attempts to Files - openatCCE-89446-9: Record Any Attempts to Run chacl Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect any execution attempt +of the chacl command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the openat system call. - -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: - -$ sudo grep -r openat /etc/audit/rules.d - -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: - -$ sudo grep openat /etc/audit/audit.rules + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chacl" command with the following command: -The output should be the following: +$ sudo auditctl -l | grep chacl --a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect any execution attempt +of the chacl command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80711-5: Ensure auditd Collects Information on Kernel Module Unloading - delete_moduleCCE-80741-2: Ensure auditd Collects Information on the Use of Privileged Commands - userhelper Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).To capture kernel module unloading events, use following line, setting ARCH to -either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: - -
-a always,exit -F arch=ARCH -S delete_module -F auid>=1000 -F auid!=unset -F key=modules
- - -Place to add the line depends on a way auditd daemon is configured. If it is configured -to use the augenrules program (the default), add the line to a file with suffix -.rules in the directory /etc/audit/rules.d. - -If the auditd daemon is configured to use the auditctl utility, -add the line to file /etc/audit/audit.rules.
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -delete_module system call, run the following command: -
$ sudo grep "delete_module" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.To capture kernel module unloading events, use following line, setting ARCH to -either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: - -
-a always,exit -F arch=ARCH -S delete_module -F auid>=1000 -F auid!=unset -F key=modules
- +
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "userhelper" command with the following command: -Place to add the line depends on a way auditd daemon is configured. If it is configured -to use the augenrules program (the default), add the line to a file with suffix -.rules in the directory /etc/audit/rules.d. +$ sudo auditctl -l | grep userhelper -If the auditd daemon is configured to use the auditctl utility, -add the line to file /etc/audit/audit.rules.Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80685-1: Record Events that Modify the System's Discretionary Access Controls - chmodCCE-80733-9: Ensure auditd Collects Information on the Use of Privileged Commands - postqueue Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -chmod system call, run the following command: -
$ sudo grep "chmod" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postqueue" command with the following command: + +$ sudo auditctl -l | grep postqueue + +-a always,exit -F path=/usr/bin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postqueue Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80697-6: Record Events that Modify the System's Discretionary Access Controls - setxattrCCE-80728-9: Ensure auditd Collects Information on the Use of Privileged Commands - gpasswd Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -setxattr system call, run the following command: -
$ sudo grep "setxattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "gpasswd" command with the following command: + +$ sudo auditctl -l | grep gpasswd + +-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-gpasswd Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoersCCE-80711-5: Ensure auditd Collects Information on Kernel Module Unloading - delete_module Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
To capture kernel module unloading events, use following line, setting ARCH to +either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: + +
-a always,exit -F arch=ARCH -S delete_module -F auid>=1000 -F auid!=unset -F key=modules
+ + +Place to add the line depends on a way auditd daemon is configured. If it is configured +to use the augenrules program (the default), add the line to a file with suffix +.rules in the directory /etc/audit/rules.d. + +If the auditd daemon is configured to use the auditctl utility, +add the line to file /etc/audit/audit.rules.
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + To determine if the system is configured to audit calls to the +delete_module system call, run the following command: +
$ sudo grep "delete_module" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.To capture kernel module unloading events, use following line, setting ARCH to +either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: -$ sudo auditctl -l | grep /etc/sudoers +
-a always,exit -F arch=ARCH -S delete_module -F auid>=1000 -F auid!=unset -F key=modules
--w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80690-1: Record Events that Modify the System's Discretionary Access Controls - fchownatCCE-89480-8: Ensure auditd Collects Information on the Use of Privileged Commands - unix_update Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -fchownat system call, run the following command: -
$ sudo grep "fchownat" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_update" command with the following command: + +$ sudo auditctl -l | grep unix_update + +-a always,exit -F path=/usr/bin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_update Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-82280-9: Record Any Attempts to Run setfilesCCE-80707-3: Ensure auditd Collects File Deletion Events by User - unlinkat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect any execution attempt -of the setfiles command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfiles" command with the following command: - -$ sudo auditctl -l | grep setfiles - --a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +unlinkat system call, run the following command: +
$ sudo grep "unlinkat" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect any execution attempt -of the setfiles command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80700-8: Record Any Attempts to Run semanageCCE-80740-4: Ensure auditd Collects Information on the Use of Privileged Commands - unix_chkpwd Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect any execution attempt -of the semanage command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "semanage" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_chkpwd" command with the following command: -$ sudo auditctl -l | grep semanage +$ sudo auditctl -l | grep unix_chkpwd --a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect any execution attempt -of the semanage command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80692-7: Record Events that Modify the System's Discretionary Access Controls - fsetxattrCCE-80691-9: Record Events that Modify the System's Discretionary Access Controls - fremovexattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fsetxattr system call, run the following command: -
$ sudo grep "fsetxattr" /etc/audit/audit.*
+fremovexattr system call, run the following command: +
$ sudo grep "fremovexattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur. At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-88437-9: Record Any Attempts to Run setfaclCCE-80697-6: Record Events that Modify the System's Discretionary Access Controls - setxattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect any execution attempt -of the setfacl command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix + +Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfacl" command with the following command: - -$ sudo auditctl -l | grep setfacl - --a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +setxattr system call, run the following command: +
$ sudo grep "setxattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect any execution attempt -of the setfacl command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80732-1: Ensure auditd Collects Information on the Use of Privileged Commands - postdropCCE-80739-6: Ensure auditd Collects Information on the Use of Privileged Commands - umount Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -42421,29 +42431,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postdrop" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "umount" command with the following command: -$ sudo auditctl -l | grep postdrop +$ sudo auditctl -l | grep umount --a always,exit -F path=/usr/bin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postdrop Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-90783-2: Configure immutable Audit login UIDsCCE-80752-9: Record Unsuccessful Access Attempts to Files - ftruncate Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).Configure kernel to prevent modification of login UIDs once they are set. -Changing login UIDs while this configuration is enforced requires special capabilities which -are not available to unprivileged users. -If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d in order to make login UIDs -immutable: -
--loginuid-immutable
+
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file in order to make login UIDs -immutable: -
--loginuid-immutable
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.To determine if the system is configured to make login UIDs immutable, run -one of the following commands. -If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), run the following: -
sudo grep immutable /etc/audit/rules.d/*.rules
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, run the following command: -
sudo grep immutable /etc/audit/audit.rules
-The following line should be returned: -
--loginuid-immutable
Is it the case that the system is not configured to make login UIDs immutable?
Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the ftruncate system call. + +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: + +$ sudo grep -r ftruncate /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep ftruncate /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.Configure kernel to prevent modification of login UIDs once they are set. -Changing login UIDs while this configuration is enforced requires special capabilities which -are not available to unprivileged users. -If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d in order to make login UIDs -immutable: -
--loginuid-immutable
+
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file in order to make login UIDs -immutable: -
--loginuid-immutable
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80694-3: Record Events that Modify the System's Discretionary Access Controls - lremovexattrCCE-80756-0: Record Unsuccessful Access Attempts to Files - truncate Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured +
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -lremovexattr system call, run the following command: -
$ sudo grep "lremovexattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the truncate system call. + +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: + +$ sudo grep -r truncate /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep truncate /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured +
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80689-3: Record Events that Modify the System's Discretionary Access Controls - fchownCCE-80686-9: Record Events that Modify the System's Discretionary Access Controls - chown Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fchown system call, run the following command: -
$ sudo grep "fchown" /etc/audit/audit.*
+chown system call, run the following command: +
$ sudo grep "chown" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur. At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80696-8: Record Events that Modify the System's Discretionary Access Controls - removexattrCCE-80719-8: Record Attempts to Alter Logon and Logout Events - lastlog Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured to use the augenrules -program to read audit rules during daemon startup (the default), add the -following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
-

+
The audit system already collects login information for all users +and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d in order to watch for attempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -removexattr system call, run the following command: -
$ sudo grep "removexattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/lastlog" with the following command: + +$ sudo auditctl -l | grep /var/log/lastlog + +-w /var/log/lastlog -p wa -k logins Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured to use the augenrules -program to read audit rules during daemon startup (the default), add the -following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
-

+
The audit system already collects login information for all users +and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d in order to watch for attempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswdWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: - -$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' - --w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
medium
CCI-000172SRG-OS-000462-GPOS-00206TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80758-6: Record Events that Modify User/Group Information - /etc/groupCCE-80700-8: Record Any Attempts to Run semanage Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect any execution attempt +of the semanage command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/group" with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "semanage" command with the following command: -$ sudo auditctl -l | grep -E '(/etc/group)' +$ sudo auditctl -l | grep semanage --w /etc/group -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect any execution attempt +of the semanage command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80727-1: Ensure auditd Collects Information on the Use of Privileged Commands - crontabCCE-80730-5: Ensure auditd Collects Information on the Use of Privileged Commands - pam_timestamp_check Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -42875,29 +42832,33 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "crontab" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "pam_timestamp_check" command with the following command: -$ sudo auditctl -l | grep crontab +$ sudo auditctl -l | grep pam_timestamp_check --a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -k privileged-crontab Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80691-9: Record Events that Modify the System's Discretionary Access Controls - fremovexattrCCE-80694-3: Record Events that Modify the System's Discretionary Access Controls - lremovexattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -42921,28 +42882,28 @@ If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fremovexattr system call, run the following command: -
$ sudo grep "fremovexattr" /etc/audit/audit.*
+lremovexattr system call, run the following command: +
$ sudo grep "lremovexattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur. medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80728-9: Ensure auditd Collects Information on the Use of Privileged Commands - gpasswdCCE-80692-7: Record Events that Modify the System's Discretionary Access Controls - fsetxattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "gpasswd" command with the following command: - -$ sudo auditctl -l | grep gpasswd - --a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-gpasswd Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +fsetxattr system call, run the following command: +
$ sudo grep "fsetxattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80943-4: Extend Audit Backlog Limit for the Audit DaemonCCE-85944-7: Record Any Attempts to Run ssh-agent Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).To improve the kernel capacity to queue all log events, even those which occurred -prior to the audit daemon, add the argument audit_backlog_limit=8192 to the default -GRUB 2 command line for the Linux operating system. -To ensure that audit_backlog_limit=8192 is added as a kernel command line -argument to newly installed kernels, add audit_backlog_limit=8192 to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... audit_backlog_limit=8192 ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit_backlog_limit=8192"
At a minimum, the audit system should collect any execution attempt +of the ssh-agent command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Inspect the form of default GRUB 2 command line for the Linux operating system -in /etc/default/grub. If it includes audit_backlog_limit=8192, -then the parameter will be configured for newly installed kernels. -First check if the GRUB recovery is enabled: -
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
-If this option is set to true, then check that a line is output by the following command: -
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*audit_backlog_limit=8192.*' /etc/default/grub
-If the recovery is disabled, check the line with -
$ sudo grep 'GRUB_CMDLINE_LINUX.*audit_backlog_limit=8192.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. -Run the following command: -
$ sudo grubby --info=ALL | grep args | grep -v 'audit_backlog_limit=8192'
-The command should not return any output. Is it the case that audit backlog limit is not configured?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-agent" command with the following command: + +$ sudo auditctl -l | grep ssh-agent + +-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.To improve the kernel capacity to queue all log events, even those which occurred -prior to the audit daemon, add the argument audit_backlog_limit=8192 to the default -GRUB 2 command line for the Linux operating system. -To ensure that audit_backlog_limit=8192 is added as a kernel command line -argument to newly installed kernels, add audit_backlog_limit=8192 to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... audit_backlog_limit=8192 ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit_backlog_limit=8192"
lowAt a minimum, the audit system should collect any execution attempt +of the ssh-agent command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadowCCE-80690-1: Record Events that Modify the System's Discretionary Access Controls - fchownat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: + To determine if the system is configured to audit calls to the +fchownat system call, run the following command: +
$ sudo grep "fchownat" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
medium
CCI-000172SRG-OS-000462-GPOS-00206TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80705-7: Ensure auditd Collects File Deletion Events by User - rmdirWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the +rmdir system call, run the following command: +
$ sudo grep "rmdir" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.If the auditd daemon is configured to use the + At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
-

+default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-89455-0: Ensure auditd Collects Information on the Use of Privileged Commands - kmodCCE-80687-7: Record Events that Modify the System's Discretionary Access Controls - fchmod Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "kmod" command with the following command: - -$ sudo auditctl -l | grep kmod - --a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-kmod Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +fchmod system call, run the following command: +
$ sudo grep "fchmod" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80751-1: Record Unsuccessful Access Attempts to Files - creatCCE-80943-4: Extend Audit Backlog Limit for the Audit Daemon Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
To improve the kernel capacity to queue all log events, even those which occurred +prior to the audit daemon, add the argument audit_backlog_limit=8192 to the default +GRUB 2 command line for the Linux operating system. +To ensure that audit_backlog_limit=8192 is added as a kernel command line +argument to newly installed kernels, add audit_backlog_limit=8192 to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... audit_backlog_limit=8192 ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit_backlog_limit=8192"
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the creat system call. - -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: - -$ sudo grep -r creat /etc/audit/rules.d - -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: - -$ sudo grep creat /etc/audit/audit.rules - -The output should be the following: - --a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?Inspect the form of default GRUB 2 command line for the Linux operating system +in /etc/default/grub. If it includes audit_backlog_limit=8192, +then the parameter will be configured for newly installed kernels. +First check if the GRUB recovery is enabled: +
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
+If this option is set to true, then check that a line is output by the following command: +
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*audit_backlog_limit=8192.*' /etc/default/grub
+If the recovery is disabled, check the line with +
$ sudo grep 'GRUB_CMDLINE_LINUX.*audit_backlog_limit=8192.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. +Run the following command: +
$ sudo grubby --info=ALL | grep args | grep -v 'audit_backlog_limit=8192'
+The command should not return any output. Is it the case that audit backlog limit is not configured?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
mediumTo improve the kernel capacity to queue all log events, even those which occurred +prior to the audit daemon, add the argument audit_backlog_limit=8192 to the default +GRUB 2 command line for the Linux operating system. +To ensure that audit_backlog_limit=8192 is added as a kernel command line +argument to newly installed kernels, add audit_backlog_limit=8192 to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... audit_backlog_limit=8192 ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit_backlog_limit=8192"
low TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80761-0: Record Events that Modify User/Group Information - /etc/passwdCCE-80713-1: Ensure auditd Collects Information on Kernel Module Loading - init_module Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: - -$ sudo auditctl -l | grep -E '(/etc/passwd)' - --w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
medium
To capture kernel module loading events, use following line, setting ARCH to +either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: -
CCI-000172SRG-OS-000462-GPOS-00206TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80762-8: Record Events that Modify User/Group Information - /etc/shadowWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. +Place to add the line depends on a way auditd daemon is configured. If it is configured +to use the augenrules program (the default), add the line to a file with suffix +.rules in the directory /etc/audit/rules.d. -Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd with the following command: - -$ sudo auditctl -l | grep -E '(/etc/shadow)' - --w /etc/shadow -p wa -k identity Is it the case that command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +init_module system call, run the following command: +
$ sudo grep "init_module" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
To capture kernel module loading events, use following line, setting ARCH to +either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: + +
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
+ + +Place to add the line depends on a way auditd daemon is configured. If it is configured +to use the augenrules program (the default), add the line to a file with suffix +.rules in the directory /etc/audit/rules.d. + +If the auditd daemon is configured to use the auditctl utility, +add the line to file /etc/audit/audit.rules.
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80989-7: Ensure auditd Collects Information on the Use of Privileged Commands - mountCCE-80737-0: Ensure auditd Collects Information on the Use of Privileged Commands - sudo Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -43495,29 +43439,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "mount" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "sudo" command with the following command: -$ sudo auditctl -l | grep mount +$ sudo auditctl -l | grep sudo --a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-mount Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80755-2: Record Unsuccessful Access Attempts to Files - open_by_handle_atCCE-80696-8: Record Events that Modify the System's Discretionary Access Controls - removexattrWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules +program to read audit rules during daemon startup (the default), add the +following line to a file with suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the +removexattr system call, run the following command: +
$ sudo grep "removexattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect file permission +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules +program to read audit rules during daemon startup (the default), add the +following line to a file with suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
medium
CCI-000172SRG-OS-000462-GPOS-00206TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80751-1: Record Unsuccessful Access Attempts to Files - creat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -43540,60 +43553,60 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the open_by_handle_at system call. + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the creat system call. If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: -$ sudo grep -r open_by_handle_at /etc/audit/rules.d +$ sudo grep -r creat /etc/audit/rules.d If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: -$ sudo grep open_by_handle_at /etc/audit/audit.rules +$ sudo grep creat /etc/audit/audit.rules The output should be the following: --a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur. At a minimum, the audit system should collect unauthorized file accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80735-4: Ensure auditd Collects Information on the Use of Privileged Commands - ssh-keysignCCE-80712-3: Ensure auditd Collects Information on Kernel Module Loading and Unloading - finit_module Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the augenrules program +to read audit rules during daemon startup (the default), add the following lines to a file +with suffix .rules in the directory /etc/audit/rules.d to capture kernel module +loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: + +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
+ If the auditd daemon is configured to use the auditctl utility to read audit +rules during daemon startup, add the following lines to /etc/audit/audit.rules file +in order to capture kernel module loading and unloading events, setting ARCH to either b32 or +b64 as appropriate for your system: + +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-keysign" command with the following command: + To determine if the system is configured to audit calls to the +finit_module system call, run the following command: +
$ sudo grep "finit_module" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.If the auditd daemon is configured to use the augenrules program +to read audit rules during daemon startup (the default), add the following lines to a file +with suffix .rules in the directory /etc/audit/rules.d to capture kernel module +loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: -$ sudo auditctl -l | grep ssh-keysign +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
+ If the auditd daemon is configured to use the auditctl utility to read audit +rules during daemon startup, add the following lines to /etc/audit/audit.rules file +in order to capture kernel module loading and unloading events, setting ARCH to either b32 or +b64 as appropriate for your system: --a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-keysign Is it the case that the command does not return a line, or the line is commented out?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80737-0: Ensure auditd Collects Information on the Use of Privileged Commands - sudoWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "sudo" command with the following command: - -$ sudo auditctl -l | grep sudo - --a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -k privileged-sudo Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000172SRG-OS-000462-GPOS-00206TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80725-5: Ensure auditd Collects Information on the Use of Privileged Commands - chageCCE-80735-4: Ensure auditd Collects Information on the Use of Privileged Commands - ssh-keysign Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -43751,29 +43723,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chage" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-keysign" command with the following command: -$ sudo auditctl -l | grep chage +$ sudo auditctl -l | grep ssh-keysign --a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chage Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80733-9: Ensure auditd Collects Information on the Use of Privileged Commands - postqueueCCE-80989-7: Ensure auditd Collects Information on the Use of Privileged Commands - mount Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -43796,29 +43768,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postqueue" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "mount" command with the following command: -$ sudo auditctl -l | grep postqueue +$ sudo auditctl -l | grep mount --a always,exit -F path=/usr/bin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postqueue Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80693-5: Record Events that Modify the System's Discretionary Access Controls - lchownCCE-80754-5: Record Unsuccessful Access Attempts to Files - openat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -lchown system call, run the following command: -
$ sudo grep "lchown" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured + At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium
CCI-000172SRG-OS-000462-GPOS-00206TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-86027-0: Ensure auditd Collects Information on the Use of Privileged Commands - usermodWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-Audit records can be generated from various components within the information system (e.g., module or policy filter).
At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "usermod" command with the following command: + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the openat system call. -$ sudo auditctl -l | grep usermod +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: --a always,exit -F path=/usr/bin/usermod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-usermod Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000172SRG-OS-000462-GPOS-00206TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80687-7: Record Events that Modify the System's Discretionary Access Controls - fchmodWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. +The output should be the following: -Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -fchmod system call, run the following command: -
$ sudo grep "fchmod" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
medium
CCI-000172SRG-OS-000462-GPOS-00206TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80739-6: Ensure auditd Collects Information on the Use of Privileged Commands - umountAt a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-
Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-Audit records can be generated from various components within the information system (e.g., module or policy filter).
At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "umount" command with the following command: - -$ sudo auditctl -l | grep umount +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-umount Is it the case that the command does not return a line, or the line is commented out?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80713-1: Ensure auditd Collects Information on Kernel Module Loading - init_moduleCCE-80727-1: Ensure auditd Collects Information on the Use of Privileged Commands - crontab Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).To capture kernel module loading events, use following line, setting ARCH to -either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: - -
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
- - -Place to add the line depends on a way auditd daemon is configured. If it is configured -to use the augenrules program (the default), add the line to a file with suffix -.rules in the directory /etc/audit/rules.d. - -If the auditd daemon is configured to use the auditctl utility, -add the line to file /etc/audit/audit.rules.
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -init_module system call, run the following command: -
$ sudo grep "init_module" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.To capture kernel module loading events, use following line, setting ARCH to -either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: - -
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
- +
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "crontab" command with the following command: -Place to add the line depends on a way auditd daemon is configured. If it is configured -to use the augenrules program (the default), add the line to a file with suffix -.rules in the directory /etc/audit/rules.d. +$ sudo auditctl -l | grep crontab -If the auditd daemon is configured to use the auditctl utility, -add the line to file /etc/audit/audit.rules.Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80726-3: Ensure auditd Collects Information on the Use of Privileged Commands - chshCCE-89455-0: Ensure auditd Collects Information on the Use of Privileged Commands - kmod Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -44131,29 +43985,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chsh" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "kmod" command with the following command: -$ sudo auditctl -l | grep chsh +$ sudo auditctl -l | grep kmod --a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chsh Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80698-4: Record Any Attempts to Run chconCCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadowWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: + +$ sudo auditctl -l | grep -E '(/etc/gshadow)' + +-w /etc/gshadow -p wa -k identity + +If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes?Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
medium
CCI-000172SRG-OS-000462-GPOS-00206TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-88437-9: Record Any Attempts to Run setfacl Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect any execution attempt -of the chcon command for all users and root. If the auditd +of the setfacl command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chcon" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfacl" command with the following command: -$ sudo auditctl -l | grep chcon +$ sudo auditctl -l | grep setfacl --a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur. At a minimum, the audit system should collect any execution attempt -of the chcon command for all users and root. If the auditd +of the setfacl command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80722-2: Ensure auditd Collects Information on Exporting to Media (successful)CCE-80693-5: Record Events that Modify the System's Discretionary Access Controls - lchown Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect media exportation -events for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -mount system call, run the following command: -
$ sudo grep "mount" /etc/audit/audit.*
+lchown system call, run the following command: +
$ sudo grep "lchown" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect media exportation -events for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80729-7: Ensure auditd Collects Information on the Use of Privileged Commands - newgrpCCE-86027-0: Ensure auditd Collects Information on the Use of Privileged Commands - usermod Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -44270,29 +44183,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "newgrp" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "usermod" command with the following command: -$ sudo auditctl -l | grep newgrp +$ sudo auditctl -l | grep usermod --a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -k privileged-newgrp Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80703-2: Ensure auditd Collects File Deletion Events by User - renameCCE-80706-5: Ensure auditd Collects File Deletion Events by User - unlink Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -44316,17 +44229,17 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -rename system call, run the following command: -
$ sudo grep "rename" /etc/audit/audit.*
+unlink system call, run the following command: +
$ sudo grep "unlink" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.medium
CCI-000172SRG-OS-000462-GPOS-00206TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80686-9: Record Events that Modify the System's Discretionary Access Controls - chownWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -chown system call, run the following command: -
$ sudo grep "chown" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80752-9: Record Unsuccessful Access Attempts to Files - ftruncateCCE-80755-2: Record Unsuccessful Access Attempts to Files - open_by_handle_at Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -44417,66 +44277,60 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the ftruncate system call. + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the open_by_handle_at system call. If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: -$ sudo grep -r ftruncate /etc/audit/rules.d +$ sudo grep -r open_by_handle_at /etc/audit/rules.d If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: -$ sudo grep ftruncate /etc/audit/audit.rules +$ sudo grep open_by_handle_at /etc/audit/audit.rules The output should be the following: --a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur. At a minimum, the audit system should collect unauthorized file accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80704-0: Ensure auditd Collects File Deletion Events by User - renameatCCE-80695-0: Record Events that Modify the System's Discretionary Access Controls - lsetxattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -renameat system call, run the following command: -
$ sudo grep "renameat" /etc/audit/audit.*
+lsetxattr system call, run the following command: +
$ sudo grep "lsetxattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-89480-8: Ensure auditd Collects Information on the Use of Privileged Commands - unix_updateCCE-80758-6: Record Events that Modify User/Group Information - /etc/groupWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/group" with the following command: + +$ sudo auditctl -l | grep -E '(/etc/group)' + +-w /etc/group -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
medium
CCI-000172SRG-OS-000462-GPOS-00206TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80732-1: Ensure auditd Collects Information on the Use of Privileged Commands - postdrop Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -44548,29 +44467,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_update" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postdrop" command with the following command: -$ sudo auditctl -l | grep unix_update +$ sudo auditctl -l | grep postdrop --a always,exit -F path=/usr/bin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_update Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80730-5: Ensure auditd Collects Information on the Use of Privileged Commands - pam_timestamp_checkCCE-90783-2: Configure immutable Audit login UIDs Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
Configure kernel to prevent modification of login UIDs once they are set. +Changing login UIDs while this configuration is enforced requires special capabilities which +are not available to unprivileged users. +If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d in order to make login UIDs +immutable: +
--loginuid-immutable
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.To determine if the system is configured to make login UIDs immutable, run +one of the following commands. +If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), run the following: +
sudo grep immutable /etc/audit/rules.d/*.rules
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, run the following command: +
sudo grep immutable /etc/audit/audit.rules
+The following line should be returned: +
--loginuid-immutable
Is it the case that the system is not configured to make login UIDs immutable?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.Configure kernel to prevent modification of login UIDs once they are set. +Changing login UIDs while this configuration is enforced requires special capabilities which +are not available to unprivileged users. +If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d in order to make login UIDs +immutable: +
--loginuid-immutable
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file in order to make login UIDs +immutable: +
--loginuid-immutable
medium
CCI-000172SRG-OS-000462-GPOS-00206TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80761-0: Record Events that Modify User/Group Information - /etc/passwdWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "pam_timestamp_check" command with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: -$ sudo auditctl -l | grep pam_timestamp_check +$ sudo auditctl -l | grep -E '(/etc/passwd)' --a always,exit -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid>=1000 -F auid!=unset -k privileged-pam_timestamp_check Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80740-4: Ensure auditd Collects Information on the Use of Privileged Commands - unix_chkpwdCCE-80729-7: Ensure auditd Collects Information on the Use of Privileged Commands - newgrp Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -44642,29 +44624,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_chkpwd" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "newgrp" command with the following command: -$ sudo auditctl -l | grep unix_chkpwd +$ sudo auditctl -l | grep newgrp --a always,exit -F path=/usr/bin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_chkpwd Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80695-0: Record Events that Modify the System's Discretionary Access Controls - lsetxattrCCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswd Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -lsetxattr system call, run the following command: -
$ sudo grep "lsetxattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: + +$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' + +-w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80688-5: Record Events that Modify the System's Discretionary Access Controls - fchmodatCCE-80722-2: Ensure auditd Collects Information on Exporting to Media (successful) Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to + At a minimum, the audit system should collect media exportation +events for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fchmodat system call, run the following command: -
$ sudo grep "fchmodat" /etc/audit/audit.*
+mount system call, run the following command: +
$ sudo grep "mount" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to + At a minimum, the audit system should collect media exportation +events for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-89446-9: Record Any Attempts to Run chaclCCE-82280-9: Record Any Attempts to Run setfiles Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect any execution attempt -of the chacl command for all users and root. If the auditd +of the setfiles command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chacl" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfiles" command with the following command: -$ sudo auditctl -l | grep chacl +$ sudo auditctl -l | grep setfiles --a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur. At a minimum, the audit system should collect any execution attempt -of the chacl command for all users and root. If the auditd +of the setfiles command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80719-8: Record Attempts to Alter Logon and Logout Events - lastlogCCE-80685-1: Record Events that Modify the System's Discretionary Access Controls - chmod Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).The audit system already collects login information for all users -and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d in order to watch for attempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file in order to watch for unattempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/lastlog" with the following command: - -$ sudo auditctl -l | grep /var/log/lastlog - --w /var/log/lastlog -p wa -k logins Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +chmod system call, run the following command: +
$ sudo grep "chmod" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.The audit system already collects login information for all users -and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d in order to watch for attempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file in order to watch for unattempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80705-7: Ensure auditd Collects File Deletion Events by User - rmdirCCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoers Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file deletion events + At a minimum, the audit system should collect administrator actions for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
+augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -rmdir system call, run the following command: -
$ sudo grep "rmdir" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + +$ sudo auditctl -l | grep /etc/sudoers + +-w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect file deletion events + At a minimum, the audit system should collect administrator actions for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
+augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80707-3: Ensure auditd Collects File Deletion Events by User - unlinkatCCE-80698-4: Record Any Attempts to Run chcon Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect any execution attempt +of the chcon command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -unlinkat system call, run the following command: -
$ sudo grep "unlinkat" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chcon" command with the following command: + +$ sudo auditctl -l | grep chcon + +-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect any execution attempt +of the chcon command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80712-3: Ensure auditd Collects Information on Kernel Module Loading and Unloading - finit_moduleCCE-80725-5: Ensure auditd Collects Information on the Use of Privileged Commands - chage Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the augenrules program -to read audit rules during daemon startup (the default), add the following lines to a file -with suffix .rules in the directory /etc/audit/rules.d to capture kernel module -loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: + At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chage" command with the following command: -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
- If the auditd daemon is configured to use the auditctl utility to read audit -rules during daemon startup, add the following lines to /etc/audit/audit.rules file -in order to capture kernel module loading and unloading events, setting ARCH to either b32 or -b64 as appropriate for your system: +$ sudo auditctl -l | grep chage -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000172SRG-OS-000462-GPOS-00206TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80762-8: Record Events that Modify User/Group Information - /etc/shadowWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -finit_module system call, run the following command: -
$ sudo grep "finit_module" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd with the following command: + +$ sudo auditctl -l | grep -E '(/etc/shadow)' + +-w /etc/shadow -p wa -k identity Is it the case that command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.If the auditd daemon is configured to use the augenrules program -to read audit rules during daemon startup (the default), add the following lines to a file -with suffix .rules in the directory /etc/audit/rules.d to capture kernel module -loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: + If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
medium
CCI-000172SRG-OS-000462-GPOS-00206TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80726-3: Ensure auditd Collects Information on the Use of Privileged Commands - chshWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chsh" command with the following command: + +$ sudo auditctl -l | grep chsh + +-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chsh Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80706-5: Ensure auditd Collects File Deletion Events by User - unlinkCCE-80703-2: Ensure auditd Collects File Deletion Events by User - rename Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -45093,17 +45153,17 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -unlink system call, run the following command: -
$ sudo grep "unlink" /etc/audit/audit.*
+rename system call, run the following command: +
$ sudo grep "rename" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur. medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-80756-0: Record Unsuccessful Access Attempts to Files - truncateCCE-80689-3: Record Events that Modify the System's Discretionary Access Controls - fchown Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the truncate system call. - -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: - -$ sudo grep -r truncate /etc/audit/rules.d - -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: - -$ sudo grep truncate /etc/audit/audit.rules - -The output should be the following: - --a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +fchown system call, run the following command: +
$ sudo grep "fchown" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.CCE-85944-7: Record Any Attempts to Run ssh-agentCCE-80688-5: Record Events that Modify the System's Discretionary Access Controls - fchmodat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect any execution attempt -of the ssh-agent command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-agent" command with the following command: - -$ sudo auditctl -l | grep ssh-agent - --a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +fchmodat system call, run the following command: +
$ sudo grep "fchmodat" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect any execution attempt -of the ssh-agent command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
medium
CCI-000172SRG-OS-000462-GPOS-00206SRG-OS-000463-GPOS-00207 TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to modify privileges occur.The operating system must generate audit records when successful/unsuccessful attempts to modify security objects occur.CCE-80741-2: Ensure auditd Collects Information on the Use of Privileged Commands - userhelperCCE-80691-9: Record Events that Modify the System's Discretionary Access Controls - fremovexattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. +

+If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to modify privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "userhelper" command with the following command: - -$ sudo auditctl -l | grep userhelper - --a always,exit -F path=/usr/bin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -k privileged-userhelper Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records when successful/unsuccessful attempts to modify privileges occur.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
Verify the operating system generates audit records when successful/unsuccessful attempts to modify security objects occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the +fremovexattr system call, run the following command: +
$ sudo grep "fremovexattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify security objects occur.At a minimum, the audit system should collect file permission +changes for all users and root. +

+If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000172 SRG-OS-000463-GPOS-00207 TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify security objects occur.CCE-82280-9: Record Any Attempts to Run setfilesCCE-80701-6: Record Any Attempts to Run setsebool Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect any execution attempt -of the setfiles command for all users and root. If the auditd +of the setsebool command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify security objects occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfiles" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setsebool" command with the following command: -$ sudo auditctl -l | grep setfiles +$ sudo auditctl -l | grep setsebool --a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify security objects occur. At a minimum, the audit system should collect any execution attempt -of the setfiles command for all users and root. If the auditd +of the setsebool command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify security objects occur.CCE-80692-7: Record Events that Modify the System's Discretionary Access Controls - fsetxattrCCE-80694-3: Record Events that Modify the System's Discretionary Access Controls - lremovexattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify security objects occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fsetxattr system call, run the following command: -
$ sudo grep "fsetxattr" /etc/audit/audit.*
+lremovexattr system call, run the following command: +
$ sudo grep "lremovexattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify security objects occur. At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify security objects occur.CCE-80694-3: Record Events that Modify the System's Discretionary Access Controls - lremovexattrCCE-80692-7: Record Events that Modify the System's Discretionary Access Controls - fsetxattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured +changes for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify security objects occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -lremovexattr system call, run the following command: -
$ sudo grep "lremovexattr" /etc/audit/audit.*
+fsetxattr system call, run the following command: +
$ sudo grep "fsetxattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify security objects occur. At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured +changes for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify security objects occur.CCE-80701-6: Record Any Attempts to Run setseboolWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect any execution attempt -of the setsebool command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to modify security objects occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setsebool" command with the following command: - -$ sudo auditctl -l | grep setsebool - --a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -k privileged Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records when successful/unsuccessful attempts to modify security objects occur.At a minimum, the audit system should collect any execution attempt -of the setsebool command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000172SRG-OS-000463-GPOS-00207TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to modify security objects occur.CCE-80691-9: Record Events that Modify the System's Discretionary Access Controls - fremovexattrCCE-80695-0: Record Events that Modify the System's Discretionary Access Controls - lsetxattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured +changes for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify security objects occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fremovexattr system call, run the following command: -
$ sudo grep "fremovexattr" /etc/audit/audit.*
+lsetxattr system call, run the following command: +
$ sudo grep "lsetxattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to modify security objects occur. At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured +changes for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify security objects occur.CCE-80698-4: Record Any Attempts to Run chconCCE-82280-9: Record Any Attempts to Run setfiles Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect any execution attempt -of the chcon command for all users and root. If the auditd +of the setfiles command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify security objects occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chcon" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfiles" command with the following command: -$ sudo auditctl -l | grep chcon +$ sudo auditctl -l | grep setfiles --a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify security objects occur. At a minimum, the audit system should collect any execution attempt -of the chcon command for all users and root. If the auditd +of the setfiles command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify security objects occur.CCE-80695-0: Record Events that Modify the System's Discretionary Access Controls - lsetxattrCCE-80698-4: Record Any Attempts to Run chcon Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix + At a minimum, the audit system should collect any execution attempt +of the chcon command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify security objects occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -lsetxattr system call, run the following command: -
$ sudo grep "lsetxattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chcon" command with the following command: + +$ sudo auditctl -l | grep chcon + +-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify security objects occur.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix + At a minimum, the audit system should collect any execution attempt +of the chcon command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify categories of information (e.g., classification levels) occur.CCE-82280-9: Record Any Attempts to Run setfilesCCE-80701-6: Record Any Attempts to Run setsebool Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect any execution attempt -of the setfiles command for all users and root. If the auditd +of the setsebool command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify categories of information (e.g., classification levels) occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfiles" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setsebool" command with the following command: -$ sudo auditctl -l | grep setfiles +$ sudo auditctl -l | grep setsebool --a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify categories of information (e.g., classification levels) occur. At a minimum, the audit system should collect any execution attempt -of the setfiles command for all users and root. If the auditd +of the setsebool command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to modify categories of information (e.g., classification levels) occur.CCE-80701-6: Record Any Attempts to Run setseboolCCE-82280-9: Record Any Attempts to Run setfiles Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect any execution attempt -of the setsebool command for all users and root. If the auditd +of the setfiles command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to modify categories of information (e.g., classification levels) occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setsebool" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfiles" command with the following command: -$ sudo auditctl -l | grep setsebool +$ sudo auditctl -l | grep setfiles --a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -k privileged Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to modify categories of information (e.g., classification levels) occur. At a minimum, the audit system should collect any execution attempt -of the setsebool command for all users and root. If the auditd +of the setfiles command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80685-1: Record Events that Modify the System's Discretionary Access Controls - chmodCCE-80704-0: Ensure auditd Collects File Deletion Events by User - renameat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -chmod system call, run the following command: -
$ sudo grep "chmod" /etc/audit/audit.*
+renameat system call, run the following command: +
$ sudo grep "renameat" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80697-6: Record Events that Modify the System's Discretionary Access Controls - setxattrCCE-89446-9: Record Any Attempts to Run chacl Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix + At a minimum, the audit system should collect any execution attempt +of the chacl command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -setxattr system call, run the following command: -
$ sudo grep "setxattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chacl" command with the following command: + +$ sudo auditctl -l | grep chacl + +-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix + At a minimum, the audit system should collect any execution attempt +of the chacl command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoersCCE-80707-3: Ensure auditd Collects File Deletion Events by User - unlinkat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect administrator actions + At a minimum, the audit system should collect file deletion events for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: - -$ sudo auditctl -l | grep /etc/sudoers - --w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +unlinkat system call, run the following command: +
$ sudo grep "unlinkat" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur.At a minimum, the audit system should collect administrator actions + At a minimum, the audit system should collect file deletion events for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80690-1: Record Events that Modify the System's Discretionary Access Controls - fchownatCCE-80691-9: Record Events that Modify the System's Discretionary Access Controls - fremovexattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fchownat system call, run the following command: -
$ sudo grep "fchownat" /etc/audit/audit.*
+fremovexattr system call, run the following command: +
$ sudo grep "fremovexattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur. At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80692-7: Record Events that Modify the System's Discretionary Access Controls - fsetxattrCCE-80697-6: Record Events that Modify the System's Discretionary Access Controls - setxattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -46233,24 +46235,24 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fsetxattr system call, run the following command: -
$ sudo grep "fsetxattr" /etc/audit/audit.*
+setxattr system call, run the following command: +
$ sudo grep "setxattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur.medium
CCI-000172SRG-OS-000466-GPOS-00210TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80686-9: Record Events that Modify the System's Discretionary Access Controls - chownWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the +chown system call, run the following command: +
$ sudo grep "chown" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur.At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80689-3: Record Events that Modify the System's Discretionary Access Controls - fchownCCE-80692-7: Record Events that Modify the System's Discretionary Access Controls - fsetxattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -46365,23 +46420,24 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fchown system call, run the following command: -
$ sudo grep "fchown" /etc/audit/audit.*
+fsetxattr system call, run the following command: +
$ sudo grep "fsetxattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur. medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80696-8: Record Events that Modify the System's Discretionary Access Controls - removexattrCCE-80690-1: Record Events that Modify the System's Discretionary Access Controls - fchownat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured to use the augenrules -program to read audit rules during daemon startup (the default), add the -following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -removexattr system call, run the following command: -
$ sudo grep "removexattr" /etc/audit/audit.*
+fchownat system call, run the following command: +
$ sudo grep "fchownat" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur. At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured to use the augenrules -program to read audit rules during daemon startup (the default), add the -following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
medium
CCI-000172SRG-OS-000466-GPOS-00210TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswdWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: - -$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' - --w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80758-6: Record Events that Modify User/Group Information - /etc/groupCCE-80705-7: Ensure auditd Collects File Deletion Events by User - rmdir Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the + At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
-

+default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/group" with the following command: - -$ sudo auditctl -l | grep -E '(/etc/group)' - --w /etc/group -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +rmdir system call, run the following command: +
$ sudo grep "rmdir" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur.If the auditd daemon is configured to use the + At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80691-9: Record Events that Modify the System's Discretionary Access Controls - fremovexattrCCE-80687-7: Record Events that Modify the System's Discretionary Access Controls - fchmod Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
-

+changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fremovexattr system call, run the following command: -
$ sudo grep "fremovexattr" /etc/audit/audit.*
+fchmod system call, run the following command: +
$ sudo grep "fchmod" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur. At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
-

+changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadowCCE-80736-2: Ensure auditd Collects Information on the Use of Privileged Commands - su Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: - -$ sudo auditctl -l | grep -E '(/etc/gshadow)' + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "su" command with the following command: --w /etc/gshadow -p wa -k identity +$ sudo auditctl -l | grep su -If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80736-2: Ensure auditd Collects Information on the Use of Privileged Commands - suCCE-80737-0: Ensure auditd Collects Information on the Use of Privileged Commands - sudo Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -46725,29 +46681,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "su" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "sudo" command with the following command: -$ sudo auditctl -l | grep su +$ sudo auditctl -l | grep sudo --a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -k privileged-su Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80761-0: Record Events that Modify User/Group Information - /etc/passwdCCE-80696-8: Record Events that Modify the System's Discretionary Access Controls - removexattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: + At a minimum, the audit system should collect file permission +changes for all users and root.

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+If the auditd daemon is configured to use the augenrules +program to read audit rules during daemon startup (the default), add the +following line to a file with suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod


If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod


-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: - -$ sudo auditctl -l | grep -E '(/etc/passwd)' - --w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +removexattr system call, run the following command: +
$ sudo grep "removexattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: + At a minimum, the audit system should collect file permission +changes for all users and root.

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+If the auditd daemon is configured to use the augenrules +program to read audit rules during daemon startup (the default), add the +following line to a file with suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod


If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod


-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80762-8: Record Events that Modify User/Group Information - /etc/shadowCCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/ Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: -$ sudo auditctl -l | grep -E '(/etc/shadow)' +$ sudo auditctl -l | grep/etc/sudoers.d --w /etc/shadow -p wa -k identity Is it the case that command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80737-0: Ensure auditd Collects Information on the Use of Privileged Commands - sudoCCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadow Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "sudo" command with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: -$ sudo auditctl -l | grep sudo +$ sudo auditctl -l | grep -E '(/etc/gshadow)' --a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -k privileged-sudo Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80687-7: Record Events that Modify the System's Discretionary Access Controls - fchmodCCE-80706-5: Ensure auditd Collects File Deletion Events by User - unlink Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fchmod system call, run the following command: -
$ sudo grep "fchmod" /etc/audit/audit.*
+unlink system call, run the following command: +
$ sudo grep "unlink" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/CCE-80695-0: Record Events that Modify the System's Discretionary Access Controls - lsetxattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: - -$ sudo auditctl -l | grep/etc/sudoers.d - --w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +lsetxattr system call, run the following command: +
$ sudo grep "lsetxattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80703-2: Ensure auditd Collects File Deletion Events by User - renameCCE-80758-6: Record Events that Modify User/Group Information - /etc/group Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the + If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -rename system call, run the following command: -
$ sudo grep "rename" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/group" with the following command: + +$ sudo auditctl -l | grep -E '(/etc/group)' + +-w /etc/group -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the + If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80686-9: Record Events that Modify the System's Discretionary Access Controls - chownCCE-80761-0: Record Events that Modify User/Group Information - /etc/passwd Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -chown system call, run the following command: -
$ sudo grep "chown" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: + +$ sudo auditctl -l | grep -E '(/etc/passwd)' + +-w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur.If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80704-0: Ensure auditd Collects File Deletion Events by User - renameatCCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswd Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the + If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -renameat system call, run the following command: -
$ sudo grep "renameat" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: + +$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' + +-w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the + If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80695-0: Record Events that Modify the System's Discretionary Access Controls - lsetxattrCCE-80685-1: Record Events that Modify the System's Discretionary Access Controls - chmod Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -lsetxattr system call, run the following command: -
$ sudo grep "lsetxattr" /etc/audit/audit.*
+chmod system call, run the following command: +
$ sudo grep "chmod" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur. At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80688-5: Record Events that Modify the System's Discretionary Access Controls - fchmodatCCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoers Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -fchmodat system call, run the following command: -
$ sudo grep "fchmodat" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + +$ sudo auditctl -l | grep /etc/sudoers + +-w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-89446-9: Record Any Attempts to Run chaclCCE-80762-8: Record Events that Modify User/Group Information - /etc/shadow Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect any execution attempt -of the chacl command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chacl" command with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd with the following command: -$ sudo auditctl -l | grep chacl +$ sudo auditctl -l | grep -E '(/etc/shadow)' --a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur.At a minimum, the audit system should collect any execution attempt -of the chacl command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80705-7: Ensure auditd Collects File Deletion Events by User - rmdirCCE-80703-2: Ensure auditd Collects File Deletion Events by User - rename Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -47428,17 +47414,17 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -rmdir system call, run the following command: -
$ sudo grep "rmdir" /etc/audit/audit.*
+rename system call, run the following command: +
$ sudo grep "rename" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur. medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80707-3: Ensure auditd Collects File Deletion Events by User - unlinkatCCE-80689-3: Record Events that Modify the System's Discretionary Access Controls - fchown Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -unlinkat system call, run the following command: -
$ sudo grep "unlinkat" /etc/audit/audit.*
+fchown system call, run the following command: +
$ sudo grep "fchown" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete privileges occur.CCE-80706-5: Ensure auditd Collects File Deletion Events by User - unlinkCCE-80688-5: Record Events that Modify the System's Discretionary Access Controls - fchmodat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete privileges occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -unlink system call, run the following command: -
$ sudo grep "unlink" /etc/audit/audit.*
+fchmodat system call, run the following command: +
$ sudo grep "fchmodat" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete privileges occur.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete security levels occur.CCE-80703-2: Ensure auditd Collects File Deletion Events by User - renameCCE-80704-0: Ensure auditd Collects File Deletion Events by User - renameat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -47580,17 +47580,17 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete security levels occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -rename system call, run the following command: -
$ sudo grep "rename" /etc/audit/audit.*
+renameat system call, run the following command: +
$ sudo grep "renameat" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete security levels occur. medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete security levels occur.CCE-80704-0: Ensure auditd Collects File Deletion Events by User - renameatCCE-80707-3: Ensure auditd Collects File Deletion Events by User - unlinkat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -47629,17 +47629,17 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete security levels occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -renameat system call, run the following command: -
$ sudo grep "renameat" /etc/audit/audit.*
+unlinkat system call, run the following command: +
$ sudo grep "unlinkat" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete security levels occur. medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete security levels occur.CCE-80707-3: Ensure auditd Collects File Deletion Events by User - unlinkatCCE-80706-5: Ensure auditd Collects File Deletion Events by User - unlink Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -47727,17 +47727,17 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete security levels occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -unlinkat system call, run the following command: -
$ sudo grep "unlinkat" /etc/audit/audit.*
+unlink system call, run the following command: +
$ sudo grep "unlink" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete security levels occur. medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete security levels occur.CCE-80706-5: Ensure auditd Collects File Deletion Events by User - unlinkCCE-80703-2: Ensure auditd Collects File Deletion Events by User - rename Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -47776,17 +47776,17 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete security levels occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -unlink system call, run the following command: -
$ sudo grep "unlink" /etc/audit/audit.*
+rename system call, run the following command: +
$ sudo grep "rename" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete security levels occur. medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete security objects occur.CCE-80692-7: Record Events that Modify the System's Discretionary Access Controls - fsetxattrWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to delete security objects occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -fsetxattr system call, run the following command: -
$ sudo grep "fsetxattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete security objects occur.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
medium
CCI-000172SRG-OS-000468-GPOS-00212TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to delete security objects occur.CCE-80694-3: Record Events that Modify the System's Discretionary Access Controls - lremovexattrCCE-80704-0: Ensure auditd Collects File Deletion Events by User - renameat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
-

+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to delete security objects occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -lremovexattr system call, run the following command: -
$ sudo grep "lremovexattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete security objects occur.At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
-

+utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to delete security objects occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the +renameat system call, run the following command: +
$ sudo grep "renameat" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete security objects occur.At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete security objects occur.CCE-80696-8: Record Events that Modify the System's Discretionary Access Controls - removexattrCCE-80707-3: Ensure auditd Collects File Deletion Events by User - unlinkat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured to use the augenrules -program to read audit rules during daemon startup (the default), add the -following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
-

+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete security objects occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -removexattr system call, run the following command: -
$ sudo grep "removexattr" /etc/audit/audit.*
+unlinkat system call, run the following command: +
$ sudo grep "unlinkat" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete security objects occur.At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured to use the augenrules -program to read audit rules during daemon startup (the default), add the -following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
-

+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete security objects occur.CCE-80725-5: Ensure auditd Collects Information on the Use of Privileged Commands - chageCCE-80694-3: Record Events that Modify the System's Discretionary Access Controls - lremovexattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. +

+If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete security objects occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chage" command with the following command: - -$ sudo auditctl -l | grep chage - --a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chage Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +lremovexattr system call, run the following command: +
$ sudo grep "lremovexattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete security objects occur.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. +

+If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete security objects occur.CCE-80698-4: Record Any Attempts to Run chconCCE-80692-7: Record Events that Modify the System's Discretionary Access Controls - fsetxattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect any execution attempt -of the chcon command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete security objects occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chcon" command with the following command: - -$ sudo auditctl -l | grep chcon - --a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +fsetxattr system call, run the following command: +
$ sudo grep "fsetxattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete security objects occur.At a minimum, the audit system should collect any execution attempt -of the chcon command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete security objects occur.CCE-80703-2: Ensure auditd Collects File Deletion Events by User - renameCCE-80705-7: Ensure auditd Collects File Deletion Events by User - rmdir Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -48192,17 +48131,17 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete security objects occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -rename system call, run the following command: -
$ sudo grep "rename" /etc/audit/audit.*
+rmdir system call, run the following command: +
$ sudo grep "rmdir" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete security objects occur. medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete security objects occur.CCE-80704-0: Ensure auditd Collects File Deletion Events by User - renameatCCE-80696-8: Record Events that Modify the System's Discretionary Access Controls - removexattrWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules +program to read audit rules during daemon startup (the default), add the +following line to a file with suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to delete security objects occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the +removexattr system call, run the following command: +
$ sudo grep "removexattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete security objects occur.At a minimum, the audit system should collect file permission +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules +program to read audit rules during daemon startup (the default), add the +following line to a file with suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
medium
CCI-000172SRG-OS-000468-GPOS-00212TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to delete security objects occur.CCE-80706-5: Ensure auditd Collects File Deletion Events by User - unlink Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -48241,17 +48249,17 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete security objects occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -renameat system call, run the following command: -
$ sudo grep "renameat" /etc/audit/audit.*
+unlink system call, run the following command: +
$ sudo grep "unlink" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete security objects occur. medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete security objects occur.CCE-80705-7: Ensure auditd Collects File Deletion Events by User - rmdirCCE-80698-4: Record Any Attempts to Run chcon Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect any execution attempt +of the chcon command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete security objects occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -rmdir system call, run the following command: -
$ sudo grep "rmdir" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chcon" command with the following command: + +$ sudo auditctl -l | grep chcon + +-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful attempts to delete security objects occur.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect any execution attempt +of the chcon command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful attempts to delete security objects occur.CCE-80707-3: Ensure auditd Collects File Deletion Events by User - unlinkatCCE-80725-5: Ensure auditd Collects Information on the Use of Privileged Commands - chageWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to delete security objects occur. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chage" command with the following command: + +$ sudo auditctl -l | grep chage + +-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chage Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records when successful/unsuccessful attempts to delete security objects occur.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000172SRG-OS-000468-GPOS-00212TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to delete security objects occur.CCE-80703-2: Ensure auditd Collects File Deletion Events by User - rename Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -48400,17 +48449,17 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful attempts to delete security objects occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -unlinkat system call, run the following command: -
$ sudo grep "unlinkat" /etc/audit/audit.*
+rename system call, run the following command: +
$ sudo grep "rename" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete security objects occur. medium
CCI-000172SRG-OS-000468-GPOS-00212SRG-OS-000470-GPOS-00214 TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful attempts to delete security objects occur.The operating system must generate audit records when successful/unsuccessful logon attempts occur.CCE-80706-5: Ensure auditd Collects File Deletion Events by User - unlinkCCE-80718-0: Record Attempts to Alter Logon and Logout Events - faillock Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the + The audit system already collects login information for all users +and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
+default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d in order to watch for attempted manual +edits of files involved in storing logon events: +
-w  -p wa -k logins
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful logon attempts occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: + +$ sudo auditctl -l | grep + +-w -p wa -k logins Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records when successful/unsuccessful logon attempts occur.The audit system already collects login information for all users +and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d in order to watch for attempted manual +edits of files involved in storing logon events: +
-w  -p wa -k logins
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file in order to watch for unattempted manual +edits of files involved in storing logon events: +
-w  -p wa -k logins
medium
CCI-000172SRG-OS-000470-GPOS-00214TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful logon attempts occur.CCE-80719-8: Record Attempts to Alter Logon and Logout Events - lastlogWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).The audit system already collects login information for all users +and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d in order to watch for attempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file in order to watch for unattempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful attempts to delete security objects occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -unlink system call, run the following command: -
$ sudo grep "unlink" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful attempts to delete security objects occur.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the + Verify the operating system generates audit records when successful/unsuccessful logon attempts occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/lastlog" with the following command: + +$ sudo auditctl -l | grep /var/log/lastlog + +-w /var/log/lastlog -p wa -k logins Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records when successful/unsuccessful logon attempts occur.The audit system already collects login information for all users +and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
+default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d in order to watch for attempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
medium
CCI-000172 SRG-OS-000470-GPOS-00214 TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful logon attempts occur.CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoersCCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/ Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -48502,29 +48600,29 @@ augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful logon attempts occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: -$ sudo auditctl -l | grep /etc/sudoers +$ sudo auditctl -l | grep/etc/sudoers.d --w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful logon attempts occur. At a minimum, the audit system should collect administrator actions for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful logon attempts occur.CCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswdCCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadow Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -48548,21 +48646,23 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful logon attempts occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: -$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' +$ sudo auditctl -l | grep -E '(/etc/gshadow)' --w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful logon attempts occur. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the @@ -48570,14 +48670,14 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
medium
CCI-000172SRG-OS-000470-GPOS-00214TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful logon attempts occur.CCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadowWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful logon attempts occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: - -$ sudo auditctl -l | grep -E '(/etc/gshadow)' - --w /etc/gshadow -p wa -k identity - -If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes?Configure the operating system to generate audit records when successful/unsuccessful logon attempts occur.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
medium
CCI-000172 SRG-OS-000470-GPOS-00214TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful logon attempts occur.CCE-80762-8: Record Events that Modify User/Group Information - /etc/shadowCCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswd Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -48762,21 +48807,21 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful logon attempts occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: -$ sudo auditctl -l | grep -E '(/etc/shadow)' +$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' --w /etc/shadow -p wa -k identity Is it the case that command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful logon attempts occur. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the @@ -48784,14 +48829,14 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful logon attempts occur.CCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoers Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -48814,29 +48859,29 @@ augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
+
-w /etc/sudoers -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful logon attempts occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: -$ sudo auditctl -l | grep/etc/sudoers.d +$ sudo auditctl -l | grep /etc/sudoers --w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful logon attempts occur. At a minimum, the audit system should collect administrator actions for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
+
-w /etc/sudoers -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful logon attempts occur.CCE-80718-0: Record Attempts to Alter Logon and Logout Events - faillockCCE-80762-8: Record Events that Modify User/Group Information - /etc/shadow Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).The audit system already collects login information for all users -and root. If the auditd daemon is configured to use the + If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d in order to watch for attempted manual -edits of files involved in storing logon events: -
-w  -p wa -k logins
+directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file in order to watch for unattempted manual -edits of files involved in storing logon events: -
-w  -p wa -k logins
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful logon attempts occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd with the following command: -$ sudo auditctl -l | grep +$ sudo auditctl -l | grep -E '(/etc/shadow)' --w -p wa -k logins Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records when successful/unsuccessful logon attempts occur.The audit system already collects login information for all users -and root. If the auditd daemon is configured to use the + If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d in order to watch for attempted manual -edits of files involved in storing logon events: -
-w  -p wa -k logins
+directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file in order to watch for unattempted manual -edits of files involved in storing logon events: -
-w  -p wa -k logins
medium
CCI-000172SRG-OS-000470-GPOS-00214SRG-OS-000471-GPOS-00215 TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful logon attempts occur.The operating system must generate audit records for privileged activities or other system-level access.CCE-80719-8: Record Attempts to Alter Logon and Logout Events - lastlogCCE-80704-0: Ensure auditd Collects File Deletion Events by User - renameat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).The audit system already collects login information for all users -and root. If the auditd daemon is configured to use the + At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d in order to watch for attempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
+default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file in order to watch for unattempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful logon attempts occur. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/lastlog" with the following command: - -$ sudo auditctl -l | grep /var/log/lastlog - --w /var/log/lastlog -p wa -k logins Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records when successful/unsuccessful logon attempts occur.The audit system already collects login information for all users -and root. If the auditd daemon is configured to use the + Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.To determine if the system is configured to audit calls to the +renameat system call, run the following command: +
$ sudo grep "renameat" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d in order to watch for attempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
+default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file in order to watch for unattempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
medium
CCI-000172 SRG-OS-000471-GPOS-00215 TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80754-5: Record Unsuccessful Access Attempts to Files - openatCCE-89446-9: Record Any Attempts to Run chacl Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect any execution attempt +of the chacl command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the openat system call. - -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: - -$ sudo grep -r openat /etc/audit/rules.d - -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: - -$ sudo grep openat /etc/audit/audit.rules + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chacl" command with the following command: -The output should be the following: +$ sudo auditctl -l | grep chacl --a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect any execution attempt +of the chacl command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- -If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80711-5: Ensure auditd Collects Information on Kernel Module Unloading - delete_moduleCCE-80741-2: Ensure auditd Collects Information on the Use of Privileged Commands - userhelper Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).To capture kernel module unloading events, use following line, setting ARCH to -either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: - -
-a always,exit -F arch=ARCH -S delete_module -F auid>=1000 -F auid!=unset -F key=modules
- - -Place to add the line depends on a way auditd daemon is configured. If it is configured -to use the augenrules program (the default), add the line to a file with suffix -.rules in the directory /etc/audit/rules.d. - -If the auditd daemon is configured to use the auditctl utility, -add the line to file /etc/audit/audit.rules.
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.To determine if the system is configured to audit calls to the -delete_module system call, run the following command: -
$ sudo grep "delete_module" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.To capture kernel module unloading events, use following line, setting ARCH to -either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: - -
-a always,exit -F arch=ARCH -S delete_module -F auid>=1000 -F auid!=unset -F key=modules
- +
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "userhelper" command with the following command: -Place to add the line depends on a way auditd daemon is configured. If it is configured -to use the augenrules program (the default), add the line to a file with suffix -.rules in the directory /etc/audit/rules.d. +$ sudo auditctl -l | grep userhelper -If the auditd daemon is configured to use the auditctl utility, -add the line to file /etc/audit/audit.rules.Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80685-1: Record Events that Modify the System's Discretionary Access Controls - chmodCCE-80733-9: Ensure auditd Collects Information on the Use of Privileged Commands - postqueue Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.To determine if the system is configured to audit calls to the -chmod system call, run the following command: -
$ sudo grep "chmod" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postqueue" command with the following command: + +$ sudo auditctl -l | grep postqueue + +-a always,exit -F path=/usr/bin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postqueue Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80697-6: Record Events that Modify the System's Discretionary Access Controls - setxattrCCE-80728-9: Ensure auditd Collects Information on the Use of Privileged Commands - gpasswd Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.To determine if the system is configured to audit calls to the -setxattr system call, run the following command: -
$ sudo grep "setxattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "gpasswd" command with the following command: + +$ sudo auditctl -l | grep gpasswd + +-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-gpasswd Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoersCCE-80711-5: Ensure auditd Collects Information on Kernel Module Unloading - delete_module Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
To capture kernel module unloading events, use following line, setting ARCH to +either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: + +
-a always,exit -F arch=ARCH -S delete_module -F auid>=1000 -F auid!=unset -F key=modules
+ + +Place to add the line depends on a way auditd daemon is configured. If it is configured +to use the augenrules program (the default), add the line to a file with suffix +.rules in the directory /etc/audit/rules.d. + +If the auditd daemon is configured to use the auditctl utility, +add the line to file /etc/audit/audit.rules.
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + To determine if the system is configured to audit calls to the +delete_module system call, run the following command: +
$ sudo grep "delete_module" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.To capture kernel module unloading events, use following line, setting ARCH to +either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: -$ sudo auditctl -l | grep /etc/sudoers +
-a always,exit -F arch=ARCH -S delete_module -F auid>=1000 -F auid!=unset -F key=modules
--w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?
Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80690-1: Record Events that Modify the System's Discretionary Access Controls - fchownatCCE-89480-8: Ensure auditd Collects Information on the Use of Privileged Commands - unix_update Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.To determine if the system is configured to audit calls to the -fchownat system call, run the following command: -
$ sudo grep "fchownat" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_update" command with the following command: + +$ sudo auditctl -l | grep unix_update + +-a always,exit -F path=/usr/bin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_update Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-82280-9: Record Any Attempts to Run setfilesCCE-80707-3: Ensure auditd Collects File Deletion Events by User - unlinkat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect any execution attempt -of the setfiles command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfiles" command with the following command: - -$ sudo auditctl -l | grep setfiles - --a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +unlinkat system call, run the following command: +
$ sudo grep "unlinkat" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect any execution attempt -of the setfiles command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80700-8: Record Any Attempts to Run semanageCCE-80740-4: Ensure auditd Collects Information on the Use of Privileged Commands - unix_chkpwd Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect any execution attempt -of the semanage command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "semanage" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_chkpwd" command with the following command: -$ sudo auditctl -l | grep semanage +$ sudo auditctl -l | grep unix_chkpwd --a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect any execution attempt -of the semanage command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80692-7: Record Events that Modify the System's Discretionary Access Controls - fsetxattrCCE-80691-9: Record Events that Modify the System's Discretionary Access Controls - fremovexattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fsetxattr system call, run the following command: -
$ sudo grep "fsetxattr" /etc/audit/audit.*
+fremovexattr system call, run the following command: +
$ sudo grep "fremovexattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access. At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-88437-9: Record Any Attempts to Run setfaclCCE-80697-6: Record Events that Modify the System's Discretionary Access Controls - setxattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect any execution attempt -of the setfacl command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfacl" command with the following command: - -$ sudo auditctl -l | grep setfacl - --a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +setxattr system call, run the following command: +
$ sudo grep "setxattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect any execution attempt -of the setfacl command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S setxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S setxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80732-1: Ensure auditd Collects Information on the Use of Privileged Commands - postdropCCE-80739-6: Ensure auditd Collects Information on the Use of Privileged Commands - umount Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -49501,29 +49511,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postdrop" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "umount" command with the following command: -$ sudo auditctl -l | grep postdrop +$ sudo auditctl -l | grep umount --a always,exit -F path=/usr/bin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postdrop Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80694-3: Record Events that Modify the System's Discretionary Access Controls - lremovexattrCCE-80752-9: Record Unsuccessful Access Attempts to Files - ftruncate Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured +
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.To determine if the system is configured to audit calls to the -lremovexattr system call, run the following command: -
$ sudo grep "lremovexattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the ftruncate system call. + +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: + +$ sudo grep -r ftruncate /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep ftruncate /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured +
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod
-

-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80689-3: Record Events that Modify the System's Discretionary Access Controls - fchownCCE-80756-0: Record Unsuccessful Access Attempts to Files - truncate Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured + At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.To determine if the system is configured to audit calls to the -fchown system call, run the following command: -
$ sudo grep "fchown" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the truncate system call. + +If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: + +$ sudo grep -r truncate /etc/audit/rules.d + +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: + +$ sudo grep truncate /etc/audit/audit.rules + +The output should be the following: + +-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access +-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured + At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix +startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80696-8: Record Events that Modify the System's Discretionary Access Controls - removexattrCCE-80686-9: Record Events that Modify the System's Discretionary Access Controls - chown Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured to use the augenrules -program to read audit rules during daemon startup (the default), add the -following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding. To determine if the system is configured to audit calls to the -removexattr system call, run the following command: -
$ sudo grep "removexattr" /etc/audit/audit.*
+chown system call, run the following command: +
$ sudo grep "chown" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access. At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured to use the augenrules -program to read audit rules during daemon startup (the default), add the -following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80701-6: Record Any Attempts to Run setseboolCCE-80719-8: Record Attempts to Alter Logon and Logout Events - lastlog Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect any execution attempt -of the setsebool command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
The audit system already collects login information for all users +and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d in order to watch for attempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setsebool" command with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/lastlog" with the following command: -$ sudo auditctl -l | grep setsebool +$ sudo auditctl -l | grep /var/log/lastlog --a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -k privileged Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect any execution attempt -of the setsebool command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
The audit system already collects login information for all users +and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d in order to watch for attempted manual +edits of files involved in storing logon events: +
-w /var/log/lastlog -p wa -k logins
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswdCCE-80701-6: Record Any Attempts to Run setsebool Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect any execution attempt +of the setsebool command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setsebool" command with the following command: -$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' +$ sudo auditctl -l | grep setsebool --w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect any execution attempt +of the setsebool command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80758-6: Record Events that Modify User/Group Information - /etc/groupCCE-80700-8: Record Any Attempts to Run semanage Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect any execution attempt +of the semanage command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/group" with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "semanage" command with the following command: -$ sudo auditctl -l | grep -E '(/etc/group)' +$ sudo auditctl -l | grep semanage --w /etc/group -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect any execution attempt +of the semanage command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/group -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80727-1: Ensure auditd Collects Information on the Use of Privileged Commands - crontabCCE-80730-5: Ensure auditd Collects Information on the Use of Privileged Commands - pam_timestamp_check Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -49896,29 +49912,33 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "crontab" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "pam_timestamp_check" command with the following command: -$ sudo auditctl -l | grep crontab +$ sudo auditctl -l | grep pam_timestamp_check --a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -k privileged-crontab Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/pam_timestamp_check
+-F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80691-9: Record Events that Modify the System's Discretionary Access Controls - fremovexattrCCE-80694-3: Record Events that Modify the System's Discretionary Access Controls - lremovexattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -49943,27 +49963,27 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lremovexattr -F auid=0 -F key=perm_mod


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lremovexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fremovexattr system call, run the following command: -
$ sudo grep "fremovexattr" /etc/audit/audit.*
+lremovexattr system call, run the following command: +
$ sudo grep "lremovexattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access. medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80728-9: Ensure auditd Collects Information on the Use of Privileged Commands - gpasswdCCE-80692-7: Record Events that Modify the System's Discretionary Access Controls - fsetxattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "gpasswd" command with the following command: - -$ sudo auditctl -l | grep gpasswd - --a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-gpasswd Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +fsetxattr system call, run the following command: +
$ sudo grep "fsetxattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80943-4: Extend Audit Backlog Limit for the Audit DaemonCCE-85944-7: Record Any Attempts to Run ssh-agent Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).To improve the kernel capacity to queue all log events, even those which occurred -prior to the audit daemon, add the argument audit_backlog_limit=8192 to the default -GRUB 2 command line for the Linux operating system. -To ensure that audit_backlog_limit=8192 is added as a kernel command line -argument to newly installed kernels, add audit_backlog_limit=8192 to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... audit_backlog_limit=8192 ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit_backlog_limit=8192"
At a minimum, the audit system should collect any execution attempt +of the ssh-agent command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Inspect the form of default GRUB 2 command line for the Linux operating system -in /etc/default/grub. If it includes audit_backlog_limit=8192, -then the parameter will be configured for newly installed kernels. -First check if the GRUB recovery is enabled: -
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
-If this option is set to true, then check that a line is output by the following command: -
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*audit_backlog_limit=8192.*' /etc/default/grub
-If the recovery is disabled, check the line with -
$ sudo grep 'GRUB_CMDLINE_LINUX.*audit_backlog_limit=8192.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. -Run the following command: -
$ sudo grubby --info=ALL | grep args | grep -v 'audit_backlog_limit=8192'
-The command should not return any output. Is it the case that audit backlog limit is not configured?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-agent" command with the following command: + +$ sudo auditctl -l | grep ssh-agent + +-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access.To improve the kernel capacity to queue all log events, even those which occurred -prior to the audit daemon, add the argument audit_backlog_limit=8192 to the default -GRUB 2 command line for the Linux operating system. -To ensure that audit_backlog_limit=8192 is added as a kernel command line -argument to newly installed kernels, add audit_backlog_limit=8192 to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... audit_backlog_limit=8192 ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit_backlog_limit=8192"
lowAt a minimum, the audit system should collect any execution attempt +of the ssh-agent command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file: +
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadowCCE-80690-1: Record Events that Modify the System's Discretionary Access Controls - fchownat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: - -$ sudo auditctl -l | grep -E '(/etc/gshadow)' - --w /etc/gshadow -p wa -k identity - -If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes?To determine if the system is configured to audit calls to the +fchownat system call, run the following command: +
$ sudo grep "fchownat" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-89455-0: Ensure auditd Collects Information on the Use of Privileged Commands - kmodCCE-80705-7: Ensure auditd Collects File Deletion Events by User - rmdir Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "kmod" command with the following command: + To determine if the system is configured to audit calls to the +rmdir system call, run the following command: +
$ sudo grep "rmdir" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
medium
CCI-000172SRG-OS-000471-GPOS-00215TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records for privileged activities or other system-level access.CCE-80687-7: Record Events that Modify the System's Discretionary Access Controls - fchmodWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - ConfigurableVerify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.To determine if the system is configured to audit calls to the +fchmod system call, run the following command: +
$ sudo grep "fchmod" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80751-1: Record Unsuccessful Access Attempts to Files - creatCCE-80943-4: Extend Audit Backlog Limit for the Audit Daemon Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
To improve the kernel capacity to queue all log events, even those which occurred +prior to the audit daemon, add the argument audit_backlog_limit=8192 to the default +GRUB 2 command line for the Linux operating system. +To ensure that audit_backlog_limit=8192 is added as a kernel command line +argument to newly installed kernels, add audit_backlog_limit=8192 to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... audit_backlog_limit=8192 ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit_backlog_limit=8192"
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the creat system call. + Inspect the form of default GRUB 2 command line for the Linux operating system +in /etc/default/grub. If it includes audit_backlog_limit=8192, +then the parameter will be configured for newly installed kernels. +First check if the GRUB recovery is enabled: +
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
+If this option is set to true, then check that a line is output by the following command: +
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*audit_backlog_limit=8192.*' /etc/default/grub
+If the recovery is disabled, check the line with +
$ sudo grep 'GRUB_CMDLINE_LINUX.*audit_backlog_limit=8192.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. +Run the following command: +
$ sudo grubby --info=ALL | grep args | grep -v 'audit_backlog_limit=8192'
+The command should not return any output. Is it the case that audit backlog limit is not configured?
Configure the operating system to generate audit records for privileged activities or other system-level access.To improve the kernel capacity to queue all log events, even those which occurred +prior to the audit daemon, add the argument audit_backlog_limit=8192 to the default +GRUB 2 command line for the Linux operating system. +To ensure that audit_backlog_limit=8192 is added as a kernel command line +argument to newly installed kernels, add audit_backlog_limit=8192 to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... audit_backlog_limit=8192 ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="audit_backlog_limit=8192"
low
CCI-000172SRG-OS-000471-GPOS-00215TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records for privileged activities or other system-level access.CCE-80713-1: Ensure auditd Collects Information on Kernel Module Loading - init_moduleWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -$ sudo grep creat /etc/audit/audit.rules +Audit records can be generated from various components within the information system (e.g., module or policy filter).To capture kernel module loading events, use following line, setting ARCH to +either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: -The output should be the following: +
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
--a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?
Applicable - ConfigurableVerify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.To determine if the system is configured to audit calls to the +init_module system call, run the following command: +
$ sudo grep "init_module" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
To capture kernel module loading events, use following line, setting ARCH to +either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: + +
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
+ + +Place to add the line depends on a way auditd daemon is configured. If it is configured +to use the augenrules program (the default), add the line to a file with suffix +.rules in the directory /etc/audit/rules.d. + +If the auditd daemon is configured to use the auditctl utility, +add the line to file /etc/audit/audit.rules.
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80761-0: Record Events that Modify User/Group Information - /etc/passwdCCE-80737-0: Ensure auditd Collects Information on the Use of Privileged Commands - sudo Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "sudo" command with the following command: -$ sudo auditctl -l | grep -E '(/etc/passwd)' +$ sudo auditctl -l | grep sudo --w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
-

+
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80762-8: Record Events that Modify User/Group Information - /etc/shadowCCE-82168-6: Log USBGuard daemon audit events using Linux Audit Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
To configure USBGuard daemon to log via Linux Audit +(as opposed directly to a file), +AuditBackend option in /etc/usbguard/usbguard-daemon.conf +needs to be set to LinuxAudit. Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd with the following command: - -$ sudo auditctl -l | grep -E '(/etc/shadow)' - --w /etc/shadow -p wa -k identity Is it the case that command does not return a line, or the line is commented out?To verify that Linux Audit logging is enabled for the USBGuard daemon, +run the following command: +
$ sudo grep AuditBackend /etc/usbguard/usbguard-daemon.conf
+The output should be +
AuditBackend=LinuxAudit
Is it the case that AuditBackend is not set to LinuxAudit?
Configure the operating system to generate audit records for privileged activities or other system-level access.If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
-

-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file, in order to capture events that modify -account changes: -

-
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
mediumTo configure USBGuard daemon to log via Linux Audit +(as opposed directly to a file), +AuditBackend option in /etc/usbguard/usbguard-daemon.conf +needs to be set to LinuxAudit.low TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80989-7: Ensure auditd Collects Information on the Use of Privileged Commands - mountCCE-80696-8: Record Events that Modify the System's Discretionary Access Controls - removexattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules +program to read audit rules during daemon startup (the default), add the +following line to a file with suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "mount" command with the following command: - -$ sudo auditctl -l | grep mount - --a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-mount Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +removexattr system call, run the following command: +
$ sudo grep "removexattr" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect file permission +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules +program to read audit rules during daemon startup (the default), add the +following line to a file with suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
+

+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80755-2: Record Unsuccessful Access Attempts to Files - open_by_handle_atCCE-80751-1: Record Unsuccessful Access Attempts to Files - creat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -50561,60 +50666,60 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the open_by_handle_at system call. + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the creat system call. If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: -$ sudo grep -r open_by_handle_at /etc/audit/rules.d +$ sudo grep -r creat /etc/audit/rules.d If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: -$ sudo grep open_by_handle_at /etc/audit/audit.rules +$ sudo grep creat /etc/audit/audit.rules The output should be the following: --a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access. At a minimum, the audit system should collect unauthorized file accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S creat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S creat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80735-4: Ensure auditd Collects Information on the Use of Privileged Commands - ssh-keysignCCE-80712-3: Ensure auditd Collects Information on Kernel Module Loading and Unloading - finit_module Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-keysign" command with the following command: - -$ sudo auditctl -l | grep ssh-keysign - --a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-keysign Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000172SRG-OS-000471-GPOS-00215TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records for privileged activities or other system-level access.CCE-80731-3: Ensure auditd Collects Information on the Use of Privileged Commands - passwdIf the auditd daemon is configured to use the augenrules program +to read audit rules during daemon startup (the default), add the following lines to a file +with suffix .rules in the directory /etc/audit/rules.d to capture kernel module +loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: - Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. +
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
+ If the auditd daemon is configured to use the auditctl utility to read audit +rules during daemon startup, add the following lines to /etc/audit/audit.rules file +in order to capture kernel module loading and unloading events, setting ARCH to either b32 or +b64 as appropriate for your system: -Audit records can be generated from various components within the information system (e.g., module or policy filter).
At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "passwd" command with the following command: - -$ sudo auditctl -l | grep passwd - --a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-passwd Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +finit_module system call, run the following command: +
$ sudo grep "finit_module" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000172SRG-OS-000471-GPOS-00215TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records for privileged activities or other system-level access.CCE-80737-0: Ensure auditd Collects Information on the Use of Privileged Commands - sudoWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "sudo" command with the following command: - -$ sudo auditctl -l | grep sudo + If the auditd daemon is configured to use the augenrules program +to read audit rules during daemon startup (the default), add the following lines to a file +with suffix .rules in the directory /etc/audit/rules.d to capture kernel module +loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: --a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -k privileged-sudo Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80725-5: Ensure auditd Collects Information on the Use of Privileged Commands - chageCCE-80731-3: Ensure auditd Collects Information on the Use of Privileged Commands - passwd Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -50772,29 +50791,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chage" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "passwd" command with the following command: -$ sudo auditctl -l | grep chage +$ sudo auditctl -l | grep passwd --a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chage Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80733-9: Ensure auditd Collects Information on the Use of Privileged Commands - postqueueCCE-80735-4: Ensure auditd Collects Information on the Use of Privileged Commands - ssh-keysign Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -50817,82 +50836,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postqueue" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-keysign" command with the following command: -$ sudo auditctl -l | grep postqueue +$ sudo auditctl -l | grep ssh-keysign --a always,exit -F path=/usr/bin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -k privileged-postqueue Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000172SRG-OS-000471-GPOS-00215TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records for privileged activities or other system-level access.CCE-80693-5: Record Events that Modify the System's Discretionary Access Controls - lchownWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - ConfigurableVerify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.To determine if the system is configured to audit calls to the -lchown system call, run the following command: -
$ sudo grep "lchown" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-86027-0: Ensure auditd Collects Information on the Use of Privileged Commands - usermodCCE-80989-7: Ensure auditd Collects Information on the Use of Privileged Commands - mount Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -50915,29 +50881,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "usermod" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "mount" command with the following command: -$ sudo auditctl -l | grep usermod +$ sudo auditctl -l | grep mount --a always,exit -F path=/usr/bin/usermod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-usermod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80687-7: Record Events that Modify the System's Discretionary Access Controls - fchmodCCE-80754-5: Record Unsuccessful Access Attempts to Files - openat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to +utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.To determine if the system is configured to audit calls to the -fchmod system call, run the following command: -
$ sudo grep "fchmod" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=unset -F key=perm_mod
medium
Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the openat system call. -
CCI-000172SRG-OS-000471-GPOS-00215TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records for privileged activities or other system-level access.CCE-80739-6: Ensure auditd Collects Information on the Use of Privileged Commands - umountWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. +If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: -Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "umount" command with the following command: +$ sudo grep openat /etc/audit/audit.rules -$ sudo auditctl -l | grep umount +The output should be the following: --a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-umount Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
At a minimum, the audit system should collect unauthorized file +accesses for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ +If the system is 64 bit then also add the following lines: +
+-a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+ If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80713-1: Ensure auditd Collects Information on Kernel Module Loading - init_moduleCCE-80727-1: Ensure auditd Collects Information on the Use of Privileged Commands - crontab Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).To capture kernel module loading events, use following line, setting ARCH to -either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: - -
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
- - -Place to add the line depends on a way auditd daemon is configured. If it is configured -to use the augenrules program (the default), add the line to a file with suffix -.rules in the directory /etc/audit/rules.d. - -If the auditd daemon is configured to use the auditctl utility, -add the line to file /etc/audit/audit.rules.
At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.To determine if the system is configured to audit calls to the -init_module system call, run the following command: -
$ sudo grep "init_module" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.To capture kernel module loading events, use following line, setting ARCH to -either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit: - -
-a always,exit -F arch=ARCH -S init_module -F auid>=1000 -F auid!=unset -F key=modules
- +
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "crontab" command with the following command: -Place to add the line depends on a way auditd daemon is configured. If it is configured -to use the augenrules program (the default), add the line to a file with suffix -.rules in the directory /etc/audit/rules.d. +$ sudo auditctl -l | grep crontab -If the auditd daemon is configured to use the auditctl utility, -add the line to file /etc/audit/audit.rules.Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80726-3: Ensure auditd Collects Information on the Use of Privileged Commands - chshCCE-89455-0: Ensure auditd Collects Information on the Use of Privileged Commands - kmod Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -51152,29 +51098,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chsh" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "kmod" command with the following command: -$ sudo auditctl -l | grep chsh +$ sudo auditctl -l | grep kmod --a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chsh Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80698-4: Record Any Attempts to Run chconCCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadowWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
Applicable - ConfigurableVerify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: + +$ sudo auditctl -l | grep -E '(/etc/gshadow)' + +-w /etc/gshadow -p wa -k identity + +If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes?Configure the operating system to generate audit records for privileged activities or other system-level access.If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
medium
CCI-000172SRG-OS-000471-GPOS-00215TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records for privileged activities or other system-level access.CCE-88437-9: Record Any Attempts to Run setfacl Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect any execution attempt -of the chcon command for all users and root. If the auditd +of the setfacl command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chcon" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfacl" command with the following command: -$ sudo auditctl -l | grep chcon +$ sudo auditctl -l | grep setfacl --a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access. At a minimum, the audit system should collect any execution attempt -of the chcon command for all users and root. If the auditd +of the setfacl command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80722-2: Ensure auditd Collects Information on Exporting to Media (successful)CCE-80693-5: Record Events that Modify the System's Discretionary Access Controls - lchown Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect media exportation -events for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding. To determine if the system is configured to audit calls to the -mount system call, run the following command: -
$ sudo grep "mount" /etc/audit/audit.*
+lchown system call, run the following command: +
$ sudo grep "lchown" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect media exportation -events for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80729-7: Ensure auditd Collects Information on the Use of Privileged Commands - newgrpCCE-86027-0: Ensure auditd Collects Information on the Use of Privileged Commands - usermod Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -51291,29 +51296,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "newgrp" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "usermod" command with the following command: -$ sudo auditctl -l | grep newgrp +$ sudo auditctl -l | grep usermod --a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -k privileged-newgrp Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80703-2: Ensure auditd Collects File Deletion Events by User - renameCCE-80706-5: Ensure auditd Collects File Deletion Events by User - unlink Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -51337,85 +51342,32 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
Applicable - ConfigurableVerify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.To determine if the system is configured to audit calls to the -rename system call, run the following command: -
$ sudo grep "rename" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
medium
CCI-000172SRG-OS-000471-GPOS-00215TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records for privileged activities or other system-level access.CCE-80686-9: Record Events that Modify the System's Discretionary Access Controls - chownWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding. To determine if the system is configured to audit calls to the -chown system call, run the following command: -
$ sudo grep "chown" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
+unlink system call, run the following command: +
$ sudo grep "unlink" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect file deletion events +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80752-9: Record Unsuccessful Access Attempts to Files - ftruncateCCE-80755-2: Record Unsuccessful Access Attempts to Files - open_by_handle_at Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -51438,66 +51390,60 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the ftruncate system call. + Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the open_by_handle_at system call. If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: -$ sudo grep -r ftruncate /etc/audit/rules.d +$ sudo grep -r open_by_handle_at /etc/audit/rules.d If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: -$ sudo grep ftruncate /etc/audit/audit.rules +$ sudo grep open_by_handle_at /etc/audit/audit.rules The output should be the following: --a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access. At a minimum, the audit system should collect unauthorized file accesses for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
- +
-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
+-a always,exit -F arch=b32 -S open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
If the system is 64 bit then also add the following lines:
--a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80704-0: Ensure auditd Collects File Deletion Events by User - renameatCCE-80695-0: Record Events that Modify the System's Discretionary Access Controls - lsetxattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding. To determine if the system is configured to audit calls to the -renameat system call, run the following command: -
$ sudo grep "renameat" /etc/audit/audit.*
+lsetxattr system call, run the following command: +
$ sudo grep "lsetxattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S renameat -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-89480-8: Ensure auditd Collects Information on the Use of Privileged Commands - unix_updateCCE-80758-6: Record Events that Modify User/Group Information - /etc/group Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_update" command with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/group" with the following command: -$ sudo auditctl -l | grep unix_update +$ sudo auditctl -l | grep -E '(/etc/group)' --a always,exit -F path=/usr/bin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_update Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/group -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80730-5: Ensure auditd Collects Information on the Use of Privileged Commands - pam_timestamp_checkCCE-80732-1: Ensure auditd Collects Information on the Use of Privileged Commands - postdrop Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -51614,33 +51580,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "pam_timestamp_check" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "postdrop" command with the following command: -$ sudo auditctl -l | grep pam_timestamp_check +$ sudo auditctl -l | grep postdrop --a always,exit -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid>=1000 -F auid!=unset -k privileged-pam_timestamp_check Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/pam_timestamp_check
--F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80740-4: Ensure auditd Collects Information on the Use of Privileged Commands - unix_chkpwdCCE-80761-0: Record Events that Modify User/Group Information - /etc/passwdWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
Applicable - ConfigurableVerify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: + +$ sudo auditctl -l | grep -E '(/etc/passwd)' + +-w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records for privileged activities or other system-level access.If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
medium
CCI-000172SRG-OS-000471-GPOS-00215TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records for privileged activities or other system-level access.CCE-80729-7: Ensure auditd Collects Information on the Use of Privileged Commands - newgrp Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -51663,29 +51678,29 @@ configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "unix_chkpwd" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "newgrp" command with the following command: -$ sudo auditctl -l | grep unix_chkpwd +$ sudo auditctl -l | grep newgrp --a always,exit -F path=/usr/bin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix_chkpwd Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access. At a minimum, the audit system should collect the execution of privileged commands for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add a line of the following form to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add a line of the following form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80695-0: Record Events that Modify the System's Discretionary Access Controls - lsetxattrCCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswd Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.To determine if the system is configured to audit calls to the -lsetxattr system call, run the following command: -
$ sudo grep "lsetxattr" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: + +$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' + +-w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
+
If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+

If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S lsetxattr -F auid=0 -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S lsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S lsetxattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80688-5: Record Events that Modify the System's Discretionary Access Controls - fchmodatCCE-80722-2: Ensure auditd Collects Information on Exporting to Media (successful) Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to + At a minimum, the audit system should collect media exportation +events for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fchmodat system call, run the following command: -
$ sudo grep "fchmodat" /etc/audit/audit.*
+mount system call, run the following command: +
$ sudo grep "mount" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to + At a minimum, the audit system should collect media exportation +events for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as +appropriate for your system: +
-a always,exit -F arch=ARCH -S mount -F auid>=1000 -F auid!=unset -F key=export
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-89446-9: Record Any Attempts to Run chaclCCE-82280-9: Record Any Attempts to Run setfiles Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect any execution attempt -of the chacl command for all users and root. If the auditd +of the setfiles command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chacl" command with the following command: + Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "setfiles" command with the following command: -$ sudo auditctl -l | grep chacl +$ sudo auditctl -l | grep setfiles --a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access. At a minimum, the audit system should collect any execution attempt -of the chacl command for all users and root. If the auditd +of the setfiles command for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following lines to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+
-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000172SRG-OS-000471-GPOS-00215TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records for privileged activities or other system-level access.CCE-80719-8: Record Attempts to Alter Logon and Logout Events - lastlogWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).The audit system already collects login information for all users -and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d in order to watch for attempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file in order to watch for unattempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
Applicable - ConfigurableVerify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/var/log/lastlog" with the following command: - -$ sudo auditctl -l | grep /var/log/lastlog - --w /var/log/lastlog -p wa -k logins Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records for privileged activities or other system-level access.The audit system already collects login information for all users -and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following lines to a file with suffix .rules in the -directory /etc/audit/rules.d in order to watch for attempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to -/etc/audit/audit.rules file in order to watch for unattempted manual -edits of files involved in storing logon events: -
-w /var/log/lastlog -p wa -k logins
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80705-7: Ensure auditd Collects File Deletion Events by User - rmdirCCE-80685-1: Record Events that Modify the System's Discretionary Access Controls - chmod Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding. To determine if the system is configured to audit calls to the -rmdir system call, run the following command: -
$ sudo grep "rmdir" /etc/audit/audit.*
+chmod system call, run the following command: +
$ sudo grep "chmod" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S rmdir -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-82168-6: Log USBGuard daemon audit events using Linux AuditCCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoers Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).To configure USBGuard daemon to log via Linux Audit -(as opposed directly to a file), -AuditBackend option in /etc/usbguard/usbguard-daemon.conf -needs to be set to LinuxAudit.At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-w /etc/sudoers -p wa -k actions
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.To verify that Linux Audit logging is enabled for the USBGuard daemon, -run the following command: -
$ sudo grep AuditBackend /etc/usbguard/usbguard-daemon.conf
-The output should be -
AuditBackend=LinuxAudit
Is it the case that AuditBackend is not set to LinuxAudit?
Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + +$ sudo auditctl -l | grep /etc/sudoers + +-w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access.To configure USBGuard daemon to log via Linux Audit -(as opposed directly to a file), -AuditBackend option in /etc/usbguard/usbguard-daemon.conf -needs to be set to LinuxAudit.lowAt a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-w /etc/sudoers -p wa -k actions
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80707-3: Ensure auditd Collects File Deletion Events by User - unlinkatCCE-80698-4: Record Any Attempts to Run chcon Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect any execution attempt +of the chcon command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.To determine if the system is configured to audit calls to the -unlinkat system call, run the following command: -
$ sudo grep "unlinkat" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chcon" command with the following command: + +$ sudo auditctl -l | grep chcon + +-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect file deletion events -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
+
At a minimum, the audit system should collect any execution attempt +of the chcon command for all users and root. If the auditd +daemon is configured to use the augenrules program to read audit rules +during daemon startup (the default), add the following lines to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file, setting ARCH to either b32 or b64 as -appropriate for your system: -
-a always,exit -F arch=ARCH -S unlinkat -F auid>=1000 -F auid!=unset -F key=delete
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80712-3: Ensure auditd Collects Information on Kernel Module Loading and Unloading - finit_moduleCCE-80725-5: Ensure auditd Collects Information on the Use of Privileged Commands - chage Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the augenrules program -to read audit rules during daemon startup (the default), add the following lines to a file -with suffix .rules in the directory /etc/audit/rules.d to capture kernel module -loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: + At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chage" command with the following command: -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
- If the auditd daemon is configured to use the auditctl utility to read audit -rules during daemon startup, add the following lines to /etc/audit/audit.rules file -in order to capture kernel module loading and unloading events, setting ARCH to either b32 or -b64 as appropriate for your system: +$ sudo auditctl -l | grep chage -
-a always,exit -F arch=ARCH -S finit_module -F auid>=1000 -F auid!=unset -F key=modules
Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000172SRG-OS-000471-GPOS-00215TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records for privileged activities or other system-level access.CCE-80762-8: Record Events that Modify User/Group Information - /etc/shadowWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.To determine if the system is configured to audit calls to the -finit_module system call, run the following command: -
$ sudo grep "finit_module" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd with the following command: + +$ sudo auditctl -l | grep -E '(/etc/shadow)' + +-w /etc/shadow -p wa -k identity Is it the case that command does not return a line, or the line is commented out? Configure the operating system to generate audit records for privileged activities or other system-level access.If the auditd daemon is configured to use the augenrules program -to read audit rules during daemon startup (the default), add the following lines to a file -with suffix .rules in the directory /etc/audit/rules.d to capture kernel module -loading and unloading events, setting ARCH to either b32 or b64 as appropriate for your system: + If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following lines to a file with suffix .rules in the +directory /etc/audit/rules.d, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
+

+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following lines to +/etc/audit/audit.rules file, in order to capture events that modify +account changes: +

+
-w /etc/shadow -p wa -k audit_rules_usergroup_modification
medium
CCI-000172SRG-OS-000471-GPOS-00215TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records for privileged activities or other system-level access.CCE-80726-3: Ensure auditd Collects Information on the Use of Privileged Commands - chshWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "chsh" command with the following command: + +$ sudo auditctl -l | grep chsh + +-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chsh Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80706-5: Ensure auditd Collects File Deletion Events by User - unlinkCCE-80703-2: Ensure auditd Collects File Deletion Events by User - rename Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -52147,17 +52207,17 @@ default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
+
-a always,exit -F arch=ARCH -S rename -F auid>=1000 -F auid!=unset -F key=delete
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file, setting ARCH to either b32 or b64 as appropriate for your system: -
-a always,exit -F arch=ARCH -S unlink -F auid>=1000 -F auid!=unset -F key=delete
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding. To determine if the system is configured to audit calls to the -unlink system call, run the following command: -
$ sudo grep "unlink" /etc/audit/audit.*
+rename system call, run the following command: +
$ sudo grep "rename" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access. medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-80756-0: Record Unsuccessful Access Attempts to Files - truncateCCE-80689-3: Record Events that Modify the System's Discretionary Access Controls - fchown Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates an audit record for unsuccessful attempts to use the truncate system call. - -If the auditd daemon is configured to use the "augenrules" program to to read audit rules during daemon startup (the default), run the following command: - -$ sudo grep -r truncate /etc/audit/rules.d - -If the auditd daemon is configured to use the "auditctl" utility to read audit rules during daemon startup, run the following command: - -$ sudo grep truncate /etc/audit/audit.rules - -The output should be the following: - --a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access --a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -k access Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +fchown system call, run the following command: +
$ sudo grep "fchown" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect unauthorized file -accesses for all users and root. If the auditd daemon is configured + At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon -startup (the default), add the following lines to a file with suffix +startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
+
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following lines: -
--a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access
--a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for privileged activities or other system-level access.CCE-85944-7: Record Any Attempts to Run ssh-agentCCE-80688-5: Record Events that Modify the System's Discretionary Access Controls - fchmodat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect any execution attempt -of the ssh-agent command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
Applicable - Configurable Verify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "ssh-agent" command with the following command: - -$ sudo auditctl -l | grep ssh-agent - --a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent Is it the case that the command does not return a line, or the line is commented out?To determine if the system is configured to audit calls to the +fchmodat system call, run the following command: +
$ sudo grep "fchmodat" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect any execution attempt -of the ssh-agent command for all users and root. If the auditd -daemon is configured to use the augenrules program to read audit rules -during daemon startup (the default), add the following lines to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
+If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following lines to +utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh-agent
medium
CCI-000172SRG-OS-000471-GPOS-00215TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records for privileged activities or other system-level access.CCE-80741-2: Ensure auditd Collects Information on the Use of Privileged Commands - userhelperWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system generates audit records for privileged activities or other system-level access. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "userhelper" command with the following command: - -$ sudo auditctl -l | grep userhelper - --a always,exit -F path=/usr/bin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -k privileged-userhelper Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records for privileged activities or other system-level access.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000172SRG-OS-000471-GPOS-00216TBD - Assigned by DISA after STIG releaseThe audit system must be configured to audit the loading and unloading of dynamic kernel modules.CCE-89455-0: Ensure auditd Collects Information on the Use of Privileged Commands - kmodWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the audit system is configured to audit the loading and unloading of dynamic kernel modules. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "kmod" command with the following command: - -$ sudo auditctl -l | grep kmod - --a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-kmod Is it the case that the command does not return a line, or the line is commented out?Configure the audit system to audit the loading and unloading of dynamic kernel modules.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000172 SRG-OS-000471-GPOS-00216
CCI-000172SRG-OS-000471-GPOS-00216TBD - Assigned by DISA after STIG releaseThe audit system must be configured to audit the loading and unloading of dynamic kernel modules.CCE-89455-0: Ensure auditd Collects Information on the Use of Privileged Commands - kmodWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the audit system is configured to audit the loading and unloading of dynamic kernel modules. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "kmod" command with the following command: + +$ sudo auditctl -l | grep kmod + +-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-kmod Is it the case that the command does not return a line, or the line is commented out?Configure the audit system to audit the loading and unloading of dynamic kernel modules.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful accesses to objects occur.CCE-80690-1: Record Events that Modify the System's Discretionary Access Controls - fchownatCCE-80691-9: Record Events that Modify the System's Discretionary Access Controls - fremovexattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful accesses to objects occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fchownat system call, run the following command: -
$ sudo grep "fchownat" /etc/audit/audit.*
+fremovexattr system call, run the following command: +
$ sudo grep "fremovexattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful accesses to objects occur. At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured +changes for all users and root. +

+If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+

If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful accesses to objects occur.CCE-80692-7: Record Events that Modify the System's Discretionary Access Controls - fsetxattrCCE-80686-9: Record Events that Modify the System's Discretionary Access Controls - chown Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful accesses to objects occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fsetxattr system call, run the following command: -
$ sudo grep "fsetxattr" /etc/audit/audit.*
+chown system call, run the following command: +
$ sudo grep "chown" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful accesses to objects occur. At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+changes for all users and root. If the auditd daemon is configured to +use the augenrules program to read audit rules during daemon startup +(the default), add the following line to a file with suffix .rules in +the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful accesses to objects occur.CCE-80689-3: Record Events that Modify the System's Discretionary Access Controls - fchownCCE-80692-7: Record Events that Modify the System's Discretionary Access Controls - fsetxattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -52931,23 +52941,24 @@ to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b64 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S fsetxattr -F auid=0 -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
- +
-a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S fsetxattr -F auid=0 -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful accesses to objects occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fchown system call, run the following command: -
$ sudo grep "fchown" /etc/audit/audit.*
+fsetxattr system call, run the following command: +
$ sudo grep "fsetxattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful accesses to objects occur. medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful accesses to objects occur.CCE-80696-8: Record Events that Modify the System's Discretionary Access Controls - removexattrCCE-80690-1: Record Events that Modify the System's Discretionary Access Controls - fchownat Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter). At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured to use the augenrules -program to read audit rules during daemon startup (the default), add the -following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful accesses to objects occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -removexattr system call, run the following command: -
$ sudo grep "removexattr" /etc/audit/audit.*
+fchownat system call, run the following command: +
$ sudo grep "fchownat" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful accesses to objects occur. At a minimum, the audit system should collect file permission -changes for all users and root. -

-If the auditd daemon is configured to use the augenrules -program to read audit rules during daemon startup (the default), add the -following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod
-

+
-a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=unset -F key=perm_mod
If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records when successful/unsuccessful accesses to objects occur.CCE-80691-9: Record Events that Modify the System's Discretionary Access Controls - fremovexattrCCE-80696-8: Record Events that Modify the System's Discretionary Access Controls - removexattr Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -53057,57 +53053,55 @@ At a minimum, the audit system should collect file permission changes for all users and root.

-If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+If the auditd daemon is configured to use the augenrules +program to read audit rules during daemon startup (the default), add the +following line to a file with suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
Applicable - Configurable Verify the operating system generates audit records when successful/unsuccessful accesses to objects occur. If it does not, this is a finding. To determine if the system is configured to audit calls to the -fremovexattr system call, run the following command: -
$ sudo grep "fremovexattr" /etc/audit/audit.*
+removexattr system call, run the following command: +
$ sudo grep "removexattr" /etc/audit/audit.*
If the system is configured to audit this activity, it will return a line. Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful accesses to objects occur. At a minimum, the audit system should collect file permission changes for all users and root.

-If the auditd daemon is configured -to use the augenrules program to read audit rules during daemon -startup (the default), add the following line to a file with suffix -.rules in the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+If the auditd daemon is configured to use the augenrules +program to read audit rules during daemon startup (the default), add the +following line to a file with suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b64 -S removexattr -F auid=0 -F key=perm_mod


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b32 -S fremovexattr -F auid=0 -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
+
-a always,exit -F arch=b32 -S removexattr -F auid=0 -F key=perm_mod


If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod
-
-a always,exit -F arch=b64 -S fremovexattr -F auid=0 -F key=perm_mod
medium
CCI-000172SRG-OS-000474-GPOS-00219TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records when successful/unsuccessful accesses to objects occur.CCE-80686-9: Record Events that Modify the System's Discretionary Access Controls - chownWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
Applicable - ConfigurableVerify the operating system generates audit records when successful/unsuccessful accesses to objects occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the -chown system call, run the following command: -
$ sudo grep "chown" /etc/audit/audit.*
-If the system is configured to audit this activity, it will return a line. - Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful accesses to objects occur.At a minimum, the audit system should collect file permission -changes for all users and root. If the auditd daemon is configured to -use the augenrules program to read audit rules during daemon startup -(the default), add the following line to a file with suffix .rules in -the directory /etc/audit/rules.d: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
-If the system is 64 bit then also add the following line: -
-a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=unset -F key=perm_mod
medium
CCI-000172 SRG-OS-000474-GPOS-00219
CCI-000172SRG-OS-000475-GPOS-00220SRG-OS-000474-GPOS-00219 TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records for all direct access to the information system.The operating system must generate audit records when successful/unsuccessful accesses to objects occur.CCE-90783-2: Configure immutable Audit login UIDsCCE-80689-3: Record Events that Modify the System's Discretionary Access Controls - fchown Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within the information system (e.g., module or policy filter).Configure kernel to prevent modification of login UIDs once they are set. -Changing login UIDs while this configuration is enforced requires special capabilities which -are not available to unprivileged users. -If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d in order to make login UIDs -immutable: -
--loginuid-immutable
+
At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file in order to make login UIDs -immutable: -
--loginuid-immutable
Applicable - ConfigurableVerify the operating system generates audit records for all direct access to the information system. If it does not, this is a finding.To determine if the system is configured to make login UIDs immutable, run -one of the following commands. -If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), run the following: -
sudo grep immutable /etc/audit/rules.d/*.rules
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, run the following command: -
sudo grep immutable /etc/audit/audit.rules
-The following line should be returned: -
--loginuid-immutable
Is it the case that the system is not configured to make login UIDs immutable?
Configure the operating system to generate audit records for all direct access to the information system.Configure kernel to prevent modification of login UIDs once they are set. -Changing login UIDs while this configuration is enforced requires special capabilities which -are not available to unprivileged users. -If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the -default), add the following line to a file with suffix .rules in the -directory /etc/audit/rules.d in order to make login UIDs -immutable: -
--loginuid-immutable
+
Verify the operating system generates audit records when successful/unsuccessful accesses to objects occur. If it does not, this is a finding.To determine if the system is configured to audit calls to the +fchown system call, run the following command: +
$ sudo grep "fchown" /etc/audit/audit.*
+If the system is configured to audit this activity, it will return a line. + Is it the case that no line is returned?
Configure the operating system to generate audit records when successful/unsuccessful accesses to objects occur.At a minimum, the audit system should collect file permission +changes for all users and root. If the auditd daemon is configured +to use the augenrules program to read audit rules during daemon +startup (the default), add the following line to a file with suffix +.rules in the directory /etc/audit/rules.d: +
-a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ +If the system is 64 bit then also add the following line: +
-a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=unset -F key=perm_mod
+ If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file in order to make login UIDs -immutable: -
--loginuid-immutable
medium
CCI-000172 SRG-OS-000475-GPOS-00220
CCI-000172SRG-OS-000475-GPOS-00220TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records for all direct access to the information system.CCE-90783-2: Configure immutable Audit login UIDsWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).Configure kernel to prevent modification of login UIDs once they are set. +Changing login UIDs while this configuration is enforced requires special capabilities which +are not available to unprivileged users. +If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d in order to make login UIDs +immutable: +
--loginuid-immutable
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file in order to make login UIDs +immutable: +
--loginuid-immutable
Applicable - ConfigurableVerify the operating system generates audit records for all direct access to the information system. If it does not, this is a finding.To determine if the system is configured to make login UIDs immutable, run +one of the following commands. +If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), run the following: +
sudo grep immutable /etc/audit/rules.d/*.rules
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, run the following command: +
sudo grep immutable /etc/audit/audit.rules
+The following line should be returned: +
--loginuid-immutable
Is it the case that the system is not configured to make login UIDs immutable?
Configure the operating system to generate audit records for all direct access to the information system.Configure kernel to prevent modification of login UIDs once they are set. +Changing login UIDs while this configuration is enforced requires special capabilities which +are not available to unprivileged users. +If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the +default), add the following line to a file with suffix .rules in the +directory /etc/audit/rules.d in order to make login UIDs +immutable: +
--loginuid-immutable
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file in order to make login UIDs +immutable: +
--loginuid-immutable
medium
TBD - Assigned by DISA after STIG release The operating system must generate audit records for all account creations, modifications, disabling, and termination events.CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoersCCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/ Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -53427,29 +53427,29 @@ augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
Applicable - Configurable Verify the operating system generates audit records for all account creations, modifications, disabling, and termination events. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: -$ sudo auditctl -l | grep /etc/sudoers +$ sudo auditctl -l | grep/etc/sudoers.d --w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for all account creations, modifications, disabling, and termination events. At a minimum, the audit system should collect administrator actions for all users and root. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the default), add the following line to a file with suffix .rules in the directory /etc/audit/rules.d: -
-w /etc/sudoers -p wa -k actions
+
-w /etc/sudoers.d/ -p wa -k actions
If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following line to /etc/audit/audit.rules file: -
-w /etc/sudoers -p wa -k actions
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for all account creations, modifications, disabling, and termination events.CCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswdCCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadow Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -53473,21 +53473,23 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records for all account creations, modifications, disabling, and termination events. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: -$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' +$ sudo auditctl -l | grep -E '(/etc/gshadow)' --w /etc/security/opasswd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for all account creations, modifications, disabling, and termination events. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the @@ -53495,14 +53497,14 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
+
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for all account creations, modifications, disabling, and termination events.CCE-80759-4: Record Events that Modify User/Group Information - /etc/gshadowCCE-80761-0: Record Events that Modify User/Group Information - /etc/passwd Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -53579,23 +53581,21 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records for all account creations, modifications, disabling, and termination events. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/gshadow" with the following command: - -$ sudo auditctl -l | grep -E '(/etc/gshadow)' + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: --w /etc/gshadow -p wa -k identity +$ sudo auditctl -l | grep -E '(/etc/passwd)' -If the command does not return a line, or the line is commented out, this is a finding. Is it the case that the system is not configured to audit account changes? Configure the operating system to generate audit records for all account creations, modifications, disabling, and termination events. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the @@ -53603,14 +53603,14 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
+
-w /etc/passwd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/gshadow -p wa -k audit_rules_usergroup_modification
medium TBD - Assigned by DISA after STIG release The operating system must generate audit records for all account creations, modifications, disabling, and termination events.CCE-80761-0: Record Events that Modify User/Group Information - /etc/passwdCCE-80760-2: Record Events that Modify User/Group Information - /etc/security/opasswd Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. @@ -53634,21 +53634,21 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
Applicable - Configurable Verify the operating system generates audit records for all account creations, modifications, disabling, and termination events. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/passwd" with the following command: + Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/security/opasswd" with the following command: -$ sudo auditctl -l | grep -E '(/etc/passwd)' +$ sudo auditctl -l | grep -E '(/etc/security/opasswd)' --w /etc/passwd -p wa -k identity Is it the case that the command does not return a line, or the line is commented out? Configure the operating system to generate audit records for all account creations, modifications, disabling, and termination events. If the auditd daemon is configured to use the augenrules program to read audit rules during daemon startup (the @@ -53656,14 +53656,59 @@ directory /etc/audit/rules.d, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
+
-w /etc/security/opasswd -p wa -k audit_rules_usergroup_modification


If the auditd daemon is configured to use the auditctl utility to read audit rules during daemon startup, add the following lines to /etc/audit/audit.rules file, in order to capture events that modify account changes:

-
-w /etc/passwd -p wa -k audit_rules_usergroup_modification
medium
CCI-000172SRG-OS-000476-GPOS-00221TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records for all account creations, modifications, disabling, and termination events.CCE-90175-1: Ensure auditd Collects System Administrator Actions - /etc/sudoersWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. + +Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-w /etc/sudoers -p wa -k actions
Applicable - ConfigurableVerify the operating system generates audit records for all account creations, modifications, disabling, and termination events. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers" with the following command: + +$ sudo auditctl -l | grep /etc/sudoers + +-w /etc/sudoers -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records for all account creations, modifications, disabling, and termination events.At a minimum, the audit system should collect administrator actions +for all users and root. If the auditd daemon is configured to use the +augenrules program to read audit rules during daemon startup (the default), +add the following line to a file with suffix .rules in the directory +/etc/audit/rules.d: +
-w /etc/sudoers -p wa -k actions
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add the following line to +/etc/audit/audit.rules file: +
-w /etc/sudoers -p wa -k actions
medium
CCI-000172SRG-OS-000476-GPOS-00221TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records for all account creations, modifications, disabling, and termination events.CCE-89497-2: Ensure auditd Collects System Administrator Actions - /etc/sudoers.d/Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
Applicable - ConfigurableVerify the operating system generates audit records for all account creations, modifications, disabling, and termination events. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 generates audit records for all account creations, modifications, disabling, and termination events that affect "/etc/sudoers.d/" with the following command: - -$ sudo auditctl -l | grep/etc/sudoers.d - --w /etc/sudoers.d/ -p wa -k identity Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records for all account creations, modifications, disabling, and termination events.At a minimum, the audit system should collect administrator actions -for all users and root. If the auditd daemon is configured to use the -augenrules program to read audit rules during daemon startup (the default), -add the following line to a file with suffix .rules in the directory -/etc/audit/rules.d: -
-w /etc/sudoers.d/ -p wa -k actions
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add the following line to -/etc/audit/audit.rules file: -
-w /etc/sudoers.d/ -p wa -k actions
medium
CCI-000172SRG-OS-000477-GPOS-00222TBD - Assigned by DISA after STIG releaseThe operating system must generate audit records for all kernel module load, unload, and restart actions, and also for all program initiations.CCE-89455-0: Ensure auditd Collects Information on the Use of Privileged Commands - kmodWithout generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. - -Audit records can be generated from various components within the information system (e.g., module or policy filter).At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system generates audit records for all kernel module load, unload, and restart actions, and also for all program initiations. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "kmod" command with the following command: - -$ sudo auditctl -l | grep kmod - --a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-kmod Is it the case that the command does not return a line, or the line is commented out?Configure the operating system to generate audit records for all kernel module load, unload, and restart actions, and also for all program initiations.At a minimum, the audit system should collect the execution of -privileged commands for all users and root. If the auditd daemon is -configured to use the augenrules program to read audit rules during -daemon startup (the default), add a line of the following form to a file with -suffix .rules in the directory /etc/audit/rules.d: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
-If the auditd daemon is configured to use the auditctl -utility to read audit rules during daemon startup, add a line of the following -form to /etc/audit/audit.rules: -
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-000172 SRG-OS-000477-GPOS-00222
CCI-002450SRG-OS-000478-GPOS-00223CCI-000172SRG-OS-000477-GPOS-00222 TBD - Assigned by DISA after STIG releaseThe operating system must implement NIST FIPS-validated cryptography for the following: to provision digital signatures, to generate cryptographic hashes, and to protect unclassified information requiring confidentiality and cryptographic protection in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards.The operating system must generate audit records for all kernel module load, unload, and restart actions, and also for all program initiations.CCE-84027-2: Set kernel parameter 'crypto.fips_enabled' to 1CCE-89455-0: Ensure auditd Collects Information on the Use of Privileged Commands - kmodUse of weak or untested encryption algorithms undermines the purposes of utilizing encryption to protect data. The operating system must implement cryptographic modules adhering to the higher standards approved by the federal government since this provides assurance they have been tested and validated.System running in FIPS mode is indicated by kernel parameter -'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. -To enable FIPS mode, run the following command: -
fips-mode-setup --enable
+
Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. -To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot -parameters during system installation so key generation is done with FIPS-approved algorithms -and continuous monitoring tests in place.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
Applicable - ConfigurableVerify the operating system implements NIST FIPS-validated cryptography for the following: to provision digital signatures, to generate cryptographic hashes, and to protect unclassified information requiring confidentiality and cryptographic protection in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards. If it does not, this is a finding.To verify that kernel parameter 'crypto.fips_enabled' is set properly, run the following command: -
sysctl crypto.fips_enabled
-The output should contain the following: -
crypto.fips_enabled = 1
Is it the case that crypto.fips_enabled is not 1?
Configure the operating system to implement NIST FIPS-validated cryptography for the following: to provision digital signatures, to generate cryptographic hashes, and to protect unclassified information requiring confidentiality and cryptographic protection in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards.System running in FIPS mode is indicated by kernel parameter -'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. -To enable FIPS mode, run the following command: -
fips-mode-setup --enable
+
Verify the operating system generates audit records for all kernel module load, unload, and restart actions, and also for all program initiations. If it does not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to audit the execution of the "kmod" command with the following command: -To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot -parameters during system installation so key generation is done with FIPS-approved algorithms -and continuous monitoring tests in place.highConfigure the operating system to generate audit records for all kernel module load, unload, and restart actions, and also for all program initiations.At a minimum, the audit system should collect the execution of +privileged commands for all users and root. If the auditd daemon is +configured to use the augenrules program to read audit rules during +daemon startup (the default), add a line of the following form to a file with +suffix .rules in the directory /etc/audit/rules.d: +
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
+If the auditd daemon is configured to use the auditctl +utility to read audit rules during daemon startup, add a line of the following +form to /etc/audit/audit.rules: +
-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged
medium
CCI-002450 SRG-OS-000478-GPOS-00223
CCI-001851SRG-OS-000479-GPOS-00224CCI-002450SRG-OS-000478-GPOS-00223 TBD - Assigned by DISA after STIG releaseThe operating system must, at a minimum, off-load audit data from interconnected systems in real time and off-load audit data from standalone systems weekly.The operating system must implement NIST FIPS-validated cryptography for the following: to provision digital signatures, to generate cryptographic hashes, and to protect unclassified information requiring confidentiality and cryptographic protection in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards.CCE-80863-4: Ensure Logs Sent To Remote HostCCE-84027-2: Set kernel parameter 'crypto.fips_enabled' to 1Information stored in one location is vulnerable to accidental or incidental deletion or alteration. + Use of weak or untested encryption algorithms undermines the purposes of utilizing encryption to protect data. The operating system must implement cryptographic modules adhering to the higher standards approved by the federal government since this provides assurance they have been tested and validated.System running in FIPS mode is indicated by kernel parameter +'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. +To enable FIPS mode, run the following command: +
fips-mode-setup --enable
-Off-loading is a common process in information systems with limited audit storage capacity.
To configure rsyslog to send logs to a remote log server, -open /etc/rsyslog.conf and read and understand the last section of the file, -which describes the multiple directives necessary to activate remote -logging. -Along with these other directives, the system can be configured -to forward its logs to a particular log server by -adding or correcting one of the following lines, -substituting appropriately. -The choice of protocol depends on the environment of the system; -although TCP and RELP provide more reliable message delivery, -they may not be supported in all environments. -
-To use UDP for log message delivery: -
*.* @
-
-To use TCP for log message delivery: -
*.* @@
-
-To use RELP for log message delivery: -
*.* :omrelp:
-
-There must be a resolvable DNS CNAME or Alias record set to "" for logs to be sent correctly to the centralized logging utility.
Applicable - ConfigurableVerify the operating system, at a minimum, off-loads interconnected systems in real time and off-loads standalone systems weekly. If it does not, this is a finding.To ensure logs are sent to a remote host, examine the file -/etc/rsyslog.conf. -If using UDP, a line similar to the following should be present: -
 *.* @
-If using TCP, a line similar to the following should be present: -
 *.* @@
-If using RELP, a line similar to the following should be present: -
 *.* :omrelp:
Is it the case that no evidence that the audit logs are being off-loaded to another system or media?
Configure the operating system to, at a minimum, off-load interconnected systems in real time and off-load standalone systems weekly.To configure rsyslog to send logs to a remote log server, -open /etc/rsyslog.conf and read and understand the last section of the file, -which describes the multiple directives necessary to activate remote -logging. -Along with these other directives, the system can be configured -to forward its logs to a particular log server by -adding or correcting one of the following lines, -substituting appropriately. -The choice of protocol depends on the environment of the system; -although TCP and RELP provide more reliable message delivery, -they may not be supported in all environments. -
-To use UDP for log message delivery: -
*.* @
-
-To use TCP for log message delivery: -
*.* @@
-
-To use RELP for log message delivery: -
*.* :omrelp:
-
-There must be a resolvable DNS CNAME or Alias record set to "" for logs to be sent correctly to the centralized logging utility.
mediumVerify the operating system implements NIST FIPS-validated cryptography for the following: to provision digital signatures, to generate cryptographic hashes, and to protect unclassified information requiring confidentiality and cryptographic protection in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards. If it does not, this is a finding.To verify that kernel parameter 'crypto.fips_enabled' is set properly, run the following command: +
sysctl crypto.fips_enabled
+The output should contain the following: +
crypto.fips_enabled = 1
Is it the case that crypto.fips_enabled is not 1?
Configure the operating system to implement NIST FIPS-validated cryptography for the following: to provision digital signatures, to generate cryptographic hashes, and to protect unclassified information requiring confidentiality and cryptographic protection in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards.System running in FIPS mode is indicated by kernel parameter +'crypto.fips_enabled'. This parameter should be set to 1 in FIPS mode. +To enable FIPS mode, run the following command: +
fips-mode-setup --enable
+ +To enable strict FIPS compliance, the fips=1 kernel option needs to be added to the kernel boot +parameters during system installation so key generation is done with FIPS-approved algorithms +and continuous monitoring tests in place.
high
CCI-001851 SRG-OS-000479-GPOS-00224 Configure the operating system to, at a minimum, off-load interconnected systems in real time and off-load standalone systems weekly. Rsyslogd is a system utility providing support for message logging. Support -for both internet and UNIX domain sockets enables this utility to support both local -and remote logging. Couple this utility with gnutls (which is a secure communications -library implementing the SSL, TLS and DTLS protocols), and you have a method to securely -encrypt and off-load auditing. - -When using rsyslogd to off-load logs the remote system must be authenticated.medium
CCI-001851SRG-OS-000479-GPOS-00224TBD - Assigned by DISA after STIG releaseThe operating system must, at a minimum, off-load audit data from interconnected systems in real time and off-load audit data from standalone systems weekly.CCE-82897-0: Set type of computer node name logging in audit logsInformation stored in one location is vulnerable to accidental or incidental deletion or alteration. - -Off-loading is a common process in information systems with limited audit storage capacity.To configure Audit daemon to use a unique identifier -as computer node name in the audit events, -set name_format to -in /etc/audit/auditd.conf.Applicable - ConfigurableVerify the operating system, at a minimum, off-loads interconnected systems in real time and off-loads standalone systems weekly. If it does not, this is a finding.To verify that Audit Daemon is configured to record the computer node -name in the audit events, run the following command: -
$ sudo grep name_format /etc/audit/auditd.conf
-The output should return the following: -
name_format = 
Is it the case that name_format isn't set to ?
Configure the operating system to, at a minimum, off-load interconnected systems in real time and off-load standalone systems weekly.To configure Audit daemon to use a unique identifier -as computer node name in the audit events, -set name_format to -in /etc/audit/auditd.conf.medium
CCI-001851SRG-OS-000479-GPOS-00224TBD - Assigned by DISA after STIG releaseThe operating system must, at a minimum, off-load audit data from interconnected systems in real time and off-load audit data from standalone systems weekly.CCE-80847-7: Ensure rsyslog is InstalledInformation stored in one location is vulnerable to accidental or incidental deletion or alteration. - -Off-loading is a common process in information systems with limited audit storage capacity.Rsyslog is installed by default. The rsyslog package can be installed with the following command:
 $ sudo yum install rsyslog
Applicable - ConfigurableVerify the operating system, at a minimum, off-loads interconnected systems in real time and off-loads standalone systems weekly. If it does not, this is a finding.Run the following command to determine if the rsyslog package is installed:
$ rpm -q rsyslog
Is it the case that the package is not installed?
Configure the operating system to, at a minimum, off-load interconnected systems in real time and off-load standalone systems weekly.Rsyslog is installed by default. The rsyslog package can be installed with the following command:
 $ sudo yum install rsyslog
medium
CCI-000366SRG-OS-000480-GPOS-00225TBD - Assigned by DISA after STIG releaseThe operating system must prevent the use of dictionary words for passwords.CCE-86233-4: Ensure PAM Enforces Password Requirements - Prevent the Use of Dictionary WordsIf the operating system allows the user to select passwords based on dictionary words, then this increases the chances of password compromise by increasing the opportunity for successful guesses and brute-force attacks.The pam_pwquality module's dictcheck check if passwords contains dictionary words. When -dictcheck is set to 1 passwords will be checked for dictionary words.Applicable - ConfigurableVerify the operating system prevents the use of dictionary words for passwords. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 prevents the use of dictionary words for passwords with the following command: - -
$ sudo grep dictcheck /etc/security/pwquality.conf /etc/pwquality.conf.d/*.conf
-
-/etc/security/pwquality.conf:dictcheck=1
Is it the case that "dictcheck" does not have a value other than "0", or is commented out?
Configure the operating system to prevent the use of dictionary words for passwords.The pam_pwquality module's dictcheck check if passwords contains dictionary words. When -dictcheck is set to 1 passwords will be checked for dictionary words.medium
CCI-000366SRG-OS-000480-GPOS-00226TBD - Assigned by DISA after STIG releaseThe operating system must enforce a delay of at least 4 seconds between logon prompts following a failed logon attempt.CCE-84037-1: Ensure the Logon Failure Delay is Set Correctly in login.defsLimiting the number of logon attempts over a certain time interval reduces the chances that an unauthorized user may gain access to an account.To ensure the logon failure delay controlled by /etc/login.defs is set properly, -add or correct the FAIL_DELAY setting in /etc/login.defs to read as follows: -
FAIL_DELAY 
Applicable - ConfigurableVerify the operating system enforces a delay of at least 4 seconds between logon prompts following a failed logon attempt. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 enforces a delay of at least seconds between console logon prompts following a failed logon attempt with the following command: - -
$ sudo grep -i "FAIL_DELAY" /etc/login.defs
-FAIL_DELAY 
Is it the case that the value of "FAIL_DELAY" is not set to "" or greater, or the line is commented out?
Configure the operating system to enforce a delay of at least 4 seconds between logon prompts following a failed logon attempt.To ensure the logon failure delay controlled by /etc/login.defs is set properly, -add or correct the FAIL_DELAY setting in /etc/login.defs to read as follows: -
FAIL_DELAY 
medium
CCI-000366SRG-OS-000480-GPOS-00227CCI-001851SRG-OS-000479-GPOS-00224 TBD - Assigned by DISA after STIG releaseThe operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The operating system must, at a minimum, off-load audit data from interconnected systems in real time and off-load audit data from standalone systems weekly.CCE-80953-3: Restrict usage of ptrace to descendant processesCCE-82897-0: Set type of computer node name logging in audit logsConfiguring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. + Information stored in one location is vulnerable to accidental or incidental deletion or alteration. -Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the kernel.yama.ptrace_scope kernel parameter, run the following command:
$ sudo sysctl -w kernel.yama.ptrace_scope=1
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.yama.ptrace_scope = 1
To configure Audit daemon to use a unique identifier +as computer node name in the audit events, +set name_format to +in /etc/audit/auditd.conf. Applicable - ConfigurableVerify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the kernel.yama.ptrace_scope kernel parameter can be queried -by running the following command: -
$ sysctl kernel.yama.ptrace_scope
-1. - Is it the case that the correct value is not returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the kernel.yama.ptrace_scope kernel parameter, run the following command:
$ sudo sysctl -w kernel.yama.ptrace_scope=1
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.yama.ptrace_scope = 1
Verify the operating system, at a minimum, off-loads interconnected systems in real time and off-loads standalone systems weekly. If it does not, this is a finding.To verify that Audit Daemon is configured to record the computer node +name in the audit events, run the following command: +
$ sudo grep name_format /etc/audit/auditd.conf
+The output should return the following: +
name_format = 
Is it the case that name_format isn't set to ?
Configure the operating system to, at a minimum, off-load interconnected systems in real time and off-load standalone systems weekly.To configure Audit daemon to use a unique identifier +as computer node name in the audit events, +set name_format to +in /etc/audit/auditd.conf. medium
CCI-000366SRG-OS-000480-GPOS-00227CCI-001851SRG-OS-000479-GPOS-00224 TBD - Assigned by DISA after STIG releaseThe operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The operating system must, at a minimum, off-load audit data from interconnected systems in real time and off-load audit data from standalone systems weekly. CCE-80863-4: Ensure Logs Sent To Remote HostConfiguring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. + Information stored in one location is vulnerable to accidental or incidental deletion or alteration. -Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections. To configure rsyslog to send logs to a remote log server, open /etc/rsyslog.conf and read and understand the last section of the file, which describes the multiple directives necessary to activate remote @@ -54511,7 +54317,7 @@
There must be a resolvable DNS CNAME or Alias record set to "" for logs to be sent correctly to the centralized logging utility.
Applicable - ConfigurableVerify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify the operating system, at a minimum, off-loads interconnected systems in real time and off-loads standalone systems weekly. If it does not, this is a finding. To ensure logs are sent to a remote host, examine the file /etc/rsyslog.conf. If using UDP, a line similar to the following should be present: @@ -54520,7 +54326,7 @@
 *.* @@
If using RELP, a line similar to the following should be present:
 *.* :omrelp:
Is it the case that no evidence that the audit logs are being off-loaded to another system or media?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Configure the operating system to, at a minimum, off-load interconnected systems in real time and off-load standalone systems weekly. To configure rsyslog to send logs to a remote log server, open /etc/rsyslog.conf and read and understand the last section of the file, which describes the multiple directives necessary to activate remote @@ -54550,180 +54356,146 @@
CCI-000366SRG-OS-000480-GPOS-00227CCI-001851SRG-OS-000479-GPOS-00224 TBD - Assigned by DISA after STIG releaseThe operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The operating system must, at a minimum, off-load audit data from interconnected systems in real time and off-load audit data from standalone systems weekly.CCE-84054-6: Prevent Unrestricted Mail RelayingCCE-80847-7: Ensure rsyslog is InstalledConfiguring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. + Information stored in one location is vulnerable to accidental or incidental deletion or alteration. -Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Modify the
/etc/postfix/main.cf
file to restrict client connections -to the local network with the following command: -
$ sudo postconf -e 'smtpd_client_restrictions = permit_mynetworks,reject'
Rsyslog is installed by default. The rsyslog package can be installed with the following command:
 $ sudo yum install rsyslog
Applicable - ConfigurableVerify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to prevent unrestricted mail relaying, -run the following command: -
$ sudo postconf -n smtpd_client_restrictions
Is it the case that the "smtpd_client_restrictions" parameter contains any entries other than "permit_mynetworks" and "reject"?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Modify the
/etc/postfix/main.cf
file to restrict client connections -to the local network with the following command: -
$ sudo postconf -e 'smtpd_client_restrictions = permit_mynetworks,reject'
Verify the operating system, at a minimum, off-loads interconnected systems in real time and off-loads standalone systems weekly. If it does not, this is a finding.Run the following command to determine if the rsyslog package is installed:
$ rpm -q rsyslog
Is it the case that the package is not installed?
Configure the operating system to, at a minimum, off-load interconnected systems in real time and off-load standalone systems weekly.Rsyslog is installed by default. The rsyslog package can be installed with the following command:
 $ sudo yum install rsyslog
medium
CCI-000366SRG-OS-000480-GPOS-00227SRG-OS-000480-GPOS-00225 TBD - Assigned by DISA after STIG releaseThe operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82744-4: Add nosuid Option to Removable Media PartitionsConfiguring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. + The operating system must prevent the use of dictionary words for passwords.The nosuid mount option prevents set-user-identifier (SUID) -and set-group-identifier (SGID) permissions from taking effect. These permissions -allow users to execute binaries with the same permissions as the owner and group -of the file respectively. Users should not be allowed to introduce SUID and SGID -files into the system via partitions mounted from removeable media. -Add the nosuid option to the fourth column of -/etc/fstab for the line which controls mounting of + CCE-86233-4: Ensure PAM Enforces Password Requirements - Prevent the Use of Dictionary WordsIf the operating system allows the user to select passwords based on dictionary words, then this increases the chances of password compromise by increasing the opportunity for successful guesses and brute-force attacks.The pam_pwquality module's dictcheck check if passwords contains dictionary words. When +dictcheck is set to 1 passwords will be checked for dictionary words. Applicable - ConfigurableVerify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify file systems that are used for removable media are mounted with the "nosuid" option with the following command: - -$ sudo more /etc/fstab + Verify the operating system prevents the use of dictionary words for passwords. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 prevents the use of dictionary words for passwords with the following command: -UUID=2bc871e4-e2a3-4f29-9ece-3be60c835222 /mnt/usbflash vfat noauto,owner,ro,nosuid,nodev,noexec 0 0 Is it the case that file system found in "/etc/fstab" refers to removable media and it does not have the "nosuid" option set?Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The nosuid mount option prevents set-user-identifier (SUID) -and set-group-identifier (SGID) permissions from taking effect. These permissions -allow users to execute binaries with the same permissions as the owner and group -of the file respectively. Users should not be allowed to introduce SUID and SGID -files into the system via partitions mounted from removeable media. -Add the nosuid option to the fourth column of -/etc/fstab for the line which controls mounting of +
$ sudo grep dictcheck /etc/security/pwquality.conf /etc/pwquality.conf.d/*.conf
 
-    any removable media partitions.
Configure the operating system to prevent the use of dictionary words for passwords.The pam_pwquality module's dictcheck check if passwords contains dictionary words. When +dictcheck is set to 1 passwords will be checked for dictionary words. medium
CCI-000366SRG-OS-000480-GPOS-00227TBD - Assigned by DISA after STIG releaseThe operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82904-4: Uninstall tuned PackageConfiguring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. -Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The tuned package can be removed with the following command: -
-$ sudo yum erase tuned
Applicable - ConfigurableVerify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Run the following command to determine if the tuned package is installed: -
$ rpm -q tuned
Is it the case that the package is installed?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The tuned package can be removed with the following command: -
-$ sudo yum erase tuned
medium
CCI-000366SRG-OS-000480-GPOS-00227SRG-OS-000480-GPOS-00226 TBD - Assigned by DISA after STIG releaseThe operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-83499-4: Ensure All Files Are Owned by a UserThe operating system must enforce a delay of at least 4 seconds between logon prompts following a failed logon attempt.Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. + CCE-84037-1: Ensure the Logon Failure Delay is Set Correctly in login.defsIf 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. The following command will discover and print -any files on local partitions which do not belong to a valid user: -
$ df --local -P | awk {'if (NR!=1) print $6'} | sudo xargs -I '{}' find '{}' -xdev -nouser
-To search all filesystems on a system including network mounted -filesystems the following command can be run manually for each partition: -
$ sudo find PARTITION -xdev -nouser
Limiting the number of logon attempts over a certain time interval reduces the chances that an unauthorized user may gain access to an account.To ensure the logon failure delay controlled by /etc/login.defs is set properly, +add or correct the FAIL_DELAY setting in /etc/login.defs to read as follows: +
FAIL_DELAY 
Applicable - ConfigurableVerify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The following command will discover and print any -files on local partitions which do not belong to a valid user. -
$ df --local -P | awk {'if (NR!=1) print $6'} | sudo xargs -I '{}' find '{}' -xdev -nouser
-

-Either remove all files and directories from the system that do not have a -valid user, or assign a valid user to all unowned files and directories on -the system with the chown command: -
$ sudo chown user file
Is it the case that files exist that are not owned by a valid user?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.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. The following command will discover and print -any files on local partitions which do not belong to a valid user: -
$ df --local -P | awk {'if (NR!=1) print $6'} | sudo xargs -I '{}' find '{}' -xdev -nouser
-To search all filesystems on a system including network mounted -filesystems the following command can be run manually for each partition: -
$ sudo find PARTITION -xdev -nouser
Verify the operating system enforces a delay of at least 4 seconds between logon prompts following a failed logon attempt. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 enforces a delay of at least seconds between console logon prompts following a failed logon attempt with the following command: + +
$ sudo grep -i "FAIL_DELAY" /etc/login.defs
+FAIL_DELAY 
Is it the case that the value of "FAIL_DELAY" is not set to "" or greater, or the line is commented out?
Configure the operating system to enforce a delay of at least 4 seconds between logon prompts following a failed logon attempt.To ensure the logon failure delay controlled by /etc/login.defs is set properly, +add or correct the FAIL_DELAY setting in /etc/login.defs to read as follows: +
FAIL_DELAY 
medium
CCI-000366 SRG-OS-000480-GPOS-00227 TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80947-5: The Installed Operating System Is Vendor SupportedCCE-80834-5: Disable SCTP Support Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The installed operating system must be maintained by a vendor. + The Stream Control Transmission Protocol (SCTP) is a +transport layer protocol, designed to support the idea of +message-oriented communication, with several streams of messages +within one connection. -Red Hat Enterprise Linux is supported by Red Hat, Inc. As the Red Hat Enterprise -Linux vendor, Red Hat, Inc. is responsible for providing security patches. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To verify that the installed operating system is supported, run -the following command: + +If the system is configured to prevent the loading of the sctp kernel module, +it will contain lines inside any file in /etc/modprobe.d or the deprecated /etc/modprobe.conf. +These lines instruct the module loading system to run another program (such as /bin/true) upon a module install event. -
$ grep -i "red hat" /etc/redhat-release
+These lines can also instruct the module loading system to ignore the sctp kernel module via blacklist keyword. -
Red Hat Enterprise Linux 8
Is it the case that the installed operating system is not supported?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The installed operating system must be maintained by a vendor. + The Stream Control Transmission Protocol (SCTP) is a +transport layer protocol, designed to support the idea of +message-oriented communication, with several streams of messages +within one connection. -Red Hat Enterprise Linux is supported by Red Hat, Inc. As the Red Hat Enterprise -Linux vendor, Red Hat, Inc. is responsible for providing security patches.highmedium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80877-4: Verify firewalld EnabledCCE-80901-2: Disable SSH Root Login Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections. -The firewalld service can be enabled with the following command: -
$ sudo systemctl enable firewalld.service
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 + + +/etc/ssh/sshd_config: + +
PermitRootLogin no
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding. + To determine how the SSH daemon's PermitRootLogin option is set, run the following command: -Run the following command to determine the current status of the -firewalld service: -
$ sudo systemctl is-active firewalld
-If the service is running, it should return the following:
active
Is it the case that the "firewalld" service is disabled, masked, or not started.?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. -The firewalld service can be enabled with the following command: -
$ sudo systemctl enable firewalld.service
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 + + +/etc/ssh/sshd_config: + +
PermitRootLogin no
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-83497-8: Ensure All Files Are Owned by a GroupCCE-80664-6: Ensure PAM Enforces Password Requirements - Authentication Retry Prompts Permitted Per-Session Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.If any files are not owned by a group, then the -cause of their lack of group-ownership should be investigated. -Following this, the files should be deleted or assigned to an -appropriate group. The following command will discover and print -any files on local partitions which do not belong to a valid group: -
$ df --local -P | awk '{if (NR!=1) print $6}' | sudo xargs -I '{}' find '{}' -xdev -nogroup
-To search all filesystems on a system including network mounted -filesystems the following command can be run manually for each partition: -
$ sudo find PARTITION -xdev -nogroup
To configure the number of retry prompts that are permitted per-session: + +Edit the /etc/security/pwquality.conf to include + +retry=, or a lower value if site +policy is more restrictive. The DoD requirement is a maximum of 3 prompts +per session. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The following command will discover and print any -files on local partitions which do not belong to a valid group. -
$ df --local -P | awk '{if (NR!=1) print $6}' | sudo xargs -I '{}' find '{}' -xdev -nogroup
-
-Either remove all files and directories from the system that do not have a valid group, -or assign a valid group with the chgrp command: -
$ sudo chgrp group file
Is it the case that there is output?
Verify Red Hat Enterprise Linux 8 is configured to limit the "pwquality" retry option to . + + +Check for the use of the "pwquality" retry option in the pwquality.conf file with the following command: +
$ grep retry /etc/security/pwquality.conf
Is it the case that the value of "retry" is set to "0" or greater than "", or is missing?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.If any files are not owned by a group, then the -cause of their lack of group-ownership should be investigated. -Following this, the files should be deleted or assigned to an -appropriate group. The following command will discover and print -any files on local partitions which do not belong to a valid group: -
$ df --local -P | awk '{if (NR!=1) print $6}' | sudo xargs -I '{}' find '{}' -xdev -nogroup
-To search all filesystems on a system including network mounted -filesystems the following command can be run manually for each partition: -
$ sudo find PARTITION -xdev -nogroup
To configure the number of retry prompts that are permitted per-session: + +Edit the /etc/security/pwquality.conf to include + +retry=, or a lower value if site +policy is more restrictive. The DoD requirement is a maximum of 3 prompts +per session. medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82974-7: Disable Access to Network bpf() Syscall From Unprivileged ProcessesCCE-86195-5: Disable the GNOME3 Login User List Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the kernel.unprivileged_bpf_disabled kernel parameter, run the following command:
$ sudo sysctl -w kernel.unprivileged_bpf_disabled=1
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.unprivileged_bpf_disabled = 1
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 disable-user-list +to true. +

+To disable, add or edit disable-user-list to +/etc/dconf/db/gdm.d/00-security-settings. For example: +
[org/gnome/login-screen]
+disable-user-list=true
+Once 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-list
+After the settings have been set, run dconf update.
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the kernel.unprivileged_bpf_disabled kernel parameter can be queried -by running the following command: -
$ sysctl kernel.unprivileged_bpf_disabled
-1. - Is it the case that the correct value is not returned?
To ensure the user list is disabled, run the following command: +
$ grep disable-user-list /etc/dconf/db/gdm.d/*
+The output should be true. +To ensure that users cannot enable displaying the user list, run the following: +
$ grep disable-user-list /etc/dconf/db/gdm.d/locks/*
+If properly configured, the output should be /org/gnome/login-screen/disable-user-list Is it the case that disable-user-list has not been configured or is not disabled?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the kernel.unprivileged_bpf_disabled kernel parameter, run the following command:
$ sudo sysctl -w kernel.unprivileged_bpf_disabled=1
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.unprivileged_bpf_disabled = 1
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 disable-user-list +to true. +

+To disable, add or edit disable-user-list to +/etc/dconf/db/gdm.d/00-security-settings. For example: +
[org/gnome/login-screen]
+disable-user-list=true
+Once 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-list
+After the settings have been set, run dconf update.
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-81011-9: Disable Kernel Parameter for Accepting Source-Routed Packets on all IPv4 InterfacesCCE-84056-1: Remove User Host-Based Authentication Files Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the net.ipv4.conf.all.accept_source_route kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.all.accept_source_route=0
-To 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
The ~/.shosts (in each user's home directory) files +list remote hosts and users that are trusted by the +local system. To remove these files, run the following command +to delete them from any location: +
$ sudo find / -name '.shosts' -type f -delete
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the net.ipv4.conf.all.accept_source_route kernel parameter can be queried -by running the following command: -
$ sysctl net.ipv4.conf.all.accept_source_route
-0. - Is it the case that the correct value is not returned?
To verify that there are no .shosts files +on the system, run the following command: +
$ sudo find / -name '.shosts'
Is it the case that .shosts files exist?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the net.ipv4.conf.all.accept_source_route kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.all.accept_source_route=0
-To 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
mediumThe ~/.shosts (in each user's home directory) files +list remote hosts and users that are trusted by the +local system. To remove these files, run the following command +to delete them from any location: +
$ sudo find / -name '.shosts' -type f -delete
high TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80952-5: Disable Kernel Image LoadingCCE-86377-9: Ensure sudo only includes the default configuration directory Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the kernel.kexec_load_disabled kernel parameter, run the following command:
$ sudo sysctl -w kernel.kexec_load_disabled=1
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.kexec_load_disabled = 1
Administrators can configure authorized sudo users via drop-in files, and it is possible to include +other directories and configuration files from the file currently being parsed. + +Make sure that /etc/sudoers only includes drop-in configuration files from /etc/sudoers.d, +or that no drop-in file is included. +Either the /etc/sudoers should contain only one #includedir directive pointing to +/etc/sudoers.d, and no file in /etc/sudoers.d/ should include other files or directories; +Or the /etc/sudoers should not contain any #include, +@include, #includedir or @includedir directives. +Note that the '#' character doesn't denote a comment in the configuration file. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the kernel.kexec_load_disabled kernel parameter can be queried -by running the following command: -
$ sysctl kernel.kexec_load_disabled
-1. - Is it the case that the correct value is not returned?
To determine whether sudo command includes configuration files from the appropriate directory, +run the following command: +
$ sudo grep -rP '^[#@]include(dir)?' /etc/sudoers /etc/sudoers.d
+If only the line /etc/sudoers:#includedir /etc/sudoers.d is returned, then the drop-in include configuration is set correctly. +Any other line returned is a finding. Is it the case that the /etc/sudoers doesn't include /etc/sudores.d or includes other directories??
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the kernel.kexec_load_disabled kernel parameter, run the following command:
$ sudo sysctl -w kernel.kexec_load_disabled=1
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.kexec_load_disabled = 1
Administrators can configure authorized sudo users via drop-in files, and it is possible to include +other directories and configuration files from the file currently being parsed. + +Make sure that /etc/sudoers only includes drop-in configuration files from /etc/sudoers.d, +or that no drop-in file is included. +Either the /etc/sudoers should contain only one #includedir directive pointing to +/etc/sudoers.d, and no file in /etc/sudoers.d/ should include other files or directories; +Or the /etc/sudoers should not contain any #include, +@include, #includedir or @includedir directives. +Note that the '#' character doesn't denote a comment in the configuration file. medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80878-2: Disable KDump Kernel Crash Analyzer (kdump)CCE-82863-2: Disable Kernel Parameter for IPv6 Forwarding Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The kdump service provides a kernel crash dump analyzer. It uses the kexec -system call to boot a secondary kernel ("capture" kernel) following a system -crash, which can load information from the crashed kernel for analysis. - -The kdump service can be disabled with the following command: -
$ sudo systemctl mask --now kdump.service
To set the runtime status of the net.ipv6.conf.all.forwarding kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.all.forwarding=0
+To 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
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To check that the kdump service is disabled in system boot configuration, -run the following command: -
$ sudo systemctl is-enabled kdump
-Output should indicate the kdump service has either not been installed, -or has been disabled at all runlevels, as shown in the example below: -
$ sudo systemctl is-enabled kdump
disabled
- -Run the following command to verify kdump is not active (i.e. not running) through current runtime configuration: -
$ sudo systemctl is-active kdump
- -If the service is not running the command will return the following output: -
inactive
- -The service will also be masked, to check that the kdump is masked, run the following command: -
$ sudo systemctl show kdump | grep "LoadState\|UnitFileState"
- -If the service is masked the command will return the following outputs: - -
LoadState=masked
- -
UnitFileState=masked
Is it the case that the "kdump" is loaded and not masked?
The runtime status of the net.ipv6.conf.all.forwarding kernel parameter can be queried +by running the following command: +
$ sysctl net.ipv6.conf.all.forwarding
+0. +The ability to forward packets is only appropriate for routers. Is it the case that IP forwarding value is "1" and the system is not router?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The kdump service provides a kernel crash dump analyzer. It uses the kexec -system call to boot a secondary kernel ("capture" kernel) following a system -crash, which can load information from the crashed kernel for analysis. - -The kdump service can be disabled with the following command: -
$ sudo systemctl mask --now kdump.service
To set the runtime status of the net.ipv6.conf.all.forwarding kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.all.forwarding=0
+To 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
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80876-6: Disable debug-shell SystemD ServiceCCE-81044-0: Ensure /home Located On Separate Partition Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.SystemD's debug-shell service is intended to -diagnose SystemD related boot issues with various systemctl -commands. Once enabled and following a system reboot, the root shell -will be available on tty9 which is access by pressing -CTRL-ALT-F9. The debug-shell service should only be used -for SystemD related issues and should otherwise be disabled. -

-By default, the debug-shell SystemD service is already disabled. - -The debug-shell service can be disabled with the following command: -
$ sudo systemctl mask --now debug-shell.service
If user home directories will be stored locally, create a separate partition +for /home at installation time (or migrate it later using LVM). If +/home will be mounted from another system such as an NFS server, then +creating a separate partition is not necessary at installation time, and the +mountpoint can instead be configured later. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To check that the debug-shell service is disabled in system boot configuration, -run the following command: -
$ sudo systemctl is-enabled debug-shell
-Output should indicate the debug-shell service has either not been installed, -or has been disabled at all runlevels, as shown in the example below: -
$ sudo systemctl is-enabled debug-shell
disabled
- -Run the following command to verify debug-shell is not active (i.e. not running) through current runtime configuration: -
$ sudo systemctl is-active debug-shell
- -If the service is not running the command will return the following output: -
inactive
- -The service will also be masked, to check that the debug-shell is masked, run the following command: -
$ sudo systemctl show debug-shell | grep "LoadState\|UnitFileState"
- -If the service is masked the command will return the following outputs: - -
LoadState=masked
+
Verify that a separate file system/partition has been created for /home with the following command: -
UnitFileState=masked
Is it the case that the "debug-shell" is loaded and not masked?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.SystemD's debug-shell service is intended to -diagnose SystemD related boot issues with various systemctl -commands. Once enabled and following a system reboot, the root shell -will be available on tty9 which is access by pressing -CTRL-ALT-F9. The debug-shell service should only be used -for SystemD related issues and should otherwise be disabled. -

-By default, the debug-shell SystemD service is already disabled. - -The debug-shell service can be disabled with the following command: -
$ sudo systemctl mask --now debug-shell.service
mediumIf user home directories will be stored locally, create a separate partition +for /home at installation time (or migrate it later using LVM). If +/home will be mounted from another system such as an NFS server, then +creating a separate partition is not necessary at installation time, and the +mountpoint can instead be configured later.low TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-83411-9: Disable graphical user interfaceCCE-80916-0: Enable Randomized Layout of Virtual Address Space Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.By removing the following packages, the system no longer has X Windows installed. - -xorg-x11-server-Xorg xorg-x11-server-common xorg-x11-server-utils xorg-x11-server-Xwayland - -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 graphical.target -mode. To do so, run the following command: - -
sudo yum remove xorg-x11-server-Xorg xorg-x11-server-common xorg-x11-server-utils xorg-x11-server-Xwayland
To set the runtime status of the kernel.randomize_va_space kernel parameter, run the following command:
$ sudo sysctl -w kernel.randomize_va_space=2
+To 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
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To ensure the X Windows package group is removed, run the following command: - -
$ rpm -qi xorg-x11-server-Xorg xorg-x11-server-common xorg-x11-server-utils xorg-x11-server-Xwayland
- -For each package mentioned above you should receive following line: -
package <package> is not installed
Is it the case that xorg related packages are not removed and run level is not correctly configured?
The runtime status of the kernel.randomize_va_space kernel parameter can be queried +by running the following command: +
$ sysctl kernel.randomize_va_space
+2. + Is it the case that the correct value is not returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.By removing the following packages, the system no longer has X Windows installed. - -xorg-x11-server-Xorg xorg-x11-server-common xorg-x11-server-utils xorg-x11-server-Xwayland - -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 graphical.target -mode. To do so, run the following command: - -
sudo yum remove xorg-x11-server-Xorg xorg-x11-server-common xorg-x11-server-utils xorg-x11-server-Xwayland
To set the runtime status of the kernel.randomize_va_space kernel parameter, run the following command:
$ sudo sysctl -w kernel.randomize_va_space=2
+To 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
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80859-2: Ensure cron Is Logging To RsyslogCCE-81021-8: Enable Kernel Parameter to Use Reverse Path Filtering on all IPv4 Interfaces Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Cron logging must be implemented to spot intrusions or trace -cron job status. If cron is not logging to rsyslog, it -can be implemented by adding the following to the RULES section of -/etc/rsyslog.conf: -
cron.*                                                  /var/log/cron
To set the runtime status of the net.ipv4.conf.all.rp_filter kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.all.rp_filter=1
+To 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
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify that cron is logging to rsyslog, -run the following command: -
grep -rni "cron\.\*" /etc/rsyslog.*
-
cron.*                                                  /var/log/cron
Is it the case that cron is not logging to rsyslog?
The runtime status of the net.ipv4.conf.all.rp_filter parameter can be queried +by running the following command: +
$ sysctl net.ipv4.conf.all.rp_filter
+The output of the command should indicate either: +net.ipv4.conf.all.rp_filter = 1 +or: +net.ipv4.conf.all.rp_filter = 2 +The output of the command should not indicate: +net.ipv4.conf.all.rp_filter = 0 + +The preferable way how to assure the runtime compliance is to have +correct persistent configuration, and rebooting the system. + +The persistent sysctl parameter configuration is performed by specifying the appropriate +assignment in any file located in the
/etc/sysctl.d
directory. +Verify that there is not any existing incorrect configuration by executing the following command: +
$ grep -r '^\s*net.ipv4.conf.all.rp_filter\s*=' /etc/sysctl.conf /etc/sysctl.d
+The command should not find any assignments other than: +net.ipv4.conf.all.rp_filter = 1 +or: +net.ipv4.conf.all.rp_filter = 2 + +Conflicting assignments are not allowed. Is it the case that the net.ipv4.conf.all.rp_filter is not set to 1 or 2 or is configured to be 0?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Cron logging must be implemented to spot intrusions or trace -cron job status. If cron is not logging to rsyslog, it -can be implemented by adding the following to the RULES section of -/etc/rsyslog.conf: -
cron.*                                                  /var/log/cron
To set the runtime status of the net.ipv4.conf.all.rp_filter kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.all.rp_filter=1
+To 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
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-81039-0: Uninstall Sendmail PackageCCE-80944-2: Enable page allocator poisoning Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Sendmail is not the default mail transfer agent and is -not installed by default. -The sendmail package can be removed with the following command: -
-$ sudo yum erase sendmail
To enable poisoning of free pages, +add the argument page_poison=1 to the default +GRUB 2 command line for the Linux operating system. +To ensure that page_poison=1 is added as a kernel command line +argument to newly installed kernels, add page_poison=1 to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... page_poison=1 ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="page_poison=1"
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Run the following command to determine if the sendmail package is installed: -
$ rpm -q sendmail
Is it the case that the package is installed?
Inspect the form of default GRUB 2 command line for the Linux operating system +in /etc/default/grub. If it includes page_poison=1, +then the parameter will be configured for newly installed kernels. +First check if the GRUB recovery is enabled: +
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
+If this option is set to true, then check that a line is output by the following command: +
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*page_poison=1.*' /etc/default/grub
+If the recovery is disabled, check the line with +
$ sudo grep 'GRUB_CMDLINE_LINUX.*page_poison=1.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. +Run the following command: +
$ sudo grubby --info=ALL | grep args | grep -v 'page_poison=1'
+The command should not return any output. Is it the case that page allocator poisoning is not enabled?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Sendmail is not the default mail transfer agent and is -not installed by default. -The sendmail package can be removed with the following command: -
-$ sudo yum erase sendmail
To enable poisoning of free pages, +add the argument page_poison=1 to the default +GRUB 2 command line for the Linux operating system. +To ensure that page_poison=1 is added as a kernel command line +argument to newly installed kernels, add page_poison=1 to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... page_poison=1 ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="page_poison=1"
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82831-9: Enable the Hardware RNG Entropy Gatherer ServiceCCE-86534-5: All User Files and Directories In The Home Directory Must Be Group-Owned By The Primary Group Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The Hardware RNG Entropy Gatherer service should be enabled. + Change the group of a local interactive users files and directories to a +group that the interactive user is a member of. To change the group owner of a +local interactive users files and directories, use the following command: +
$ sudo chgrp USER_GROUP /home/USER/FILE_DIR
-The rngd service can be enabled with the following command: -
$ sudo systemctl enable rngd.service
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding. - -Run the following command to determine the current status of the -rngd service: -
$ sudo systemctl is-active rngd
-If the service is running, it should return the following:
active
Is it the case that the "rngd" service is disabled, masked, or not started.?
To verify all files and directories in interactive user home directory are +group-owned by a group the user is a member of, run the +following command: +
$ sudo ls -lLR /home/USER
Is it the case that the group ownership is incorrect?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The Hardware RNG Entropy Gatherer service should be enabled. + Change the group of a local interactive users files and directories to a +group that the interactive user is a member of. To change the group owner of a +local interactive users files and directories, use the following command: +
$ sudo chgrp USER_GROUP /home/USER/FILE_DIR
-The rngd service can be enabled with the following command: -
$ sudo systemctl enable rngd.service
lowmedium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-84036-3: All Interactive Users Must Have A Home Directory DefinedCCE-82974-7: Disable Access to Network bpf() Syscall From Unprivileged Processes Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Assign home directories to all interactive users that currently do not -have a home directory assigned. - -This rule checks if the home directory is properly defined in a folder which has -at least one parent folder, like "user" in "/home/user" or "/remote/users/user". -Therefore, this rule will report a finding for home directories like /users, -/tmp or /.To set the runtime status of the kernel.unprivileged_bpf_disabled kernel parameter, run the following command:
$ sudo sysctl -w kernel.unprivileged_bpf_disabled=1
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.unprivileged_bpf_disabled = 1
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify that interactive users on the system have a home directory assigned with the following command: - -
$ sudo awk -F: '($3>=1000)&&($7 !~ /nologin/){print $1, $3, $6}' /etc/passwd
- -Inspect the output and verify that all interactive users (normally users with a UID greater than 1000) have a home directory defined. Is it the case that users home directory is not defined?
The runtime status of the kernel.unprivileged_bpf_disabled kernel parameter can be queried +by running the following command: +
$ sysctl kernel.unprivileged_bpf_disabled
+1. + Is it the case that the correct value is not returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Assign home directories to all interactive users that currently do not -have a home directory assigned. - -This rule checks if the home directory is properly defined in a folder which has -at least one parent folder, like "user" in "/home/user" or "/remote/users/user". -Therefore, this rule will report a finding for home directories like /users, -/tmp or /.To set the runtime status of the kernel.unprivileged_bpf_disabled kernel parameter, run the following command:
$ sudo sysctl -w kernel.unprivileged_bpf_disabled=1
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.unprivileged_bpf_disabled = 1
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82201-5: Resolve information before writing to audit logsCCE-82968-9: Install rng-tools Package Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To configure Audit daemon to resolve all uid, gid, syscall, -architecture, and socket address information before writing the -events to disk, set log_format to ENRICHED -in /etc/audit/auditd.conf.The rng-tools package can be installed with the following command: +
+$ sudo yum install rng-tools
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To verify that Audit Daemon is configured to resolve all uid, gid, syscall, -architecture, and socket address information before writing the event to disk, -run the following command: -
$ sudo grep log_format /etc/audit/auditd.conf
-The output should return the following: -
log_format = ENRICHED
Is it the case that log_format isn't set to ENRICHED?
Run the following command to determine if the rng-tools package is installed:
$ rpm -q rng-tools
Is it the case that the package is not installed?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To configure Audit daemon to resolve all uid, gid, syscall, -architecture, and socket address information before writing the -events to disk, set log_format to ENRICHED -in /etc/audit/auditd.conf.The rng-tools package can be installed with the following command: +
+$ sudo yum install rng-tools
low TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80897-2: Disable GSSAPI AuthenticationCCE-81050-7: Add nosuid Option to /home Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Unless needed, SSH should not permit extraneous or unnecessary -authentication mechanisms like GSSAPI. -
-The default SSH configuration disallows authentications based on GSSAPI. The appropriate -configuration is used if no value is set for GSSAPIAuthentication. -
-To explicitly disable GSSAPI authentication, add or correct the following line in - - -/etc/ssh/sshd_config: - -
GSSAPIAuthentication no
The nosuid mount option can be used to prevent +execution of setuid programs in /home. The SUID and SGID permissions +should not be required in these user data directories. +Add the nosuid option to the fourth column of +/etc/fstab for the line which controls mounting of +/home. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To determine how the SSH daemon's GSSAPIAuthentication option is set, run the following command: - -
$ sudo grep -i GSSAPIAuthentication /etc/ssh/sshd_config
- -If a line indicating no is returned, then the required value is set. - Is it the case that the required value is not set?
Verify the nosuid option is configured for the /home mount point, + run the following command: +
$ sudo mount | grep '\s/home\s'
+
. . . /home . . . nosuid . . .
+ Is it the case that the "/home" file system does not have the "nosuid" option set?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Unless needed, SSH should not permit extraneous or unnecessary -authentication mechanisms like GSSAPI. -
-The default SSH configuration disallows authentications based on GSSAPI. The appropriate -configuration is used if no value is set for GSSAPIAuthentication. -
-To explicitly disable GSSAPI authentication, add or correct the following line in - - -/etc/ssh/sshd_config: - -
GSSAPIAuthentication no
The nosuid mount option can be used to prevent +execution of setuid programs in /home. The SUID and SGID permissions +should not be required in these user data directories. +Add the nosuid option to the fourth column of +/etc/fstab for the line which controls mounting of +/home. medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-81007-7: Disable Accepting Router Advertisements on all IPv6 Interfaces by DefaultCCE-82859-0: Ensure rsyslog-gnutls is installed Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the net.ipv6.conf.default.accept_ra kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.default.accept_ra=0
-To 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
TLS protocol support for rsyslog is installed. + +The rsyslog-gnutls package can be installed with the following command: +
+$ sudo yum install rsyslog-gnutls
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the net.ipv6.conf.default.accept_ra kernel parameter can be queried -by running the following command: -
$ sysctl net.ipv6.conf.default.accept_ra
-0. - Is it the case that the correct value is not returned?
Run the following command to determine if the rsyslog-gnutls package is installed: +
$ rpm -q rsyslog-gnutls
Is it the case that the package is installed?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the net.ipv6.conf.default.accept_ra kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.default.accept_ra=0
-To 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
TLS protocol support for rsyslog is installed. + +The rsyslog-gnutls package can be installed with the following command: +
+$ sudo yum install rsyslog-gnutls
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82998-6: Install firewalld PackageCCE-84052-0: Mount Remote Filesystems with nodev Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The firewalld package can be installed with the following command: -
-$ sudo yum install firewalld
Add the nodev option to the fourth column of /etc/fstab for the line which controls mounting of +any NFS mounts. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Run the following command to determine if the firewalld package is installed:
$ rpm -q firewalld
Is it the case that the package is not installed?
To verify the nodev option is configured for all NFS mounts, run +the following command: +
$ mount | grep nfs
+All NFS mounts should show the nodev setting in parentheses. This +is not applicable if NFS is not implemented. Is it the case that the setting does not show?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The firewalld package can be installed with the following command: -
-$ sudo yum install firewalld
Add the nodev option to the fourth column of /etc/fstab for the line which controls mounting of +any NFS mounts. medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-83380-6: Disable X Windows Startup By Setting Default TargetCCE-82742-8: Add nodev Option to Removable Media Partitions Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Systems that do not require a graphical user interface should only boot by -default into multi-user.target mode. This prevents accidental booting of the system -into a graphical.target mode. Setting the system's default target to -multi-user.target will prevent automatic startup of the X server. To do so, run: -
$ systemctl set-default multi-user.target
-You should see the following output: -
Removed symlink /etc/systemd/system/default.target.
-Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
The nodev mount option prevents files from being +interpreted as character or block devices. +Legitimate character and block devices should exist only in +the /dev directory on the root partition or within chroot +jails built for system services. +Add the nodev option to the fourth column of +/etc/fstab for the line which controls mounting of + + any removable media partitions. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify that Red Hat Enterprise Linux 8 is configured to boot to the command line: -
$ systemctl get-default
-
multi-user.target
Is it the case that the system default target is not set to "multi-user.target" and the Information System Security Officer (ISSO) lacks a documented requirement for a graphical user interface?
Verify file systems that are used for removable media are mounted with the "nodev" option with the following command: + +$ sudo more /etc/fstab + +UUID=2bc871e4-e2a3-4f29-9ece-3be60c835222 /mnt/usbflash vfat noauto,owner,ro,nosuid,nodev,noexec 0 0 Is it the case that a file system found in "/etc/fstab" refers to removable media and it does not have the "nodev" option set? Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Systems that do not require a graphical user interface should only boot by -default into multi-user.target mode. This prevents accidental booting of the system -into a graphical.target mode. Setting the system's default target to -multi-user.target will prevent automatic startup of the X server. To do so, run: -
$ systemctl set-default multi-user.target
-You should see the following output: -
Removed symlink /etc/systemd/system/default.target.
-Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
The nodev mount option prevents files from being +interpreted as character or block devices. +Legitimate character and block devices should exist only in +the /dev directory on the root partition or within chroot +jails built for system services. +Add the nodev option to the fourth column of +/etc/fstab for the line which controls mounting of + + any removable media partitions. medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82730-3: Ensure /var/tmp Located On Separate PartitionCCE-84055-3: Remove Host-Based Authentication Files Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The /var/tmp directory is a world-writable directory used -for temporary file storage. Ensure it has its own partition or -logical volume at installation time, or migrate it using LVM.The shosts.equiv file lists remote hosts and users that are trusted by the local +system. To remove these files, run the following command to delete them from any location: +
$ sudo rm /[path]/[to]/[file]/shosts.equiv
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify that a separate file system/partition has been created for /var/tmp with the following command: - -
$ mountpoint /var/tmp
- Is it the case that "/var/tmp is not a mountpoint" is returned?
Verify that there are no shosts.equiv files on the system, run the following command: +
$ find / -name shosts.equiv
Is it the case that shosts.equiv files exist?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The /var/tmp directory is a world-writable directory used -for temporary file storage. Ensure it has its own partition or -logical volume at installation time, or migrate it using LVM.mediumThe shosts.equiv file lists remote hosts and users that are trusted by the local +system. To remove these files, run the following command to delete them from any location: +
$ sudo rm /[path]/[to]/[file]/shosts.equiv
high TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-86195-5: Disable the GNOME3 Login User ListCCE-80952-5: Disable Kernel Image Loading Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.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 disable-user-list -to true. -

-To disable, add or edit disable-user-list to -/etc/dconf/db/gdm.d/00-security-settings. For example: -
[org/gnome/login-screen]
-disable-user-list=true
-Once 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-list
-After the settings have been set, run dconf update.
To set the runtime status of the kernel.kexec_load_disabled kernel parameter, run the following command:
$ sudo sysctl -w kernel.kexec_load_disabled=1
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.kexec_load_disabled = 1
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To ensure the user list is disabled, run the following command: -
$ grep disable-user-list /etc/dconf/db/gdm.d/*
-The output should be true. -To ensure that users cannot enable displaying the user list, run the following: -
$ grep disable-user-list /etc/dconf/db/gdm.d/locks/*
-If properly configured, the output should be /org/gnome/login-screen/disable-user-list Is it the case that disable-user-list has not been configured or is not disabled?
The runtime status of the kernel.kexec_load_disabled kernel parameter can be queried +by running the following command: +
$ sysctl kernel.kexec_load_disabled
+1. + Is it the case that the correct value is not returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.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 disable-user-list -to true. -

-To disable, add or edit disable-user-list to -/etc/dconf/db/gdm.d/00-security-settings. For example: -
[org/gnome/login-screen]
-disable-user-list=true
-Once 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-list
-After the settings have been set, run dconf update.
To set the runtime status of the kernel.kexec_load_disabled kernel parameter, run the following command:
$ sudo sysctl -w kernel.kexec_load_disabled=1
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.kexec_load_disabled = 1
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80835-2: Disable Modprobe Loading of USB Storage DriverCCE-84039-7: User Initialization Files Must Not Run World-Writable Programs Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.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 usb-storage -kernel module from being loaded, add the following line to the file /etc/modprobe.d/usb-storage.conf: -
install usb-storage /bin/true
- -To configure the system to prevent the usb-storage from being used, -add the following line to file /etc/modprobe.d/usb-storage.conf: -
blacklist usb-storage
- -This 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.
Set the mode on files being executed by the user initialization files with the +following command: +
$ sudo chmod o-w FILE
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding. -If the system is configured to prevent the loading of the usb-storage kernel module, -it will contain lines inside any file in /etc/modprobe.d or the deprecated /etc/modprobe.conf. -These lines instruct the module loading system to run another program (such as /bin/true) upon a module install event. + Verify that local initialization files do not execute world-writable programs with the following command: -These lines can also instruct the module loading system to ignore the usb-storage kernel module via blacklist keyword. +Note: The example will be for a system that is configured to create user home directories in the "/home" directory. -Run the following command to search for such lines in all files in /etc/modprobe.d and the deprecated /etc/modprobe.conf: -
$ grep -r usb-storage /etc/modprobe.conf /etc/modprobe.d
Is it the case that no line is returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.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 usb-storage -kernel module from being loaded, add the following line to the file /etc/modprobe.d/usb-storage.conf: -
install usb-storage /bin/true
- -To configure the system to prevent the usb-storage from being used, -add the following line to file /etc/modprobe.d/usb-storage.conf: -
blacklist usb-storage
- -This 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.
Set the mode on files being executed by the user initialization files with the +following command: +
$ sudo chmod o-w FILE
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82424-3: Verify Permissions on SSH Server Private *_key Key FilesCCE-81015-0: Disable Kernel Parameter for Accepting Source-Routed Packets on IPv6 Interfaces by Default Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.SSH server private keys - files that match the /etc/ssh/*_key glob, have to have restricted permissions. -If those files are owned by the root user and the root group, they have to have the 0600 permission or stricter. -If they are owned by the root user, but by a dedicated group ssh_keys, they can have the 0640 permission or stricter.To set the runtime status of the net.ipv6.conf.default.accept_source_route kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.default.accept_source_route=0
+To 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
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To check the permissions of /etc/ssh/*_key, -run the command: -
$ ls -l /etc/ssh/*_key
-If properly configured, the output should indicate the following permissions: --rw------- Is it the case that /etc/ssh/*_key does not have unix mode -rw-------?
The runtime status of the net.ipv6.conf.default.accept_source_route kernel parameter can be queried +by running the following command: +
$ sysctl net.ipv6.conf.default.accept_source_route
+0. + Is it the case that the correct value is not returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.SSH server private keys - files that match the /etc/ssh/*_key glob, have to have restricted permissions. -If those files are owned by the root user and the root group, they have to have the 0600 permission or stricter. -If they are owned by the root user, but by a dedicated group ssh_keys, they can have the 0640 permission or stricter.To set the runtime status of the net.ipv6.conf.default.accept_source_route kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.default.accept_source_route=0
+To 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
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80865-9: Ensure Software Patches InstalledCCE-85953-8: Ensure There Are No Accounts With Blank or Null Passwords Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections. -If the system is joined to the Red Hat Network, a Red Hat Satellite Server, -or a yum server, run the following command to install updates: -
$ sudo yum update
-If the system is not configured to use one of these sources, updates (in the form of RPM packages) -can be manually downloaded from the Red Hat Network and installed using rpm. - -

-NOTE: U.S. Defense systems are required to be patched within 30 days or sooner as local policy -dictates.
Check the "/etc/shadow" file for blank passwords with the +following command: +
$ sudo awk -F: '!$2 {print $1}' /etc/shadow
+If 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]
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify Red Hat Enterprise Linux 8 security patches and updates are installed and up to date. -Updates are required to be applied with a frequency determined by organizational policy. + To verify that null passwords cannot be used, run the following command: +
$ sudo awk -F: '!$2 {print $1}' /etc/shadow
+If this produces any output, it may be possible to log into accounts +with empty passwords. Is it the case that Blank or NULL passwords can be used?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Check the "/etc/shadow" file for blank passwords with the +following command: +
$ sudo awk -F: '!$2 {print $1}' /etc/shadow
+If 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]
high
CCI-000366SRG-OS-000480-GPOS-00227TBD - Assigned by DISA after STIG releaseThe operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-85877-9: Ensure PAM password complexity module is enabled in password-authConfiguring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. -Check that the available package security updates have been installed on the system with the following command: +Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To enable PAM password complexity in password-auth file: +Edit the password section in +/etc/pam.d/password-auth to show +password requisite pam_pwquality.so.Applicable - ConfigurableVerify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To check if pam_pwquality.so is enabled in password-auth, run the following command: +
$ grep pam_pwquality /etc/pam.d/password-auth
+The output should be similar to the following: +
password requisite pam_pwquality.so
Is it the case that pam_pwquality.so is not enabled in password-auth?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To enable PAM password complexity in password-auth file: +Edit the password section in +/etc/pam.d/password-auth to show +password requisite pam_pwquality.so.medium
CCI-000366SRG-OS-000480-GPOS-00227TBD - Assigned by DISA after STIG releaseThe operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82998-6: Install firewalld PackageConfiguring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. -Typical update frequency may be overridden by Information Assurance Vulnerability Alert (IAVA) notifications from CYBERCOM. Is it the case that Red Hat Enterprise Linux 8 is in non-compliance with the organizational patching policy?The firewalld package can be installed with the following command: +
+$ sudo yum install firewalld
Applicable - ConfigurableVerify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Run the following command to determine if the firewalld package is installed:
$ rpm -q firewalld
Is it the case that the package is not installed?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. -If the system is joined to the Red Hat Network, a Red Hat Satellite Server, -or a yum server, run the following command to install updates: -
$ sudo yum update
-If the system is not configured to use one of these sources, updates (in the form of RPM packages) -can be manually downloaded from the Red Hat Network and installed using rpm. - -

-NOTE: U.S. Defense systems are required to be patched within 30 days or sooner as local policy -dictates.
The firewalld package can be installed with the following command: +
+$ sudo yum install firewalld
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82414-4: Uninstall vsftpd PackageCCE-82283-3: Ensure System is Not Acting as a Network Sniffer Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The vsftpd package can be removed with the following command:
 $ sudo yum erase vsftpd
The system should not be acting as a network sniffer, which can +capture all traffic on the network to which it is connected. Run the following +to determine if any interface is running in promiscuous mode: +
$ ip link | grep PROMISC
+Promiscuous mode of an interface can be disabled with the following command: +
$ sudo ip link set dev device_name multicast off promisc off
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Run the following command to determine if the vsftpd package is installed: -
$ rpm -q vsftpd
Is it the case that the package is installed?
Verify that Promiscuous mode of an interface is disabled, run the following command: +
$ ip link | grep PROMISC
Is it the case that any network device is in promiscuous mode?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The vsftpd package can be removed with the following command:
 $ sudo yum erase vsftpd
highThe system should not be acting as a network sniffer, which can +capture all traffic on the network to which it is connected. Run the following +to determine if any interface is running in promiscuous mode: +
$ ip link | grep PROMISC
+Promiscuous mode of an interface can be disabled with the following command: +
$ sudo ip link set dev device_name multicast off promisc off
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82863-2: Disable Kernel Parameter for IPv6 ForwardingCCE-80915-2: Restrict Exposed Kernel Pointer Addresses Access Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the net.ipv6.conf.all.forwarding kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.all.forwarding=0
-To 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
To set the runtime status of the kernel.kptr_restrict kernel parameter, run the following command:
$ sudo sysctl -w kernel.kptr_restrict=
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.kptr_restrict = 
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the net.ipv6.conf.all.forwarding kernel parameter can be queried + The runtime status of the kernel.kptr_restrict kernel parameter can be queried by running the following command: -
$ sysctl net.ipv6.conf.all.forwarding
-0. -The ability to forward packets is only appropriate for routers. Is it the case that IP forwarding value is "1" and the system is not router?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the net.ipv6.conf.all.forwarding kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.all.forwarding=0
-To 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
To set the runtime status of the kernel.kptr_restrict kernel parameter, run the following command:
$ sudo sysctl -w kernel.kptr_restrict=
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.kptr_restrict = 
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-86038-7: Add nosuid Option to /boot/efiCCE-80918-6: Disable Kernel Parameter for Sending ICMP Redirects on all IPv4 Interfaces Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The nosuid mount option can be used to prevent -execution of setuid programs in /boot/efi. The SUID and SGID permissions -should not be required on the boot partition. -Add the nosuid option to the fourth column of -/etc/fstab for the line which controls mounting of -/boot/efi.To set the runtime status of the net.ipv4.conf.all.send_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.all.send_redirects=0
+To 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
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify the nosuid option is configured for the /boot/efi mount point, - run the following command: -
$ sudo mount | grep '\s/boot/efi\s'
-
. . . /boot/efi . . . nosuid . . .
- Is it the case that the "/boot/efi" file system does not have the "nosuid" option set?
The runtime status of the net.ipv4.conf.all.send_redirects kernel parameter can be queried +by running the following command: +
$ sysctl net.ipv4.conf.all.send_redirects
+0. + Is it the case that the correct value is not returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The nosuid mount option can be used to prevent -execution of setuid programs in /boot/efi. The SUID and SGID permissions -should not be required on the boot partition. -Add the nosuid option to the fourth column of -/etc/fstab for the line which controls mounting of -/boot/efi.To set the runtime status of the net.ipv4.conf.all.send_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.all.send_redirects=0
+To 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
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80847-7: Ensure rsyslog is InstalledCCE-83424-2: All Interactive Users Home Directories Must Exist Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Rsyslog is installed by default. The rsyslog package can be installed with the following command:
 $ sudo yum install rsyslog
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 /etc/passwd: +
$ sudo mkdir /home/USER
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Run the following command to determine if the rsyslog package is installed:
$ rpm -q rsyslog
Is it the case that the package is not installed?
Verify the assigned home directories of all interactive users on the system exist with the following command: + +
$ sudo pwck -r
+
+user 'mailnull': directory 'var/spool/mqueue' does not exist
+ +The output should not return any interactive users. Is it the case that users home directory does not exist?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Rsyslog is installed by default. The rsyslog package can be installed with the following command:
 $ sudo yum install rsyslog
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 /etc/passwd: +
$ sudo mkdir /home/USER
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80854-3: Ensure /var/log/audit Located On Separate PartitionCCE-81038-2: Disable Core Dumps for All Users Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Audit logs are stored in the /var/log/audit directory. - -Ensure that /var/log/audit has its own partition or logical -volume at installation time, or migrate it using LVM. -Make absolutely certain that it is large enough to store all -audit logs that will be created by the auditing daemon.To disable core dumps for all users, add the following line to +/etc/security/limits.conf, or to a file within the +/etc/security/limits.d/ directory: +
*     hard   core    0
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify that a separate file system/partition has been created for /var/log/audit with the following command: - -
$ mountpoint /var/log/audit
- Is it the case that "/var/log/audit is not a mountpoint" is returned?
Verify that core dumps are disabled for all users, run the following command: +
$ grep core /etc/security/limits.conf
+
*     hard   core    0
Is it the case that the "core" item is missing, commented out, or the value is anything other than "0" and the need for core dumps is not documented with the Information System Security Officer (ISSO) as an operational requirement for all domains that have the "core"?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Audit logs are stored in the /var/log/audit directory. - -Ensure that /var/log/audit has its own partition or logical -volume at installation time, or migrate it using LVM. -Make absolutely certain that it is large enough to store all -audit logs that will be created by the auditing daemon.lowTo disable core dumps for all users, add the following line to +/etc/security/limits.conf, or to a file within the +/etc/security/limits.d/ directory: +
*     hard   core    0
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80664-6: Ensure PAM Enforces Password Requirements - Authentication Retry Prompts Permitted Per-SessionCCE-80898-0: Disable Kerberos Authentication Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To configure the number of retry prompts that are permitted per-session: + Unless needed, SSH should not permit extraneous or unnecessary +authentication mechanisms like Kerberos. +
+The default SSH configuration disallows authentication validation through Kerberos. +The appropriate configuration is used if no value is set for KerberosAuthentication. +
+To explicitly disable Kerberos authentication, add or correct the following line in -Edit the /etc/security/pwquality.conf to include -retry=, or a lower value if site -policy is more restrictive. The DoD requirement is a maximum of 3 prompts -per session.
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify Red Hat Enterprise Linux 8 is configured to limit the "pwquality" retry option to . + To determine how the SSH daemon's KerberosAuthentication option is set, run the following command: +
$ sudo grep -i KerberosAuthentication /etc/ssh/sshd_config
-Check for the use of the "pwquality" retry option in the pwquality.conf file with the following command: -
$ grep retry /etc/security/pwquality.conf
Is it the case that the value of "retry" is set to "0" or greater than "", or is missing?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To configure the number of retry prompts that are permitted per-session: + Unless needed, SSH should not permit extraneous or unnecessary +authentication mechanisms like Kerberos. +
+The default SSH configuration disallows authentication validation through Kerberos. +The appropriate configuration is used if no value is set for KerberosAuthentication. +
+To explicitly disable Kerberos authentication, add or correct the following line in -Edit the /etc/security/pwquality.conf to include -retry=, or a lower value if site -policy is more restrictive. The DoD requirement is a maximum of 3 prompts -per session.
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82251-0: Disable core dump backtracesCCE-82436-7: Uninstall tftp-server Package Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The ProcessSizeMax option in [Coredump] section -of /etc/systemd/coredump.conf -specifies the maximum size in bytes of a core which will be processed. -Core dumps exceeding this size may be stored, but the backtrace will not -be generated.The tftp-server package can be removed with the following command:
 $ sudo yum erase tftp-server
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify Red Hat Enterprise Linux 8 disables core dump backtraces by issuing the following command: - -
$ grep -i process /etc/systemd/coredump.conf
-
-ProcessSizeMax=0
Is it the case that the "ProcessSizeMax" item is missing, commented out, or the value is anything other than "0" and the need for core dumps is not documented with the Information System Security Officer (ISSO) as an operational requirement for all domains that have the "core" item assigned?
Run the following command to determine if the tftp-server package is installed: +
$ rpm -q tftp-server
Is it the case that the package is installed?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The ProcessSizeMax option in [Coredump] section -of /etc/systemd/coredump.conf -specifies the maximum size in bytes of a core which will be processed. -Core dumps exceeding this size may be stored, but the backtrace will not -be generated.mediumThe tftp-server package can be removed with the following command:
 $ sudo yum erase tftp-server
high TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80920-2: Disable Kernel Parameter for Accepting Source-Routed Packets on IPv4 Interfaces by DefaultCCE-80947-5: The Installed Operating System Is Vendor Supported Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the net.ipv4.conf.default.accept_source_route kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.default.accept_source_route=0
-To 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
The installed operating system must be maintained by a vendor. + +Red Hat Enterprise Linux is supported by Red Hat, Inc. As the Red Hat Enterprise +Linux vendor, Red Hat, Inc. is responsible for providing security patches. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the net.ipv4.conf.default.accept_source_route kernel parameter can be queried -by running the following command: -
$ sysctl net.ipv4.conf.default.accept_source_route
-0. - Is it the case that the correct value is not returned?
To verify that the installed operating system is supported, run +the following command: + +
$ grep -i "red hat" /etc/redhat-release
+ +
Red Hat Enterprise Linux 8
Is it the case that the installed operating system is not supported?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the net.ipv4.conf.default.accept_source_route kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.default.accept_source_route=0
-To 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
mediumThe installed operating system must be maintained by a vendor. + +Red Hat Enterprise Linux is supported by Red Hat, Inc. As the Red Hat Enterprise +Linux vendor, Red Hat, Inc. is responsible for providing security patches.high TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80915-2: Restrict Exposed Kernel Pointer Addresses AccessCCE-80919-4: Disable Kernel Parameter for Accepting ICMP Redirects by Default on IPv4 Interfaces Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the kernel.kptr_restrict kernel parameter, run the following command:
$ sudo sysctl -w kernel.kptr_restrict=
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.kptr_restrict = 
To set the runtime status of the net.ipv4.conf.default.accept_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.default.accept_redirects=0
+To 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
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the kernel.kptr_restrict kernel parameter can be queried + The runtime status of the net.ipv4.conf.default.accept_redirects kernel parameter can be queried by running the following command: -
$ sysctl kernel.kptr_restrict
-The output of the command should indicate either: -kernel.kptr_restrict = 1 -or: -kernel.kptr_restrict = 2 -The output of the command should not indicate: -kernel.kptr_restrict = 0 - -The preferable way how to assure the runtime compliance is to have -correct persistent configuration, and rebooting the system. - -The persistent kernel parameter configuration is performed by specifying the appropriate -assignment in any file located in the
/etc/sysctl.d
directory. -Verify that there is not any existing incorrect configuration by executing the following command: -
$ grep -r '^\s*kernel.kptr_restrict\s*=' /etc/sysctl.conf /etc/sysctl.d
-The command should not find any assignments other than: -kernel.kptr_restrict = 1 -or: -kernel.kptr_restrict = 2 - -Conflicting assignments are not allowed. Is it the case that the kernel.kptr_restrict is not set to 1 or 2 or is configured to be 0?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the kernel.kptr_restrict kernel parameter, run the following command:
$ sudo sysctl -w kernel.kptr_restrict=
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.kptr_restrict = 
To set the runtime status of the net.ipv4.conf.default.accept_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.default.accept_redirects=0
+To 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
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-81044-0: Ensure /home Located On Separate PartitionCCE-81035-8: Ensure the Default Umask is Set Correctly in /etc/profile Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.If user home directories will be stored locally, create a separate partition -for /home at installation time (or migrate it later using LVM). If -/home will be mounted from another system such as an NFS server, then -creating a separate partition is not necessary at installation time, and the -mountpoint can instead be configured later.To ensure the default umask controlled by /etc/profile is set properly, +add or correct the umask setting in /etc/profile to read as follows: +
umask 
+ +Note 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.
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify that a separate file system/partition has been created for /home with the following command: - -
$ mountpoint /home
- Is it the case that "/home is not a mountpoint" is returned?
Verify the umask setting is configured correctly in the /etc/profile file +or scripts within /etc/profile.d directory with the following command: +
$ grep "umask" /etc/profile*
+
umask 
Is it the case that the value for the "umask" parameter is not "", +or the "umask" parameter is missing or is commented out?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.If user home directories will be stored locally, create a separate partition -for /home at installation time (or migrate it later using LVM). If -/home will be mounted from another system such as an NFS server, then -creating a separate partition is not necessary at installation time, and the -mountpoint can instead be configured later.lowTo ensure the default umask controlled by /etc/profile is set properly, +add or correct the umask setting in /etc/profile to read as follows: +
umask 
+ +Note 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.
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82434-2: Ensure tftp Daemon Uses Secure ModeCCE-81011-9: Disable Kernel Parameter for Accepting Source-Routed Packets on all IPv4 Interfaces Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.If running the Trivial File Transfer Protocol (TFTP) service is necessary, -it should be configured to change its root directory at startup. To do so, -ensure /etc/xinetd.d/tftp includes -s as a command line argument, -as shown in the following example: -
server_args = -s 
To set the runtime status of the net.ipv4.conf.all.accept_source_route kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.all.accept_source_route=0
+To 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
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify the TFTP daemon is configured to operate in secure mode. - -Check if a TFTP server is installed with the following command: - -
$ rpm -qa | grep tftp
- - -If a TFTP server is not installed, this is Not Applicable. -

- -If a TFTP server is installed, verify TFTP is configured by with -the -s option by running the following command: - -
grep "server_args" /etc/xinetd.d/tftp
-
server_args = -s 
Is it the case that '"server_args" line does not have a "-s" option, and a subdirectory is not assigned'?
The runtime status of the net.ipv4.conf.all.accept_source_route kernel parameter can be queried +by running the following command: +
$ sysctl net.ipv4.conf.all.accept_source_route
+0. + Is it the case that the correct value is not returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.If running the Trivial File Transfer Protocol (TFTP) service is necessary, -it should be configured to change its root directory at startup. To do so, -ensure /etc/xinetd.d/tftp includes -s as a command line argument, -as shown in the following example: -
server_args = -s 
To set the runtime status of the net.ipv4.conf.all.accept_source_route kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.all.accept_source_route=0
+To 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
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82215-5: Disable storing core dumpsCCE-82069-6: Add nodev Option to Non-Root Local Partitions Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the kernel.core_pattern kernel parameter, run the following command:
$ sudo sysctl -w kernel.core_pattern=|/bin/false
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.core_pattern = |/bin/false
The nodev mount option prevents files from being interpreted as +character or block devices. Legitimate character and block devices should +exist only in the /dev directory on the root partition or within +chroot jails built for system services. +Add the nodev option to the fourth column of +/etc/fstab for the line which controls mounting of + + any non-root local partitions. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the kernel.core_pattern kernel parameter can be queried -by running the following command: -
$ sysctl kernel.core_pattern
-|/bin/false. - Is it the case that the returned line does not have a value of "|/bin/false", or a line is not -returned and the need for core dumps is not documented with the Information -System Security Officer (ISSO) as an operational requirement?
To verify the nodev option is configured for non-root local partitions, run the following command: +
$ sudo mount | grep '^/dev\S* on /\S' | grep --invert-match 'nodev'
+The output shows local non-root partitions mounted without the nodev option, and there should be no output at all. + Is it the case that some mounts appear among output lines?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the kernel.core_pattern kernel parameter, run the following command:
$ sudo sysctl -w kernel.core_pattern=|/bin/false
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.core_pattern = |/bin/false
The nodev mount option prevents files from being interpreted as +character or block devices. Legitimate character and block devices should +exist only in the /dev directory on the root partition or within +chroot jails built for system services. +Add the nodev option to the fourth column of +/etc/fstab for the line which controls mounting of + + any non-root local partitions. medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82436-7: Uninstall tftp-server PackageCCE-82211-4: Disable the use of user namespaces Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The tftp-server package can be removed with the following command:
 $ sudo yum erase tftp-server
To set the runtime status of the user.max_user_namespaces kernel parameter, +run the following command: +
$ sudo sysctl -w user.max_user_namespaces=0
+ +To make sure that the setting is persistent, +add the following line to a file in the directory /etc/sysctl.d: +
user.max_user_namespaces = 0
+When containers are deployed on the machine, the value should be set +to large non-zero value.
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Run the following command to determine if the tftp-server package is installed: -
$ rpm -q tftp-server
Is it the case that the package is installed?
Verify that Red Hat Enterprise Linux 8 disables the use of user namespaces with the following commands: + +Note: User namespaces are used primarily for Linux containers. If containers are in use, this requirement is not applicable. + +The runtime status of the user.max_user_namespaces kernel parameter can be queried +by running the following command: +
$ sysctl user.max_user_namespaces
+0. + Is it the case that the correct value is not returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The tftp-server package can be removed with the following command:
 $ sudo yum erase tftp-server
highTo set the runtime status of the user.max_user_namespaces kernel parameter, +run the following command: +
$ sudo sysctl -w user.max_user_namespaces=0
+ +To make sure that the setting is persistent, +add the following line to a file in the directory /etc/sysctl.d: +
user.max_user_namespaces = 0
+When containers are deployed on the machine, the value should be set +to large non-zero value.
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80946-7: Disable vsyscallsCCE-82730-3: Ensure /var/tmp Located On Separate Partition Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To disable use of virtual syscalls, -add the argument vsyscall=none to the default -GRUB 2 command line for the Linux operating system. -To ensure that vsyscall=none is added as a kernel command line -argument to newly installed kernels, add vsyscall=none to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... vsyscall=none ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="vsyscall=none"
The /var/tmp directory is a world-writable directory used +for temporary file storage. Ensure it has its own partition or +logical volume at installation time, or migrate it using LVM. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Inspect the form of default GRUB 2 command line for the Linux operating system -in /etc/default/grub. If it includes vsyscall=none, -then the parameter will be configured for newly installed kernels. -First check if the GRUB recovery is enabled: -
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
-If this option is set to true, then check that a line is output by the following command: -
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*vsyscall=none.*' /etc/default/grub
-If the recovery is disabled, check the line with -
$ sudo grep 'GRUB_CMDLINE_LINUX.*vsyscall=none.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. -Run the following command: -
$ sudo grubby --info=ALL | grep args | grep -v 'vsyscall=none'
-The command should not return any output. Is it the case that vsyscalls are enabled?
Verify that a separate file system/partition has been created for /var/tmp with the following command: + +
$ mountpoint /var/tmp
+ Is it the case that "/var/tmp is not a mountpoint" is returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To disable use of virtual syscalls, -add the argument vsyscall=none to the default -GRUB 2 command line for the Linux operating system. -To ensure that vsyscall=none is added as a kernel command line -argument to newly installed kernels, add vsyscall=none to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... vsyscall=none ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="vsyscall=none"
The /var/tmp directory is a world-writable directory used +for temporary file storage. Ensure it has its own partition or +logical volume at installation time, or migrate it using LVM. medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-84058-7: Prevent remote hosts from connecting to the proxy displayCCE-80904-6: Enable Use of Strict Mode Checking Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The SSH daemon should prevent remote hosts from connecting to the proxy -display. -
-The default SSH configuration for X11UseLocalhost is yes, -which prevents remote hosts from connecting to the proxy display. -
-To explicitly prevent remote connections to the proxy display, add or correct -the following line in +
SSHs StrictModes option checks file and ownership permissions in +the user's home directory .ssh folder before accepting login. If world- +writable permissions are found, logon is rejected. +
+The default SSH configuration has StrictModes enabled. The appropriate +configuration is used if no value is set for StrictModes. +
+To explicitly enable StrictModes in SSH, add or correct the following line in /etc/ssh/sshd_config: -X11UseLocalhost yes
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To determine how the SSH daemon's X11UseLocalhost option is set, run the following command: + To determine how the SSH daemon's StrictModes option is set, run the following command: -
$ sudo grep -i X11UseLocalhost /etc/ssh/sshd_config
+
$ sudo grep -i StrictModes /etc/ssh/sshd_config
-If a line indicating yes is returned, then the required value is set. Is it the case that the display proxy is listening on wildcard address?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The SSH daemon should prevent remote hosts from connecting to the proxy -display. -
-The default SSH configuration for X11UseLocalhost is yes, -which prevents remote hosts from connecting to the proxy display. -
-To explicitly prevent remote connections to the proxy display, add or correct -the following line in +
SSHs StrictModes option checks file and ownership permissions in +the user's home directory .ssh folder before accepting login. If world- +writable permissions are found, logon is rejected. +
+The default SSH configuration has StrictModes enabled. The appropriate +configuration is used if no value is set for StrictModes. +
+To explicitly enable StrictModes in SSH, add or correct the following line in /etc/ssh/sshd_config: -X11UseLocalhost yes
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82028-2: Disable ATM SupportCCE-81006-9: Configure Accepting Router Advertisements on All IPv6 Interfaces Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The Asynchronous Transfer Mode (ATM) is a protocol operating on -network, data link, and physical layers, based on virtual circuits -and virtual paths. - -To configure the system to prevent the atm -kernel module from being loaded, add the following line to the file /etc/modprobe.d/atm.conf: -
install atm /bin/true
- -To configure the system to prevent the atm from being used, -add the following line to file /etc/modprobe.d/atm.conf: -
blacklist atm
To set the runtime status of the net.ipv6.conf.all.accept_ra kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.all.accept_ra=0
+To 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
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding. -If the system is configured to prevent the loading of the atm kernel module, -it will contain lines inside any file in /etc/modprobe.d or the deprecated /etc/modprobe.conf. -These lines instruct the module loading system to run another program (such as /bin/true) upon a module install event. - -These lines can also instruct the module loading system to ignore the atm kernel module via blacklist keyword. - -Run the following command to search for such lines in all files in /etc/modprobe.d and the deprecated /etc/modprobe.conf: -
$ grep -r atm /etc/modprobe.conf /etc/modprobe.d
Is it the case that no line is returned?
The runtime status of the net.ipv6.conf.all.accept_ra kernel parameter can be queried +by running the following command: +
$ sysctl net.ipv6.conf.all.accept_ra
+0. + Is it the case that the correct value is not returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The Asynchronous Transfer Mode (ATM) is a protocol operating on -network, data link, and physical layers, based on virtual circuits -and virtual paths. - -To configure the system to prevent the atm -kernel module from being loaded, add the following line to the file /etc/modprobe.d/atm.conf: -
install atm /bin/true
- -To configure the system to prevent the atm from being used, -add the following line to file /etc/modprobe.d/atm.conf: -
blacklist atm
To set the runtime status of the net.ipv6.conf.all.accept_ra kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.all.accept_ra=0
+To 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
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-85953-8: Ensure There Are No Accounts With Blank or Null PasswordsCCE-80877-4: Verify firewalld Enabled Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Check the "/etc/shadow" file for blank passwords with the -following command: -
$ sudo awk -F: '!$2 {print $1}' /etc/shadow
-If 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]
+The firewalld service can be enabled with the following command: +
$ sudo systemctl enable firewalld.service
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To verify that null passwords cannot be used, run the following command: -
$ sudo awk -F: '!$2 {print $1}' /etc/shadow
-If this produces any output, it may be possible to log into accounts -with empty passwords. Is it the case that Blank or NULL passwords can be used?
+ +Run the following command to determine the current status of the +firewalld service: +
$ sudo systemctl is-active firewalld
+If the service is running, it should return the following:
active
Is it the case that the "firewalld" service is disabled, masked, or not started.?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Check the "/etc/shadow" file for blank passwords with the -following command: -
$ sudo awk -F: '!$2 {print $1}' /etc/shadow
-If 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]
high +The firewalld service can be enabled with the following command: +
$ sudo systemctl enable firewalld.service
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82859-0: Ensure rsyslog-gnutls is installedCCE-83497-8: Ensure All Files Are Owned by a Group Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.TLS protocol support for rsyslog is installed. - -The rsyslog-gnutls package can be installed with the following command: -
-$ sudo yum install rsyslog-gnutls
If any files are not owned by a group, then the +cause of their lack of group-ownership should be investigated. +Following this, the files should be deleted or assigned to an +appropriate group. The following command will discover and print +any files on local partitions which do not belong to a valid group: +
$ df --local -P | awk '{if (NR!=1) print $6}' | sudo xargs -I '{}' find '{}' -xdev -nogroup
+To search all filesystems on a system including network mounted +filesystems the following command can be run manually for each partition: +
$ sudo find PARTITION -xdev -nogroup
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Run the following command to determine if the rsyslog-gnutls package is installed: -
$ rpm -q rsyslog-gnutls
Is it the case that the package is installed?
The following command will discover and print any +files on local partitions which do not belong to a valid group. +
$ df --local -P | awk '{if (NR!=1) print $6}' | sudo xargs -I '{}' find '{}' -xdev -nogroup
+
+Either remove all files and directories from the system that do not have a valid group, +or assign a valid group with the chgrp command: +
$ sudo chgrp group file
Is it the case that there is output?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.TLS protocol support for rsyslog is installed. - -The rsyslog-gnutls package can be installed with the following command: -
-$ sudo yum install rsyslog-gnutls
If any files are not owned by a group, then the +cause of their lack of group-ownership should be investigated. +Following this, the files should be deleted or assigned to an +appropriate group. The following command will discover and print +any files on local partitions which do not belong to a valid group: +
$ df --local -P | awk '{if (NR!=1) print $6}' | sudo xargs -I '{}' find '{}' -xdev -nogroup
+To search all filesystems on a system including network mounted +filesystems the following command can be run manually for each partition: +
$ sudo find PARTITION -xdev -nogroup
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82281-7: Enable SSH Print Last LogCCE-80897-2: Disable GSSAPI Authentication Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Ensure that SSH will display the date and time of the last successful account logon. + Unless needed, SSH should not permit extraneous or unnecessary +authentication mechanisms like GSSAPI.
-The default SSH configuration enables print of the date and time of the last login. -The appropriate configuration is used if no value is set for PrintLastLog. +The default SSH configuration disallows authentications based on GSSAPI. The appropriate +configuration is used if no value is set for GSSAPIAuthentication.
-To explicitly enable LastLog in SSH, add or correct the following line in +To explicitly disable GSSAPI authentication, add or correct the following line in /etc/ssh/sshd_config: -
PrintLastLog yes
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To determine how the SSH daemon's PrintLastLog option is set, run the following command: + To determine how the SSH daemon's GSSAPIAuthentication option is set, run the following command: -
$ sudo grep -i PrintLastLog /etc/ssh/sshd_config
+
$ sudo grep -i GSSAPIAuthentication /etc/ssh/sshd_config
-If a line indicating yes is returned, then the required value is set. +If a line indicating no is returned, then the required value is set. Is it the case that the required value is not set?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Ensure that SSH will display the date and time of the last successful account logon. + Unless needed, SSH should not permit extraneous or unnecessary +authentication mechanisms like GSSAPI.
-The default SSH configuration enables print of the date and time of the last login. -The appropriate configuration is used if no value is set for PrintLastLog. +The default SSH configuration disallows authentications based on GSSAPI. The appropriate +configuration is used if no value is set for GSSAPIAuthentication.
-To explicitly enable LastLog in SSH, add or correct the following line in +To explicitly disable GSSAPI authentication, add or correct the following line in /etc/ssh/sshd_config: -
PrintLastLog yes
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-83425-9: The operating system must restrict privilege elevation to authorized personnelCCE-81036-6: Ensure the Default Bash Umask is Set Correctly Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The sudo command allows a user to execute programs with elevated -(administrator) privileges. It prompts the user for their password -and confirms your request to execute a command by checking a file, -called sudoers. -Restrict privileged actions by removing the following entries from the sudoers file: -ALL ALL=(ALL) ALL -ALL ALL=(ALL:ALL) ALLTo ensure the default umask for users of the Bash shell is set properly, +add or correct the umask setting in /etc/bashrc to read +as follows: +
umask 
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Determine if "sudoers" file restricts sudo access run the following commands: -
$ sudo grep -PR '^\s*ALL\s+ALL\=\(ALL\)\s+ALL\s*$' /etc/sudoers /etc/sudoers.d/*
-
$ sudo grep -PR '^\s*ALL\s+ALL\=\(ALL\:ALL\)\s+ALL\s*$' /etc/sudoers /etc/sudoers.d/*
Is it the case that either of the commands returned a line?
Verify the umask setting is configured correctly in the /etc/bashrc file with the following command: + +
$ sudo grep "umask" /etc/bashrc
+
+umask 
Is it the case that the value for the "umask" parameter is not "", or the "umask" parameter is missing or is commented out?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The sudo command allows a user to execute programs with elevated -(administrator) privileges. It prompts the user for their password -and confirms your request to execute a command by checking a file, -called sudoers. -Restrict privileged actions by removing the following entries from the sudoers file: -ALL ALL=(ALL) ALL -ALL ALL=(ALL:ALL) ALLTo ensure the default umask for users of the Bash shell is set properly, +add or correct the umask setting in /etc/bashrc to read +as follows: +
umask 
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-85888-6: All User Files and Directories In The Home Directory Must Have Mode 0750 Or Less PermissiveCCE-80878-2: Disable KDump Kernel Crash Analyzer (kdump) Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Set the mode on files and directories in the local interactive user home -directory with the following command: -
$ sudo chmod 0750 /home/USER/FILE_DIR
-Files that begin with a "." are excluded from this requirement.
The kdump service provides a kernel crash dump analyzer. It uses the kexec +system call to boot a secondary kernel ("capture" kernel) following a system +crash, which can load information from the crashed kernel for analysis. + +The kdump service can be disabled with the following command: +
$ sudo systemctl mask --now kdump.service
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To verify all files and directories contained in interactive user home -directory, excluding local initialization files, have a mode of 0750, + To check that the kdump service is disabled in system boot configuration, run the following command: -
$ sudo ls -lLR /home/USER
Is it the case that home directory files or folders have incorrect permissions?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Set the mode on files and directories in the local interactive user home -directory with the following command: -
$ sudo chmod 0750 /home/USER/FILE_DIR
-Files that begin with a "." are excluded from this requirement.
The kdump service provides a kernel crash dump analyzer. It uses the kexec +system call to boot a secondary kernel ("capture" kernel) following a system +crash, which can load information from the crashed kernel for analysis. + +The kdump service can be disabled with the following command: +
$ sudo systemctl mask --now kdump.service
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-83434-1: All Interactive User Home Directories Must Be Group-Owned By The Primary GroupCCE-82934-1: Harden the operation of the BPF just-in-time compiler Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Change the group owner of interactive users home directory to the -group found in /etc/passwd. To change the group owner of -interactive users home directory, use the following command: -
$ sudo chgrp USER_GROUP /home/USER
- -This 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.
To set the runtime status of the net.core.bpf_jit_harden kernel parameter, run the following command:
$ sudo sysctl -w net.core.bpf_jit_harden=2
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
net.core.bpf_jit_harden = 2
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To verify the assigned home directory of all interactive users is group- -owned by that users primary GID, run the following command: -
# ls -ld $(awk -F: '($3>=1000)&&($7 !~ /nologin/){print $6}' /etc/passwd)
Is it the case that the group ownership is incorrect?
The runtime status of the net.core.bpf_jit_harden kernel parameter can be queried +by running the following command: +
$ sysctl net.core.bpf_jit_harden
+2. + Is it the case that the correct value is not returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Change the group owner of interactive users home directory to the -group found in /etc/passwd. To change the group owner of -interactive users home directory, use the following command: -
$ sudo chgrp USER_GROUP /home/USER
- -This 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.
To set the runtime status of the net.core.bpf_jit_harden kernel parameter, run the following command:
$ sudo sysctl -w net.core.bpf_jit_harden=2
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
net.core.bpf_jit_harden = 2
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80851-9: Ensure /tmp Located On Separate PartitionCCE-85888-6: All User Files and Directories In The Home Directory Must Have Mode 0750 Or Less Permissive Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The /tmp directory is a world-writable directory used -for temporary file storage. Ensure it has its own partition or -logical volume at installation time, or migrate it using LVM.Set the mode on files and directories in the local interactive user home +directory with the following command: +
$ sudo chmod 0750 /home/USER/FILE_DIR
+Files that begin with a "." are excluded from this requirement.
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify that a separate file system/partition has been created for /tmp with the following command: + To verify all files and directories contained in interactive user home +directory, excluding local initialization files, have a mode of 0750, +run the following command: +
$ sudo ls -lLR /home/USER
Is it the case that home directory files or folders have incorrect permissions?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Set the mode on files and directories in the local interactive user home +directory with the following command: +
$ sudo chmod 0750 /home/USER/FILE_DIR
+Files that begin with a "." are excluded from this requirement.
medium
CCI-000366SRG-OS-000480-GPOS-00227TBD - Assigned by DISA after STIG releaseThe operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82746-9: Add noexec Option to Removable Media PartitionsConfiguring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. + +Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The noexec mount option prevents the direct execution of binaries +on the mounted filesystem. Preventing the direct execution of binaries from +removable media (such as a USB key) provides a defense against malicious +software that may be present on such untrusted media. +Add the noexec option to the fourth column of +/etc/fstab for the line which controls mounting of + + any removable media partitions.Applicable - ConfigurableVerify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To verify that binaries cannot be directly executed from removable media, run the following command: +
$ grep -v noexec /etc/fstab
+The resulting output will show partitions which do not have the noexec flag. Verify all partitions +in the output are not removable media. Is it the case that removable media partitions are present?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The /tmp directory is a world-writable directory used -for temporary file storage. Ensure it has its own partition or -logical volume at installation time, or migrate it using LVM.lowThe noexec mount option prevents the direct execution of binaries +on the mounted filesystem. Preventing the direct execution of binaries from +removable media (such as a USB key) provides a defense against malicious +software that may be present on such untrusted media. +Add the noexec option to the fourth column of +/etc/fstab for the line which controls mounting of + + any removable media partitions.medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80834-5: Disable SCTP SupportCCE-80876-6: Disable debug-shell SystemD Service Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The Stream Control Transmission Protocol (SCTP) is a -transport layer protocol, designed to support the idea of -message-oriented communication, with several streams of messages -within one connection. + SystemD's debug-shell service is intended to +diagnose SystemD related boot issues with various systemctl +commands. Once enabled and following a system reboot, the root shell +will be available on tty9 which is access by pressing +CTRL-ALT-F9. The debug-shell service should only be used +for SystemD related issues and should otherwise be disabled. +

+By default, the debug-shell SystemD service is already disabled. -To configure the system to prevent the sctp -kernel module from being loaded, add the following line to the file /etc/modprobe.d/sctp.conf: -
install sctp /bin/true
+The debug-shell service can be disabled with the following command: +
$ sudo systemctl mask --now debug-shell.service
Applicable - ConfigurableVerify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To check that the debug-shell service is disabled in system boot configuration, +run the following command: +
$ sudo systemctl is-enabled debug-shell
+Output should indicate the debug-shell service has either not been installed, +or has been disabled at all runlevels, as shown in the example below: +
$ sudo systemctl is-enabled debug-shell
disabled
+ +Run the following command to verify debug-shell is not active (i.e. not running) through current runtime configuration: +
$ sudo systemctl is-active debug-shell
+ +If the service is not running the command will return the following output: +
inactive
-To configure the system to prevent the sctp from being used, -add the following line to file /etc/modprobe.d/sctp.conf: -
blacklist sctp
Applicable - ConfigurableVerify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding. -If the system is configured to prevent the loading of the sctp kernel module, -it will contain lines inside any file in /etc/modprobe.d or the deprecated /etc/modprobe.conf. -These lines instruct the module loading system to run another program (such as /bin/true) upon a module install event. +The service will also be masked, to check that the debug-shell is masked, run the following command: +
$ sudo systemctl show debug-shell | grep "LoadState\|UnitFileState"
-These lines can also instruct the module loading system to ignore the sctp kernel module via blacklist keyword. +If the service is masked the command will return the following outputs: -Run the following command to search for such lines in all files in /etc/modprobe.d and the deprecated /etc/modprobe.conf: -
$ grep -r sctp /etc/modprobe.conf /etc/modprobe.d
Is it the case that no line is returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The Stream Control Transmission Protocol (SCTP) is a -transport layer protocol, designed to support the idea of -message-oriented communication, with several streams of messages -within one connection. +
LoadState=masked
-To configure the system to prevent the sctp -kernel module from being loaded, add the following line to the file /etc/modprobe.d/sctp.conf: -
install sctp /bin/true
+
UnitFileState=masked
Is it the case that the "debug-shell" is loaded and not masked?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.SystemD's debug-shell service is intended to +diagnose SystemD related boot issues with various systemctl +commands. Once enabled and following a system reboot, the root shell +will be available on tty9 which is access by pressing +CTRL-ALT-F9. The debug-shell service should only be used +for SystemD related issues and should otherwise be disabled. +

+By default, the debug-shell SystemD service is already disabled. -To configure the system to prevent the sctp from being used, -add the following line to file /etc/modprobe.d/sctp.conf: -
blacklist sctp
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-81006-9: Configure Accepting Router Advertisements on All IPv6 InterfacesCCE-84054-6: Prevent Unrestricted Mail Relaying Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the net.ipv6.conf.all.accept_ra kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.all.accept_ra=0
-To 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
Modify the
/etc/postfix/main.cf
file to restrict client connections +to the local network with the following command: +
$ sudo postconf -e 'smtpd_client_restrictions = permit_mynetworks,reject'
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the net.ipv6.conf.all.accept_ra kernel parameter can be queried -by running the following command: -
$ sysctl net.ipv6.conf.all.accept_ra
-0. - Is it the case that the correct value is not returned?
Verify that Red Hat Enterprise Linux 8 is configured to prevent unrestricted mail relaying, +run the following command: +
$ sudo postconf -n smtpd_client_restrictions
Is it the case that the "smtpd_client_restrictions" parameter contains any entries other than "permit_mynetworks" and "reject"?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the net.ipv6.conf.all.accept_ra kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.all.accept_ra=0
-To 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
Modify the
/etc/postfix/main.cf
file to restrict client connections +to the local network with the following command: +
$ sudo postconf -e 'smtpd_client_restrictions = permit_mynetworks,reject'
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-81035-8: Ensure the Default Umask is Set Correctly in /etc/profileCCE-81039-0: Uninstall Sendmail Package Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To ensure the default umask controlled by /etc/profile is set properly, -add or correct the umask setting in /etc/profile to read as follows: -
umask 
- -Note 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.
Sendmail is not the default mail transfer agent and is +not installed by default. +The sendmail package can be removed with the following command: +
+$ sudo yum erase sendmail
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify the umask setting is configured correctly in the /etc/profile file -or scripts within /etc/profile.d directory with the following command: -
$ grep "umask" /etc/profile*
-
umask 
Is it the case that the value for the "umask" parameter is not "", -or the "umask" parameter is missing or is commented out?
Run the following command to determine if the sendmail package is installed: +
$ rpm -q sendmail
Is it the case that the package is installed?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To ensure the default umask controlled by /etc/profile is set properly, -add or correct the umask setting in /etc/profile to read as follows: -
umask 
- -Note 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.
Sendmail is not the default mail transfer agent and is +not installed by default. +The sendmail package can be removed with the following command: +
+$ sudo yum erase sendmail
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82968-9: Install rng-tools PackageCCE-83789-8: Ensure Home Directories are Created for New Users Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The rng-tools package can be installed with the following command: -
-$ sudo yum install rng-tools
All local interactive user accounts, upon creation, should be assigned a home directory. +

+Configure the operating system to assign home directories to all new local interactive users by setting the CREATE_HOME +parameter in /etc/login.defs to yes as follows: +

+
CREATE_HOME yes
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Run the following command to determine if the rng-tools package is installed:
$ rpm -q rng-tools
Is it the case that the package is not installed?
Verify all local interactive users on Red Hat Enterprise Linux 8 are assigned a home +directory upon creation with the following command: +
$ grep -i create_home /etc/login.defs
+
CREATE_HOME yes
Is it the case that the value for "CREATE_HOME" parameter is not set to "yes", the line is missing, or the line is commented out?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The rng-tools package can be installed with the following command: -
-$ sudo yum install rng-tools
lowAll local interactive user accounts, upon creation, should be assigned a home directory. +

+Configure the operating system to assign home directories to all new local interactive users by setting the CREATE_HOME +parameter in /etc/login.defs to yes as follows: +

+
CREATE_HOME yes
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-81038-2: Disable Core Dumps for All UsersCCE-86220-1: Disable Kernel Parameter for IPv4 Forwarding on all IPv4 Interfaces Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To disable core dumps for all users, add the following line to -/etc/security/limits.conf, or to a file within the -/etc/security/limits.d/ directory: -
*     hard   core    0
To set the runtime status of the net.ipv4.conf.all.forwarding kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.all.forwarding=0
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
net.ipv4.conf.all.forwarding = 0
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify that core dumps are disabled for all users, run the following command: -
$ grep core /etc/security/limits.conf
-
*     hard   core    0
Is it the case that the "core" item is missing, commented out, or the value is anything other than "0" and the need for core dumps is not documented with the Information System Security Officer (ISSO) as an operational requirement for all domains that have the "core"?
The runtime status of the net.ipv4.conf.all.forwarding kernel parameter can be queried +by running the following command: +
$ sysctl net.ipv4.conf.all.forwarding
+0. +The ability to forward packets is only appropriate for routers. Is it the case that IP forwarding value is "1" and the system is not router?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To disable core dumps for all users, add the following line to -/etc/security/limits.conf, or to a file within the -/etc/security/limits.d/ directory: -
*     hard   core    0
To set the runtime status of the net.ipv4.conf.all.forwarding kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.all.forwarding=0
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
net.ipv4.conf.all.forwarding = 0
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80916-0: Enable Randomized Layout of Virtual Address SpaceCCE-80784-2: Disable Ctrl-Alt-Del Burst Action Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the kernel.randomize_va_space kernel parameter, run the following command:
$ sudo sysctl -w kernel.randomize_va_space=2
-To 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
By default, SystemD will reboot the system if the Ctrl-Alt-Del +key sequence is pressed Ctrl-Alt-Delete more than 7 times in 2 seconds. +

+To configure the system to ignore the CtrlAltDelBurstAction + +setting, add or modify the following to /etc/systemd/system.conf: +
CtrlAltDelBurstAction=none
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the kernel.randomize_va_space kernel parameter can be queried -by running the following command: -
$ sysctl kernel.randomize_va_space
-2. - Is it the case that the correct value is not returned?
To ensure the system is configured to ignore the Ctrl-Alt-Del setting, +enter the following command: +
$ sudo grep -i ctrlaltdelburstaction /etc/systemd/system.conf
+The output should return: +
CtrlAltDelBurstAction=none
Is it the case that the system is configured to reboot when Ctrl-Alt-Del is pressed more than 7 times in 2 seconds.?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the kernel.randomize_va_space kernel parameter, run the following command:
$ sudo sysctl -w kernel.randomize_va_space=2
-To 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
mediumBy default, SystemD will reboot the system if the Ctrl-Alt-Del +key sequence is pressed Ctrl-Alt-Delete more than 7 times in 2 seconds. +

+To configure the system to ignore the CtrlAltDelBurstAction + +setting, add or modify the following to /etc/systemd/system.conf: +
CtrlAltDelBurstAction=none
high TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80841-0: Prevent Login to Accounts With Empty PasswordCCE-84036-3: All Interactive Users Must Have A Home Directory Defined Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.If an account is configured for password authentication -but does not have an assigned password, it may be possible to log -into the account without authentication. Remove any instances of the -nullok in - -/etc/pam.d/system-auth and -/etc/pam.d/password-auth + Assign home directories to all interactive users that currently do not +have a home directory assigned. -to prevent logins with empty passwords. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To verify that null passwords cannot be used, run the following command: + Verify that interactive users on the system have a home directory assigned with the following command: -
$ grep nullok /etc/pam.d/system-auth /etc/pam.d/password-auth
+
$ sudo awk -F: '($3>=1000)&&($7 !~ /nologin/){print $1, $3, $6}' /etc/passwd
-If this produces any output, it may be possible to log into accounts -with empty passwords. Remove any instances of the nullok option to -prevent logins with empty passwords. Is it the case that NULL passwords can be used?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.If an account is configured for password authentication -but does not have an assigned password, it may be possible to log -into the account without authentication. Remove any instances of the -nullok in - -/etc/pam.d/system-auth and -/etc/pam.d/password-auth + Assign home directories to all interactive users that currently do not +have a home directory assigned. -to prevent logins with empty passwords.highmedium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82946-5: Uninstall iprutils PackageCCE-82976-2: Install policycoreutils Package Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The iprutils package can be removed with the following command: + The policycoreutils package can be installed with the following command:
-$ sudo yum erase iprutils
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Run the following command to determine if the iprutils package is installed: -
$ rpm -q iprutils
Is it the case that the package is installed?
Run the following command to determine if the policycoreutils package is installed:
$ rpm -q policycoreutils
Is it the case that the policycoreutils package is not installed?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The iprutils package can be removed with the following command: + The policycoreutils package can be installed with the following command:
-$ sudo yum erase iprutils
mediumlow TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-85877-9: Ensure PAM password complexity module is enabled in password-authCCE-83411-9: Disable graphical user interface Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To enable PAM password complexity in password-auth file: -Edit the password section in -/etc/pam.d/password-auth to show -password requisite pam_pwquality.so.By removing the following packages, the system no longer has X Windows installed. + +xorg-x11-server-Xorg xorg-x11-server-common xorg-x11-server-utils xorg-x11-server-Xwayland + +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 graphical.target +mode. To do so, run the following command: + +
sudo yum remove xorg-x11-server-Xorg xorg-x11-server-common xorg-x11-server-utils xorg-x11-server-Xwayland
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To check if pam_pwquality.so is enabled in password-auth, run the following command: -
$ grep pam_pwquality /etc/pam.d/password-auth
-The output should be similar to the following: -
password requisite pam_pwquality.so
Is it the case that pam_pwquality.so is not enabled in password-auth?
To ensure the X Windows package group is removed, run the following command: + +
$ rpm -qi xorg-x11-server-Xorg xorg-x11-server-common xorg-x11-server-utils xorg-x11-server-Xwayland
+ +For each package mentioned above you should receive following line: +
package <package> is not installed
Is it the case that xorg related packages are not removed and run level is not correctly configured?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To enable PAM password complexity in password-auth file: -Edit the password section in -/etc/pam.d/password-auth to show -password requisite pam_pwquality.so.By removing the following packages, the system no longer has X Windows installed. + +xorg-x11-server-Xorg xorg-x11-server-common xorg-x11-server-utils xorg-x11-server-Xwayland + +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 graphical.target +mode. To do so, run the following command: + +
sudo yum remove xorg-x11-server-Xorg xorg-x11-server-common xorg-x11-server-utils xorg-x11-server-Xwayland
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-83422-6: Ensure invoking users password for privilege escalation when using sudoCCE-80873-3: Disable the Automounter Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The sudoers security policy requires that users authenticate themselves before they can use sudo. -When sudoers requires authentication, it validates the invoking user's credentials. -The expected output for: -
 sudo cvtsudoers -f sudoers /etc/sudoers | grep -E '^Defaults !?(rootpw|targetpw|runaspw)$' 
-
 Defaults !targetpw
-      Defaults !rootpw
-      Defaults !runaspw 
-or if cvtsudoers not supported: -
 sudo find /etc/sudoers /etc/sudoers.d \( \! -name '*~' -a \! -name '*.*' \) -exec grep -E --with-filename '^[[:blank:]]*Defaults[[:blank:]](.*[[:blank:]])?!?\b(rootpw|targetpw|runaspw)' -- {} \; 
-
 /etc/sudoers:Defaults !targetpw
-      /etc/sudoers:Defaults !rootpw
-      /etc/sudoers:Defaults !runaspw 
The autofs daemon mounts and unmounts filesystems, such as user +home directories shared via NFS, on demand. In addition, autofs can be used to handle +removable media, and the default configuration provides the cdrom device as /misc/cd. +However, this method of providing access to removable media is not common, so autofs +can almost always be disabled if NFS is not in use. Even if NFS is required, it may be +possible to configure filesystem mounts statically by editing /etc/fstab +rather than relying on the automounter. +

+ +The autofs service can be disabled with the following command: +
$ sudo systemctl mask --now autofs.service
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Run the following command to Verify that the sudoers security policy is configured to use the invoking user's password for privilege escalation: -
 sudo cvtsudoers -f sudoers /etc/sudoers | grep -E '^Defaults !?(rootpw|targetpw|runaspw)' 
-or if cvtsudoers not supported: -
 sudo find /etc/sudoers /etc/sudoers.d \( \! -name '*~' -a \! -name '*.*' \) -exec grep -E --with-filename '^[[:blank:]]*Defaults[[:blank:]](.*[[:blank:]])?!?\b(rootpw|targetpw|runaspw)' -- {} \; 
-If no results are returned, this is a finding. -If conflicting results are returned, this is a finding. -If "Defaults !targetpw" is not defined, this is a finding. -If "Defaults !rootpw" is not defined, this is a finding. -If "Defaults !runaspw" is not defined, this is a finding. Is it the case that invoke user passwd when using sudo?
To check that the autofs service is disabled in system boot configuration, +run the following command: +
$ sudo systemctl is-enabled autofs
+Output should indicate the autofs service has either not been installed, +or has been disabled at all runlevels, as shown in the example below: +
$ sudo systemctl is-enabled autofs
disabled
+ +Run the following command to verify autofs is not active (i.e. not running) through current runtime configuration: +
$ sudo systemctl is-active autofs
+ +If the service is not running the command will return the following output: +
inactive
+ +The service will also be masked, to check that the autofs is masked, run the following command: +
$ sudo systemctl show autofs | grep "LoadState\|UnitFileState"
+ +If the service is masked the command will return the following outputs: + +
LoadState=masked
+ +
UnitFileState=masked
Is it the case that the "autofs" is loaded and not masked?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The sudoers security policy requires that users authenticate themselves before they can use sudo. -When sudoers requires authentication, it validates the invoking user's credentials. -The expected output for: -
 sudo cvtsudoers -f sudoers /etc/sudoers | grep -E '^Defaults !?(rootpw|targetpw|runaspw)$' 
-
 Defaults !targetpw
-      Defaults !rootpw
-      Defaults !runaspw 
-or if cvtsudoers not supported: -
 sudo find /etc/sudoers /etc/sudoers.d \( \! -name '*~' -a \! -name '*.*' \) -exec grep -E --with-filename '^[[:blank:]]*Defaults[[:blank:]](.*[[:blank:]])?!?\b(rootpw|targetpw|runaspw)' -- {} \; 
-
 /etc/sudoers:Defaults !targetpw
-      /etc/sudoers:Defaults !rootpw
-      /etc/sudoers:Defaults !runaspw 
The autofs daemon mounts and unmounts filesystems, such as user +home directories shared via NFS, on demand. In addition, autofs can be used to handle +removable media, and the default configuration provides the cdrom device as /misc/cd. +However, this method of providing access to removable media is not common, so autofs +can almost always be disabled if NFS is not in use. Even if NFS is required, it may be +possible to configure filesystem mounts statically by editing /etc/fstab +rather than relying on the automounter. +

+ +The autofs service can be disabled with the following command: +
$ sudo systemctl mask --now autofs.service
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-83360-8: Disable X11 ForwardingCCE-84058-7: Prevent remote hosts from connecting to the proxy display Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The X11Forwarding parameter provides the ability to tunnel X11 traffic -through the connection to enable remote graphic connections. -SSH has the capability to encrypt remote X11 connections when SSH's -X11Forwarding option is enabled. + The SSH daemon should prevent remote hosts from connecting to the proxy +display.
-The default SSH configuration disables X11Forwarding. The appropriate -configuration is used if no value is set for X11Forwarding. +The default SSH configuration for X11UseLocalhost is yes, +which prevents remote hosts from connecting to the proxy display.
-To explicitly disable X11 Forwarding, add or correct the following line in +To explicitly prevent remote connections to the proxy display, add or correct +the following line in /etc/ssh/sshd_config: -
X11Forwarding no
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To determine how the SSH daemon's X11Forwarding option is set, run the following command: + To determine how the SSH daemon's X11UseLocalhost option is set, run the following command: -
$ sudo grep -i X11Forwarding /etc/ssh/sshd_config
+
$ sudo grep -i X11UseLocalhost /etc/ssh/sshd_config
-If a line indicating no is returned, then the required value is set. - Is it the case that the required value is not set?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The X11Forwarding parameter provides the ability to tunnel X11 traffic -through the connection to enable remote graphic connections. -SSH has the capability to encrypt remote X11 connections when SSH's -X11Forwarding option is enabled. + The SSH daemon should prevent remote hosts from connecting to the proxy +display.
-The default SSH configuration disables X11Forwarding. The appropriate -configuration is used if no value is set for X11Forwarding. +The default SSH configuration for X11UseLocalhost is yes, +which prevents remote hosts from connecting to the proxy display.
-To explicitly disable X11 Forwarding, add or correct the following line in +To explicitly prevent remote connections to the proxy display, add or correct +the following line in /etc/ssh/sshd_config: -
X11Forwarding no
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-83733-6: Configure AIDE to Verify Extended AttributesCCE-84050-4: Mount Remote Filesystems with noexec Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.By default, the xattrs option is added to the FIPSR ruleset in AIDE. -If using a custom ruleset or the xattrs option is missing, add xattrs -to the appropriate ruleset. -For example, add xattrs to the following line in /etc/aide.conf: -
FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256
-AIDE rules can be configured in multiple ways; this is merely one example that is already -configured by default. - -The remediation provided with this rule adds xattrs to all rule sets available in -/etc/aide.conf
Add the noexec option to the fourth column of /etc/fstab for the line which controls mounting of +any NFS mounts. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To determine that AIDE is verifying extended file attributes, run the following command: -
$ grep xattrs /etc/aide.conf
-Verify that the xattrs option is added to the correct ruleset. Is it the case that the xattrs option is missing or not added to the correct ruleset?
To verify the noexec option is configured for all NFS mounts, run the following command: +
$ mount | grep nfs
+All NFS mounts should show the noexec setting in parentheses. This is not applicable if NFS is +not implemented. Is it the case that the setting does not show?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.By default, the xattrs option is added to the FIPSR ruleset in AIDE. -If using a custom ruleset or the xattrs option is missing, add xattrs -to the appropriate ruleset. -For example, add xattrs to the following line in /etc/aide.conf: -
FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256
-AIDE rules can be configured in multiple ways; this is merely one example that is already -configured by default. - -The remediation provided with this rule adds xattrs to all rule sets available in -/etc/aide.conf
lowAdd the noexec option to the fourth column of /etc/fstab for the line which controls mounting of +any NFS mounts.medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-83424-2: All Interactive Users Home Directories Must ExistCCE-80785-9: Disable Ctrl-Alt-Del Reboot Activation Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.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 /etc/passwd: -
$ sudo mkdir /home/USER
By default, SystemD will reboot the system if the Ctrl-Alt-Del +key sequence is pressed. +

+To configure the system to ignore the Ctrl-Alt-Del key sequence from the + +command line instead of rebooting the system, do either of the following: +
ln -sf /dev/null /etc/systemd/system/ctrl-alt-del.target
+or +
systemctl mask ctrl-alt-del.target
+

+Do not simply delete the /usr/lib/systemd/system/ctrl-alt-del.service file, +as this file may be restored during future system updates.
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify the assigned home directories of all interactive users on the system exist with the following command: - -
$ sudo pwck -r
-
-user 'mailnull': directory 'var/spool/mqueue' does not exist
- -The output should not return any interactive users. Is it the case that users home directory does not exist?
To ensure the system is configured to mask the Ctrl-Alt-Del sequence, Check +that the ctrl-alt-del.target is masked and not active with the following +command: +
sudo systemctl status ctrl-alt-del.target
+The output should indicate that the target is masked and not active. It +might resemble following output: +
ctrl-alt-del.target
+Loaded: masked (/dev/null; bad)
+Active: inactive (dead)
Is it the case that the system is configured to reboot when Ctrl-Alt-Del is pressed?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.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 /etc/passwd: -
$ sudo mkdir /home/USER
mediumBy default, SystemD will reboot the system if the Ctrl-Alt-Del +key sequence is pressed. +

+To configure the system to ignore the Ctrl-Alt-Del key sequence from the + +command line instead of rebooting the system, do either of the following: +
ln -sf /dev/null /etc/systemd/system/ctrl-alt-del.target
+or +
systemctl mask ctrl-alt-del.target
+

+Do not simply delete the /usr/lib/systemd/system/ctrl-alt-del.service file, +as this file may be restored during future system updates.
high TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80896-4: Disable SSH Access via Empty PasswordsCCE-84040-5: Ensure that Users Path Contains Only Local Directories Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.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. -
-To explicitly disallow SSH login from accounts with empty passwords, -add or correct the following line in - - -/etc/ssh/sshd_config: - -
-
PermitEmptyPasswords no
-Any accounts with empty passwords should be disabled immediately, and PAM configuration -should prevent users from being able to assign themselves empty passwords.
Ensure that all interactive user initialization files executable search +path statements do not contain statements that will reference a working +directory other than the users home directory. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To determine how the SSH daemon's PermitEmptyPasswords option is set, run the following command: + Verify that all local interactive user initialization file executable search path statements do not contain statements that will reference a working directory other than user home directories with the following commands: -
$ sudo grep -i PermitEmptyPasswords /etc/ssh/sshd_config
+
$ sudo grep -i path= /home/*/.*
 
-If a line indicating no is returned, then the required value is set.
- Is it the case that the required value is not set?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.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. -
-To explicitly disallow SSH login from accounts with empty passwords, -add or correct the following line in - - -/etc/ssh/sshd_config: - -
-
PermitEmptyPasswords no
-Any accounts with empty passwords should be disabled immediately, and PAM configuration -should prevent users from being able to assign themselves empty passwords.
highEnsure that all interactive user initialization files executable search +path statements do not contain statements that will reference a working +directory other than the users home directory.medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-83328-5: Add noexec Option to /homeCCE-84044-7: Ensure the Default Umask is Set Correctly For Interactive Users Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The noexec mount option can be used to prevent binaries from being -executed out of /home. -Add the noexec option to the fourth column of -/etc/fstab for the line which controls mounting of -/home.Remove the UMASK environment variable from all interactive users initialization files. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify the noexec option is configured for the /home mount point, - run the following command: -
$ sudo mount | grep '\s/home\s'
-
. . . /home . . . noexec . . .
- Is it the case that the "/home" file system does not have the "noexec" option set?
Verify that the default umask for all local interactive users is "077". + +Identify the locations of all local interactive user home directories by looking at the "/etc/passwd" file. + +Check all local interactive user initialization files for interactive users with the following command: + +Note: The example is for a system that is configured to create users home directories in the "/home" directory. + +# grep -ri umask /home/ + +/home/smithj/.bash_history:grep -i umask /etc/bashrc /etc/csh.cshrc /etc/profile +/home/smithj/.bash_history:grep -i umask /etc/login.defs Is it the case that any local interactive user initialization files are found to have a umask statement that sets a value less restrictive than "077"? Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The noexec mount option can be used to prevent binaries from being -executed out of /home. -Add the noexec option to the fourth column of -/etc/fstab for the line which controls mounting of -/home.Remove the UMASK environment variable from all interactive users initialization files. medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82283-3: Ensure System is Not Acting as a Network SnifferCCE-84220-3: Configure AIDE to Verify Access Control Lists (ACLs) Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The system should not be acting as a network sniffer, which can -capture all traffic on the network to which it is connected. Run the following -to determine if any interface is running in promiscuous mode: -
$ ip link | grep PROMISC
-Promiscuous mode of an interface can be disabled with the following command: -
$ sudo ip link set dev device_name multicast off promisc off
By default, the acl option is added to the FIPSR ruleset in AIDE. +If using a custom ruleset or the acl option is missing, add acl +to the appropriate ruleset. +For example, add acl to the following line in /etc/aide.conf: +
FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256
+AIDE rules can be configured in multiple ways; this is merely one example that is already +configured by default. + +The remediation provided with this rule adds acl to all rule sets available in +/etc/aide.conf
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify that Promiscuous mode of an interface is disabled, run the following command: -
$ ip link | grep PROMISC
Is it the case that any network device is in promiscuous mode?
To determine that AIDE is verifying ACLs, run the following command: +
$ grep acl /etc/aide.conf
+Verify that the acl option is added to the correct ruleset. Is it the case that the acl option is missing or not added to the correct ruleset?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The system should not be acting as a network sniffer, which can -capture all traffic on the network to which it is connected. Run the following -to determine if any interface is running in promiscuous mode: -
$ ip link | grep PROMISC
-Promiscuous mode of an interface can be disabled with the following command: -
$ sudo ip link set dev device_name multicast off promisc off
mediumBy default, the acl option is added to the FIPSR ruleset in AIDE. +If using a custom ruleset or the acl option is missing, add acl +to the appropriate ruleset. +For example, add acl to the following line in /etc/aide.conf: +
FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256
+AIDE rules can be configured in multiple ways; this is merely one example that is already +configured by default. + +The remediation provided with this rule adds acl to all rule sets available in +/etc/aide.conf
low TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-81013-5: Disable Kernel Parameter for Accepting Source-Routed Packets on all IPv6 InterfacesCCE-80841-0: Prevent Login to Accounts With Empty Password Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the net.ipv6.conf.all.accept_source_route kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.all.accept_source_route=0
-To 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
If an account is configured for password authentication +but does not have an assigned password, it may be possible to log +into the account without authentication. Remove any instances of the +nullok in + +/etc/pam.d/system-auth and +/etc/pam.d/password-auth + +to prevent logins with empty passwords. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the net.ipv6.conf.all.accept_source_route kernel parameter can be queried -by running the following command: -
$ sysctl net.ipv6.conf.all.accept_source_route
-0. - Is it the case that the correct value is not returned?
To verify that null passwords cannot be used, run the following command: + +
$ grep nullok /etc/pam.d/system-auth /etc/pam.d/password-auth
+ +If this produces any output, it may be possible to log into accounts +with empty passwords. Remove any instances of the nullok option to +prevent logins with empty passwords. Is it the case that NULL passwords can be used?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the net.ipv6.conf.all.accept_source_route kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.all.accept_source_route=0
-To 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
mediumIf an account is configured for password authentication +but does not have an assigned password, it may be possible to log +into the account without authentication. Remove any instances of the +nullok in + +/etc/pam.d/system-auth and +/etc/pam.d/password-auth + +to prevent logins with empty passwords.high TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-81010-1: Disable Kernel Parameter for Accepting ICMP Redirects by Default on IPv6 InterfacesCCE-80852-7: Ensure /var Located On Separate Partition Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the net.ipv6.conf.default.accept_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.default.accept_redirects=0
-To 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
The /var directory is used by daemons and other system +services to store frequently-changing data. Ensure that /var has its own partition +or logical volume at installation time, or migrate it using LVM. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the net.ipv6.conf.default.accept_redirects kernel parameter can be queried -by running the following command: -
$ sysctl net.ipv6.conf.default.accept_redirects
-0. - Is it the case that the correct value is not returned?
Verify that a separate file system/partition has been created for /var with the following command: + +
$ mountpoint /var
+ Is it the case that "/var is not a mountpoint" is returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the net.ipv6.conf.default.accept_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.default.accept_redirects=0
-To 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
mediumThe /var directory is used by daemons and other system +services to store frequently-changing data. Ensure that /var has its own partition +or logical volume at installation time, or migrate it using LVM.low TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-81009-3: Disable Accepting ICMP Redirects for All IPv6 InterfacesCCE-80921-0: Disable Kernel Parameter for Sending ICMP Redirects on all IPv4 Interfaces by Default Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the net.ipv6.conf.all.accept_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.all.accept_redirects=0
-To 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
To set the runtime status of the net.ipv4.conf.default.send_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.default.send_redirects=0
+To 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
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the net.ipv6.conf.all.accept_redirects kernel parameter can be queried + The runtime status of the net.ipv4.conf.default.send_redirects kernel parameter can be queried by running the following command: -
$ sysctl net.ipv6.conf.all.accept_redirects
+
$ sysctl net.ipv4.conf.default.send_redirects
0. Is it the case that the correct value is not returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the net.ipv6.conf.all.accept_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.all.accept_redirects=0
-To 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
To set the runtime status of the net.ipv4.conf.default.send_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.default.send_redirects=0
+To 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
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-84055-3: Remove Host-Based Authentication FilesCCE-81037-4: Ensure the Default C Shell Umask is Set Correctly Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The shosts.equiv file lists remote hosts and users that are trusted by the local -system. To remove these files, run the following command to delete them from any location: -
$ sudo rm /[path]/[to]/[file]/shosts.equiv
To ensure the default umask for users of the C shell is set properly, +add or correct the umask setting in /etc/csh.cshrc to read as follows: +
umask 
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify that there are no shosts.equiv files on the system, run the following command: -
$ find / -name shosts.equiv
Is it the case that shosts.equiv files exist?
Verify the "umask" setting is configured correctly in the "/etc/csh.cshrc" file with the following command: + +$ grep umask /etc/csh.cshrc + +umask 077 +umask 077 Is it the case that the value for the "umask" parameter is not "", or the "umask" parameter is missing or is commented out? Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The shosts.equiv file lists remote hosts and users that are trusted by the local -system. To remove these files, run the following command to delete them from any location: -
$ sudo rm /[path]/[to]/[file]/shosts.equiv
highTo ensure the default umask for users of the C shell is set properly, +add or correct the umask setting in /etc/csh.cshrc to read as follows: +
umask 
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80784-2: Disable Ctrl-Alt-Del Burst ActionCCE-82904-4: Uninstall tuned Package Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.By default, SystemD will reboot the system if the Ctrl-Alt-Del -key sequence is pressed Ctrl-Alt-Delete more than 7 times in 2 seconds. -

-To configure the system to ignore the CtrlAltDelBurstAction - -setting, add or modify the following to /etc/systemd/system.conf: -
CtrlAltDelBurstAction=none
The tuned package can be removed with the following command: +
+$ sudo yum erase tuned
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To ensure the system is configured to ignore the Ctrl-Alt-Del setting, -enter the following command: -
$ sudo grep -i ctrlaltdelburstaction /etc/systemd/system.conf
-The output should return: -
CtrlAltDelBurstAction=none
Is it the case that the system is configured to reboot when Ctrl-Alt-Del is pressed more than 7 times in 2 seconds.?
Run the following command to determine if the tuned package is installed: +
$ rpm -q tuned
Is it the case that the package is installed?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.By default, SystemD will reboot the system if the Ctrl-Alt-Del -key sequence is pressed Ctrl-Alt-Delete more than 7 times in 2 seconds. -

-To configure the system to ignore the CtrlAltDelBurstAction - -setting, add or modify the following to /etc/systemd/system.conf: -
CtrlAltDelBurstAction=none
highThe tuned package can be removed with the following command: +
+$ sudo yum erase tuned
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-85886-0: Ensure All World-Writable Directories Are Group Owned by a System AccountCCE-82028-2: Disable ATM Support Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.All directories in local partitions which are -world-writable should be group owned by root or another -system account. If any world-writable directories are not -group owned by a system account, this should be investigated. -Following this, the files should be deleted or assigned to an -appropriate group.The Asynchronous Transfer Mode (ATM) is a protocol operating on +network, data link, and physical layers, based on virtual circuits +and virtual paths. + +To configure the system to prevent the atm +kernel module from being loaded, add the following line to the file /etc/modprobe.d/atm.conf: +
install atm /bin/true
+ +To configure the system to prevent the atm from being used, +add the following line to file /etc/modprobe.d/atm.conf: +
blacklist atm
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The following command will discover and print world-writable directories that -are not group owned by a system account, given the assumption that only system -accounts have a gid lower than 1000. Run it once for each local partition PART: -
$ sudo find PART -xdev -type d -perm -0002 -gid +999 -print
Is it the case that there is output?
+If the system is configured to prevent the loading of the atm kernel module, +it will contain lines inside any file in /etc/modprobe.d or the deprecated /etc/modprobe.conf. +These lines instruct the module loading system to run another program (such as /bin/true) upon a module install event. + +These lines can also instruct the module loading system to ignore the atm kernel module via blacklist keyword. + +Run the following command to search for such lines in all files in /etc/modprobe.d and the deprecated /etc/modprobe.conf: +
$ grep -r atm /etc/modprobe.conf /etc/modprobe.d
Is it the case that no line is returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.All directories in local partitions which are -world-writable should be group owned by root or another -system account. If any world-writable directories are not -group owned by a system account, this should be investigated. -Following this, the files should be deleted or assigned to an -appropriate group.The Asynchronous Transfer Mode (ATM) is a protocol operating on +network, data link, and physical layers, based on virtual circuits +and virtual paths. + +To configure the system to prevent the atm +kernel module from being loaded, add the following line to the file /etc/modprobe.d/atm.conf: +
install atm /bin/true
+ +To configure the system to prevent the atm from being used, +add the following line to file /etc/modprobe.d/atm.conf: +
blacklist atm
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80852-7: Ensure /var Located On Separate PartitionCCE-82215-5: Disable storing core dumps Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The /var directory is used by daemons and other system -services to store frequently-changing data. Ensure that /var has its own partition -or logical volume at installation time, or migrate it using LVM.To set the runtime status of the kernel.core_pattern kernel parameter, run the following command:
$ sudo sysctl -w kernel.core_pattern=|/bin/false
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.core_pattern = |/bin/false
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify that a separate file system/partition has been created for /var with the following command: - -
$ mountpoint /var
- Is it the case that "/var is not a mountpoint" is returned?
The runtime status of the kernel.core_pattern kernel parameter can be queried +by running the following command: +
$ sysctl kernel.core_pattern
+|/bin/false. + Is it the case that the returned line does not have a value of "|/bin/false", or a line is not +returned and the need for core dumps is not documented with the Information +System Security Officer (ISSO) as an operational requirement?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The /var directory is used by daemons and other system -services to store frequently-changing data. Ensure that /var has its own partition -or logical volume at installation time, or migrate it using LVM.lowTo set the runtime status of the kernel.core_pattern kernel parameter, run the following command:
$ sudo sysctl -w kernel.core_pattern=|/bin/false
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.core_pattern = |/bin/false
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80918-6: Disable Kernel Parameter for Sending ICMP Redirects on all IPv4 InterfacesCCE-85987-6: Only Authorized Local User Accounts Exist on Operating System Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the net.ipv4.conf.all.send_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.all.send_redirects=0
-To 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
Enterprise Application tends to use the server or virtual machine exclusively. +Besides the default operating system user, there should be only authorized local +users required by the installed software groups and applications that exist on +the operating system. The authorized user list can be customized in the refine +value variable var_accounts_authorized_local_users_regex. +OVAL regular expression is used for the user list. +Configure the system so all accounts on the system are assigned to an active system, +application, or user account. Remove accounts that do not support approved system +activities or that allow for a normal user to perform administrative-level actions. +To remove unauthorized system accounts, use the following command: +
$ sudo userdel unauthorized_user
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the net.ipv4.conf.all.send_redirects kernel parameter can be queried -by running the following command: -
$ sysctl net.ipv4.conf.all.send_redirects
-0. - Is it the case that the correct value is not returned?
To verify that there are no unauthorized local user accounts, run the following command: +
$ less /etc/passwd 
+Inspect the results, and if unauthorized local user accounts exist, remove them by running +the following command: +
$ sudo userdel unauthorized_user
Is it the case that there are unauthorized local user accounts on the system?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the net.ipv4.conf.all.send_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.all.send_redirects=0
-To 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
Enterprise Application tends to use the server or virtual machine exclusively. +Besides the default operating system user, there should be only authorized local +users required by the installed software groups and applications that exist on +the operating system. The authorized user list can be customized in the refine +value variable var_accounts_authorized_local_users_regex. +OVAL regular expression is used for the user list. +Configure the system so all accounts on the system are assigned to an active system, +application, or user account. Remove accounts that do not support approved system +activities or that allow for a normal user to perform administrative-level actions. +To remove unauthorized system accounts, use the following command: +
$ sudo userdel unauthorized_user
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-81050-7: Add nosuid Option to /homeCCE-81033-3: Add nosuid Option to /boot Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections. The nosuid mount option can be used to prevent -execution of setuid programs in /home. The SUID and SGID permissions -should not be required in these user data directories. +execution of setuid programs in /boot. The SUID and SGID permissions +should not be required on the boot partition. Add the nosuid option to the fourth column of /etc/fstab for the line which controls mounting of -/home. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify the nosuid option is configured for the /home mount point, + Verify the nosuid option is configured for the /boot mount point, run the following command: -
$ sudo mount | grep '\s/home\s'
-
. . . /home . . . nosuid . . .
- Is it the case that the "/home" file system does not have the "nosuid" option set?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. The nosuid mount option can be used to prevent -execution of setuid programs in /home. The SUID and SGID permissions -should not be required in these user data directories. +execution of setuid programs in /boot. The SUID and SGID permissions +should not be required on the boot partition. Add the nosuid option to the fourth column of /etc/fstab for the line which controls mounting of -/home. medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82742-8: Add nodev Option to Removable Media PartitionsCCE-84049-6: Configure Multiple DNS Servers in /etc/resolv.conf Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The nodev mount option prevents files from being -interpreted as character or block devices. -Legitimate character and block devices should exist only in -the /dev directory on the root partition or within chroot -jails built for system services. -Add the nodev option to the fourth column of -/etc/fstab for the line which controls mounting of + +Determine whether the system is using local or DNS name resolution with the +following command: +
$ sudo grep hosts /etc/nsswitch.conf
+hosts: files dns
+If the DNS entry is missing from the host's line in the "/etc/nsswitch.conf" +file, the "/etc/resolv.conf" file must be empty. +Verify the "/etc/resolv.conf" file is empty with the following command: +
$ sudo ls -al /etc/resolv.conf
+-rw-r--r-- 1 root root 0 Aug 19 08:31 resolv.conf
+If the DNS entry is found on the host's line of the "/etc/nsswitch.conf" file, +then verify the following:
- any removable media partitions.
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify file systems that are used for removable media are mounted with the "nodev" option with the following command: - -$ sudo more /etc/fstab - -UUID=2bc871e4-e2a3-4f29-9ece-3be60c835222 /mnt/usbflash vfat noauto,owner,ro,nosuid,nodev,noexec 0 0 Is it the case that a file system found in "/etc/fstab" refers to removable media and it does not have the "nodev" option set?Verify that DNS servers have been configured properly, perform the following: +
$ sudo grep nameserver /etc/resolv.conf
Is it the case that less than two lines are returned that are not commented out?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The nodev mount option prevents files from being -interpreted as character or block devices. -Legitimate character and block devices should exist only in -the /dev directory on the root partition or within chroot -jails built for system services. -Add the nodev option to the fourth column of -/etc/fstab for the line which controls mounting of + +Determine whether the system is using local or DNS name resolution with the +following command: +
$ sudo grep hosts /etc/nsswitch.conf
+hosts: files dns
+If the DNS entry is missing from the host's line in the "/etc/nsswitch.conf" +file, the "/etc/resolv.conf" file must be empty. +Verify the "/etc/resolv.conf" file is empty with the following command: +
$ sudo ls -al /etc/resolv.conf
+-rw-r--r-- 1 root root 0 Aug 19 08:31 resolv.conf
+If the DNS entry is found on the host's line of the "/etc/nsswitch.conf" file, +then verify the following:
- any removable media partitions.
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80921-0: Disable Kernel Parameter for Sending ICMP Redirects on all IPv4 Interfaces by DefaultCCE-80917-8: Disable Accepting ICMP Redirects for All IPv4 Interfaces Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the net.ipv4.conf.default.send_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.default.send_redirects=0
-To 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
To set the runtime status of the net.ipv4.conf.all.accept_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.all.accept_redirects=0
+To 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
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the net.ipv4.conf.default.send_redirects kernel parameter can be queried + The runtime status of the net.ipv4.conf.all.accept_redirects kernel parameter can be queried by running the following command: -
$ sysctl net.ipv4.conf.default.send_redirects
+
$ sysctl net.ipv4.conf.all.accept_redirects
0. Is it the case that the correct value is not returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the net.ipv4.conf.default.send_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.default.send_redirects=0
-To 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
To set the runtime status of the net.ipv4.conf.all.accept_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.all.accept_redirects=0
+To 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
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82976-2: Install policycoreutils PackageCCE-82744-4: Add nosuid Option to Removable Media Partitions Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The policycoreutils package can be installed with the following command: -
-$ sudo yum install policycoreutils
The nosuid mount option prevents set-user-identifier (SUID) +and set-group-identifier (SGID) permissions from taking effect. These permissions +allow users to execute binaries with the same permissions as the owner and group +of the file respectively. Users should not be allowed to introduce SUID and SGID +files into the system via partitions mounted from removeable media. +Add the nosuid option to the fourth column of +/etc/fstab for the line which controls mounting of + + any removable media partitions. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Run the following command to determine if the policycoreutils package is installed:
$ rpm -q policycoreutils
Is it the case that the policycoreutils package is not installed?
Verify file systems that are used for removable media are mounted with the "nosuid" option with the following command: + +$ sudo more /etc/fstab + +UUID=2bc871e4-e2a3-4f29-9ece-3be60c835222 /mnt/usbflash vfat noauto,owner,ro,nosuid,nodev,noexec 0 0 Is it the case that file system found in "/etc/fstab" refers to removable media and it does not have the "nosuid" option set? Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The policycoreutils package can be installed with the following command: -
-$ sudo yum install policycoreutils
lowThe nosuid mount option prevents set-user-identifier (SUID) +and set-group-identifier (SGID) permissions from taking effect. These permissions +allow users to execute binaries with the same permissions as the owner and group +of the file respectively. Users should not be allowed to introduce SUID and SGID +files into the system via partitions mounted from removeable media. +Add the nosuid option to the fourth column of +/etc/fstab for the line which controls mounting of + + any removable media partitions.medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80886-5: Enable rsyslog ServiceCCE-82177-7: Force frequent session key renegotiation Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The rsyslog service provides syslog-style logging by default on Red Hat Enterprise Linux 8. + The RekeyLimit parameter specifies how often +the session key of the is renegotiated, both in terms of +amount of data that may be transmitted and the time +elapsed.
+To decrease the default limits, add or correct the following line in -The rsyslog service can be enabled with the following command: -
$ sudo systemctl enable rsyslog.service
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding. + To check if RekeyLimit is set correctly, run the +following command: -Run the following command to determine the current status of the -rsyslog service: -
$ sudo systemctl is-active rsyslog
-If the service is running, it should return the following:
active
Is it the case that the "rsyslog" service is disabled, masked, or not started.?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The rsyslog service provides syslog-style logging by default on Red Hat Enterprise Linux 8. + The RekeyLimit parameter specifies how often +the session key of the is renegotiated, both in terms of +amount of data that may be transmitted and the time +elapsed.
+To decrease the default limits, add or correct the following line in -The rsyslog service can be enabled with the following command: -
$ sudo systemctl enable rsyslog.service
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-86220-1: Disable Kernel Parameter for IPv4 Forwarding on all IPv4 InterfacesCCE-80851-9: Ensure /tmp Located On Separate Partition Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the net.ipv4.conf.all.forwarding kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.all.forwarding=0
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
net.ipv4.conf.all.forwarding = 0
The /tmp directory is a world-writable directory used +for temporary file storage. Ensure it has its own partition or +logical volume at installation time, or migrate it using LVM. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the net.ipv4.conf.all.forwarding kernel parameter can be queried -by running the following command: -
$ sysctl net.ipv4.conf.all.forwarding
-0. -The ability to forward packets is only appropriate for routers. Is it the case that IP forwarding value is "1" and the system is not router?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the net.ipv4.conf.all.forwarding kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.all.forwarding=0
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
net.ipv4.conf.all.forwarding = 0
mediumVerify that a separate file system/partition has been created for /tmp with the following command: + +
$ mountpoint /tmp
+ Is it the case that "/tmp is not a mountpoint" is returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The /tmp directory is a world-writable directory used +for temporary file storage. Ensure it has its own partition or +logical volume at installation time, or migrate it using LVM.low TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80649-7: Verify Only Root Has UID 0CCE-82946-5: Uninstall iprutils Package Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.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. -
-If the account is associated with system commands or applications the UID -should be changed to one greater than "0" but less than "1000." -Otherwise assign a UID greater than "1000" that has not already been -assigned.
The iprutils package can be removed with the following command: +
+$ sudo yum erase iprutils
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify that only the "root" account has a UID "0" assignment with the -following command: -
$ awk -F: '$3 == 0 {print $1}' /etc/passwd
-
root
Is it the case that any accounts other than "root" have a UID of "0"?
Run the following command to determine if the iprutils package is installed: +
$ rpm -q iprutils
Is it the case that the package is installed?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.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. -
-If the account is associated with system commands or applications the UID -should be changed to one greater than "0" but less than "1000." -Otherwise assign a UID greater than "1000" that has not already been -assigned.
highThe iprutils package can be removed with the following command: +
+$ sudo yum erase iprutils
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-84028-0: Disable Ctrl-Alt-Del Reboot Key Sequence in GNOME3CCE-82251-0: Disable core dump backtraces Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.By default, GNOME will reboot the system if the -Ctrl-Alt-Del key sequence is pressed. -

-To configure the system to ignore the Ctrl-Alt-Del key sequence -from the Graphical User Interface (GUI) instead of rebooting the system, -add or set logout to '' in -/etc/dconf/db/local.d/00-security-settings. For example: -
[org/gnome/settings-daemon/plugins/media-keys]
-logout=''
-Once the settings have been added, add a lock to -/etc/dconf/db/local.d/locks/00-security-settings-lock to prevent -user modification. For example: -
/org/gnome/settings-daemon/plugins/media-keys/logout
-After the settings have been set, run dconf update.
The ProcessSizeMax option in [Coredump] section +of /etc/systemd/coredump.conf +specifies the maximum size in bytes of a core which will be processed. +Core dumps exceeding this size may be stored, but the backtrace will not +be generated. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To ensure the system is configured to ignore the Ctrl-Alt-Del sequence, -run the following command: -
$ gsettings get org.gnome.settings-daemon.plugins.media-keys logout
-
$ grep logout /etc/dconf/db/local.d/locks/*
-If properly configured, the output should be -/org/gnome/settings-daemon/plugins/media-keys/logout Is it the case that GNOME3 is configured to reboot when Ctrl-Alt-Del is pressed?
Verify Red Hat Enterprise Linux 8 disables core dump backtraces by issuing the following command: + +
$ grep -i process /etc/systemd/coredump.conf
+
+ProcessSizeMax=0
Is it the case that the "ProcessSizeMax" item is missing, commented out, or the value is anything other than "0" and the need for core dumps is not documented with the Information System Security Officer (ISSO) as an operational requirement for all domains that have the "core" item assigned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.By default, GNOME will reboot the system if the -Ctrl-Alt-Del key sequence is pressed. -

-To configure the system to ignore the Ctrl-Alt-Del key sequence -from the Graphical User Interface (GUI) instead of rebooting the system, -add or set logout to '' in -/etc/dconf/db/local.d/00-security-settings. For example: -
[org/gnome/settings-daemon/plugins/media-keys]
-logout=''
-Once the settings have been added, add a lock to -/etc/dconf/db/local.d/locks/00-security-settings-lock to prevent -user modification. For example: -
/org/gnome/settings-daemon/plugins/media-keys/logout
-After the settings have been set, run dconf update.
highThe ProcessSizeMax option in [Coredump] section +of /etc/systemd/coredump.conf +specifies the maximum size in bytes of a core which will be processed. +Core dumps exceeding this size may be stored, but the backtrace will not +be generated.medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-86534-5: All User Files and Directories In The Home Directory Must Be Group-Owned By The Primary GroupCCE-84053-8: Mount Remote Filesystems with nosuid Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Change the group of a local interactive users files and directories to a -group that the interactive user is a member of. To change the group owner of a -local interactive users files and directories, use the following command: -
$ sudo chgrp USER_GROUP /home/USER/FILE_DIR
- -This rule ensures every file or directory under the home directory related -to an interactive user is group-owned by an interactive user.
Add the nosuid option to the fourth column of /etc/fstab for the line which controls mounting of +any NFS mounts. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To verify all files and directories in interactive user home directory are -group-owned by a group the user is a member of, run the -following command: -
$ sudo ls -lLR /home/USER
Is it the case that the group ownership is incorrect?
To verify the nosuid option is configured for all NFS mounts, run +the following command: +
$ mount | grep nfs
+All NFS mounts should show the nosuid setting in parentheses. This +is not applicable if NFS is not implemented. Is it the case that the setting does not show?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Change the group of a local interactive users files and directories to a -group that the interactive user is a member of. To change the group owner of a -local interactive users files and directories, use the following command: -
$ sudo chgrp USER_GROUP /home/USER/FILE_DIR
- -This rule ensures every file or directory under the home directory related -to an interactive user is group-owned by an interactive user.
Add the nosuid option to the fourth column of /etc/fstab for the line which controls mounting of +any NFS mounts. medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-84040-5: Ensure that Users Path Contains Only Local DirectoriesCCE-81007-7: Disable Accepting Router Advertisements on all IPv6 Interfaces by Default Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Ensure that all interactive user initialization files executable search -path statements do not contain statements that will reference a working -directory other than the users home directory.To set the runtime status of the net.ipv6.conf.default.accept_ra kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.default.accept_ra=0
+To 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
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify that all local interactive user initialization file executable search path statements do not contain statements that will reference a working directory other than user home directories with the following commands: - -
$ sudo grep -i path= /home/*/.*
-
-/home/[localinteractiveuser]/.bash_profile:PATH=$PATH:$HOME/.local/bin:$HOME/bin
Is it the case that any local interactive user initialization files have executable search path statements that include directories outside of their home directory and is not documented with the ISSO as an operational requirement?
The runtime status of the net.ipv6.conf.default.accept_ra kernel parameter can be queried +by running the following command: +
$ sysctl net.ipv6.conf.default.accept_ra
+0. + Is it the case that the correct value is not returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Ensure that all interactive user initialization files executable search -path statements do not contain statements that will reference a working -directory other than the users home directory.To set the runtime status of the net.ipv6.conf.default.accept_ra kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.default.accept_ra=0
+To 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
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80919-4: Disable Kernel Parameter for Accepting ICMP Redirects by Default on IPv4 InterfacesCCE-82201-5: Resolve information before writing to audit logs Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the net.ipv4.conf.default.accept_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.default.accept_redirects=0
-To 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
To configure Audit daemon to resolve all uid, gid, syscall, +architecture, and socket address information before writing the +events to disk, set log_format to ENRICHED +in /etc/audit/auditd.conf. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the net.ipv4.conf.default.accept_redirects kernel parameter can be queried -by running the following command: -
$ sysctl net.ipv4.conf.default.accept_redirects
-0. - Is it the case that the correct value is not returned?
To verify that Audit Daemon is configured to resolve all uid, gid, syscall, +architecture, and socket address information before writing the event to disk, +run the following command: +
$ sudo grep log_format /etc/audit/auditd.conf
+The output should return the following: +
log_format = ENRICHED
Is it the case that log_format isn't set to ENRICHED?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the net.ipv4.conf.default.accept_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.default.accept_redirects=0
-To 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
mediumTo configure Audit daemon to resolve all uid, gid, syscall, +architecture, and socket address information before writing the +events to disk, set log_format to ENRICHED +in /etc/audit/auditd.conf.low TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-84044-7: Ensure the Default Umask is Set Correctly For Interactive UsersCCE-80835-2: Disable Modprobe Loading of USB Storage Driver Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Remove the UMASK environment variable from all interactive users initialization files.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 usb-storage +kernel module from being loaded, add the following line to the file /etc/modprobe.d/usb-storage.conf: +
install usb-storage /bin/true
+ +To configure the system to prevent the usb-storage from being used, +add the following line to file /etc/modprobe.d/usb-storage.conf: +
blacklist usb-storage
+ +This 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.
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify that the default umask for all local interactive users is "077". + +If the system is configured to prevent the loading of the usb-storage kernel module, +it will contain lines inside any file in /etc/modprobe.d or the deprecated /etc/modprobe.conf. +These lines instruct the module loading system to run another program (such as /bin/true) upon a module install event. -Identify the locations of all local interactive user home directories by looking at the "/etc/passwd" file. +These lines can also instruct the module loading system to ignore the usb-storage kernel module via blacklist keyword. -Check all local interactive user initialization files for interactive users with the following command: +Run the following command to search for such lines in all files in /etc/modprobe.d and the deprecated /etc/modprobe.conf: +
$ grep -r usb-storage /etc/modprobe.conf /etc/modprobe.d
Is it the case that no line is returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To prevent USB storage devices from being used, configure the kernel module loading system +to prevent automatic loading of the USB storage driver. -Note: The example is for a system that is configured to create users home directories in the "/home" directory. +To configure the system to prevent the usb-storage +kernel module from being loaded, add the following line to the file /etc/modprobe.d/usb-storage.conf: +
install usb-storage /bin/true
-# grep -ri umask /home/ +To configure the system to prevent the usb-storage from being used, +add the following line to file /etc/modprobe.d/usb-storage.conf: +
blacklist usb-storage
-/home/smithj/.bash_history:grep -i umask /etc/bashrc /etc/csh.cshrc /etc/profile -/home/smithj/.bash_history:grep -i umask /etc/login.defs Is it the case that any local interactive user initialization files are found to have a umask statement that sets a value less restrictive than "077"?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Remove the UMASK environment variable from all interactive users initialization files. medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-84039-7: User Initialization Files Must Not Run World-Writable ProgramsCCE-86038-7: Add nosuid Option to /boot/efi Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Set the mode on files being executed by the user initialization files with the -following command: -
$ sudo chmod o-w FILE
The nosuid mount option can be used to prevent +execution of setuid programs in /boot/efi. The SUID and SGID permissions +should not be required on the boot partition. +Add the nosuid option to the fourth column of +/etc/fstab for the line which controls mounting of +/boot/efi. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify that local initialization files do not execute world-writable programs with the following command: - -Note: The example will be for a system that is configured to create user home directories in the "/home" directory. - -
$ sudo find /home -perm -002 -type f -name ".[^.]*" -exec ls -ld {} \;
Is it the case that any local initialization files are found to reference world-writable files?
Verify the nosuid option is configured for the /boot/efi mount point, + run the following command: +
$ sudo mount | grep '\s/boot/efi\s'
+
. . . /boot/efi . . . nosuid . . .
+ Is it the case that the "/boot/efi" file system does not have the "nosuid" option set?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Set the mode on files being executed by the user initialization files with the -following command: -
$ sudo chmod o-w FILE
The nosuid mount option can be used to prevent +execution of setuid programs in /boot/efi. The SUID and SGID permissions +should not be required on the boot partition. +Add the nosuid option to the fourth column of +/etc/fstab for the line which controls mounting of +/boot/efi. medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-81033-3: Add nosuid Option to /bootCCE-81009-3: Disable Accepting ICMP Redirects for All IPv6 Interfaces Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The nosuid mount option can be used to prevent -execution of setuid programs in /boot. The SUID and SGID permissions -should not be required on the boot partition. -Add the nosuid option to the fourth column of -/etc/fstab for the line which controls mounting of -/boot.To set the runtime status of the net.ipv6.conf.all.accept_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.all.accept_redirects=0
+To 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
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify the nosuid option is configured for the /boot mount point, - run the following command: -
$ sudo mount | grep '\s/boot\s'
-
. . . /boot . . . nosuid . . .
- Is it the case that the "/boot" file system does not have the "nosuid" option set?
The runtime status of the net.ipv6.conf.all.accept_redirects kernel parameter can be queried +by running the following command: +
$ sysctl net.ipv6.conf.all.accept_redirects
+0. + Is it the case that the correct value is not returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The nosuid mount option can be used to prevent -execution of setuid programs in /boot. The SUID and SGID permissions -should not be required on the boot partition. -Add the nosuid option to the fourth column of -/etc/fstab for the line which controls mounting of -/boot.To set the runtime status of the net.ipv6.conf.all.accept_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.all.accept_redirects=0
+To 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
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82177-7: Force frequent session key renegotiationCCE-82434-2: Ensure tftp Daemon Uses Secure Mode Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The RekeyLimit parameter specifies how often -the session key of the is renegotiated, both in terms of -amount of data that may be transmitted and the time -elapsed.
-To decrease the default limits, add or correct the following line in - - -/etc/ssh/sshd_config: - -
RekeyLimit  
If running the Trivial File Transfer Protocol (TFTP) service is necessary, +it should be configured to change its root directory at startup. To do so, +ensure /etc/xinetd.d/tftp includes -s as a command line argument, +as shown in the following example: +
server_args = -s 
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To check if RekeyLimit is set correctly, run the -following command: + Verify the TFTP daemon is configured to operate in secure mode. -
$ sudo grep RekeyLimit /etc/ssh/sshd_config
+Check if a TFTP server is installed with the following command: -If configured properly, output should be -
RekeyLimit  
Is it the case that it is commented out or is not set?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The RekeyLimit parameter specifies how often -the session key of the is renegotiated, both in terms of -amount of data that may be transmitted and the time -elapsed.
-To decrease the default limits, add or correct the following line in +
$ rpm -qa | grep tftp
-/etc/ssh/sshd_config: +If a TFTP server is not installed, this is Not Applicable. +

-
RekeyLimit  
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.If running the Trivial File Transfer Protocol (TFTP) service is necessary, +it should be configured to change its root directory at startup. To do so, +ensure /etc/xinetd.d/tftp includes -s as a command line argument, +as shown in the following example: +
server_args = -s 
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82746-9: Add noexec Option to Removable Media PartitionsCCE-80953-3: Restrict usage of ptrace to descendant processes Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The noexec mount option prevents the direct execution of binaries -on the mounted filesystem. Preventing the direct execution of binaries from -removable media (such as a USB key) provides a defense against malicious -software that may be present on such untrusted media. -Add the noexec option to the fourth column of -/etc/fstab for the line which controls mounting of - - any removable media partitions.To set the runtime status of the kernel.yama.ptrace_scope kernel parameter, run the following command:
$ sudo sysctl -w kernel.yama.ptrace_scope=1
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.yama.ptrace_scope = 1
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To verify that binaries cannot be directly executed from removable media, run the following command: -
$ grep -v noexec /etc/fstab
-The resulting output will show partitions which do not have the noexec flag. Verify all partitions -in the output are not removable media. Is it the case that removable media partitions are present?
The runtime status of the kernel.yama.ptrace_scope kernel parameter can be queried +by running the following command: +
$ sysctl kernel.yama.ptrace_scope
+1. + Is it the case that the correct value is not returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The noexec mount option prevents the direct execution of binaries -on the mounted filesystem. Preventing the direct execution of binaries from -removable media (such as a USB key) provides a defense against malicious -software that may be present on such untrusted media. -Add the noexec option to the fourth column of -/etc/fstab for the line which controls mounting of - - any removable media partitions.To set the runtime status of the kernel.yama.ptrace_scope kernel parameter, run the following command:
$ sudo sysctl -w kernel.yama.ptrace_scope=1
+To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
kernel.yama.ptrace_scope = 1
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80902-0: Disable SSH Support for User Known HostsCCE-80922-8: Enable Kernel Parameter to Ignore ICMP Broadcast Echo Requests on IPv4 Interfaces Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.SSH can allow system users to connect to systems if a cache of the remote -systems public keys is available. This should be disabled. -

-To ensure this behavior is disabled, add or correct the following line in +
To set the runtime status of the net.ipv4.icmp_echo_ignore_broadcasts kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1
+To 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
Applicable - ConfigurableVerify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the net.ipv4.icmp_echo_ignore_broadcasts kernel parameter can be queried +by running the following command: +
$ sysctl net.ipv4.icmp_echo_ignore_broadcasts
+1. + Is it the case that the correct value is not returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the net.ipv4.icmp_echo_ignore_broadcasts kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1
+To 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
medium
CCI-000366SRG-OS-000480-GPOS-00227TBD - Assigned by DISA after STIG releaseThe operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80920-2: Disable Kernel Parameter for Accepting Source-Routed Packets on IPv4 Interfaces by DefaultConfiguring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. -
IgnoreUserKnownHosts yes
To set the runtime status of the net.ipv4.conf.default.accept_source_route kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.default.accept_source_route=0
+To 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
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To determine how the SSH daemon's IgnoreUserKnownHosts option is set, run the following command: - -
$ sudo grep -i IgnoreUserKnownHosts /etc/ssh/sshd_config
- -If a line indicating yes is returned, then the required value is set. - Is it the case that the required value is not set?
The runtime status of the net.ipv4.conf.default.accept_source_route kernel parameter can be queried +by running the following command: +
$ sysctl net.ipv4.conf.default.accept_source_route
+0. + Is it the case that the correct value is not returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.SSH can allow system users to connect to systems if a cache of the remote -systems public keys is available. This should be disabled. -

-To ensure this behavior is disabled, add or correct the following line in +
To set the runtime status of the net.ipv4.conf.default.accept_source_route kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.default.accept_source_route=0
+To 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
medium
CCI-000366SRG-OS-000480-GPOS-00227TBD - Assigned by DISA after STIG releaseThe operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80863-4: Ensure Logs Sent To Remote HostConfiguring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. + +Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To configure rsyslog to send logs to a remote log server, +open /etc/rsyslog.conf and read and understand the last section of the file, +which describes the multiple directives necessary to activate remote +logging. +Along with these other directives, the system can be configured +to forward its logs to a particular log server by +adding or correcting one of the following lines, +substituting appropriately. +The choice of protocol depends on the environment of the system; +although TCP and RELP provide more reliable message delivery, +they may not be supported in all environments. +
+To use UDP for log message delivery: +
*.* @
+
+To use TCP for log message delivery: +
*.* @@
+
+To use RELP for log message delivery: +
*.* :omrelp:
+
+There must be a resolvable DNS CNAME or Alias record set to "" for logs to be sent correctly to the centralized logging utility.
Applicable - ConfigurableVerify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To ensure logs are sent to a remote host, examine the file +/etc/rsyslog.conf. +If using UDP, a line similar to the following should be present: +
 *.* @
+If using TCP, a line similar to the following should be present: +
 *.* @@
+If using RELP, a line similar to the following should be present: +
 *.* :omrelp:
Is it the case that no evidence that the audit logs are being off-loaded to another system or media?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To configure rsyslog to send logs to a remote log server, +open /etc/rsyslog.conf and read and understand the last section of the file, +which describes the multiple directives necessary to activate remote +logging. +Along with these other directives, the system can be configured +to forward its logs to a particular log server by +adding or correcting one of the following lines, +substituting appropriately. +The choice of protocol depends on the environment of the system; +although TCP and RELP provide more reliable message delivery, +they may not be supported in all environments. +
+To use UDP for log message delivery: +
*.* @
+
+To use TCP for log message delivery: +
*.* @@
+
+To use RELP for log message delivery: +
*.* :omrelp:
+
+There must be a resolvable DNS CNAME or Alias record set to "" for logs to be sent correctly to the centralized logging utility.
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-84220-3: Configure AIDE to Verify Access Control Lists (ACLs)CCE-82881-4: Disable acquiring, saving, and processing core dumps Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.By default, the acl option is added to the FIPSR ruleset in AIDE. -If using a custom ruleset or the acl option is missing, add acl -to the appropriate ruleset. -For example, add acl to the following line in /etc/aide.conf: -
FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256
-AIDE rules can be configured in multiple ways; this is merely one example that is already -configured by default. - -The remediation provided with this rule adds acl to all rule sets available in -/etc/aide.conf
The systemd-coredump.socket unit is a socket activation of +the systemd-coredump@.service which processes core dumps. +By masking the unit, core dump processing is disabled. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To determine that AIDE is verifying ACLs, run the following command: -
$ grep acl /etc/aide.conf
-Verify that the acl option is added to the correct ruleset. Is it the case that the acl option is missing or not added to the correct ruleset?
To verify that acquiring, saving, and processing core dumps is disabled, run the +following command: +
$ systemctl status systemd-coredump.socket
+The output should be similar to: +
● systemd-coredump.socket
+   Loaded: masked (Reason: Unit systemd-coredump.socket is masked.)
+   Active: inactive (dead) ...
+
Is it the case that unit systemd-coredump.socket is not masked or running?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.By default, the acl option is added to the FIPSR ruleset in AIDE. -If using a custom ruleset or the acl option is missing, add acl -to the appropriate ruleset. -For example, add acl to the following line in /etc/aide.conf: -
FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256
-AIDE rules can be configured in multiple ways; this is merely one example that is already -configured by default. - -The remediation provided with this rule adds acl to all rule sets available in -/etc/aide.conf
lowThe systemd-coredump.socket unit is a socket activation of +the systemd-coredump@.service which processes core dumps. +By masking the unit, core dump processing is disabled.medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82252-8: Disable storing core dumpCCE-83499-4: Ensure All Files Are Owned by a User Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The Storage option in [Coredump] sectionof /etc/systemd/coredump.conf -can be set to none to disable storing core dumps permanently.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. The following command will discover and print +any files on local partitions which do not belong to a valid user: +
$ df --local -P | awk {'if (NR!=1) print $6'} | sudo xargs -I '{}' find '{}' -xdev -nouser
+To search all filesystems on a system including network mounted +filesystems the following command can be run manually for each partition: +
$ sudo find PARTITION -xdev -nouser
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify Red Hat Enterprise Linux 8 disables storing core dumps for all users by issuing the following command: - -$ grep -i storage /etc/systemd/coredump.conf - -Storage=none Is it the case that Storage is not set to none or is commented out and the need for core dumps is not documented with the Information System Security Officer (ISSO) as an operational requirement for all domains that have the "core" item assigned?The following command will discover and print any +files on local partitions which do not belong to a valid user. +
$ df --local -P | awk {'if (NR!=1) print $6'} | sudo xargs -I '{}' find '{}' -xdev -nouser
+

+Either remove all files and directories from the system that do not have a +valid user, or assign a valid user to all unowned files and directories on +the system with the chown command: +
$ sudo chown user file
Is it the case that files exist that are not owned by a valid user?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The Storage option in [Coredump] sectionof /etc/systemd/coredump.conf -can be set to none to disable storing core dumps permanently.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. The following command will discover and print +any files on local partitions which do not belong to a valid user: +
$ df --local -P | awk {'if (NR!=1) print $6'} | sudo xargs -I '{}' find '{}' -xdev -nouser
+To search all filesystems on a system including network mounted +filesystems the following command can be run manually for each partition: +
$ sudo find PARTITION -xdev -nouser
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-81015-0: Disable Kernel Parameter for Accepting Source-Routed Packets on IPv6 Interfaces by DefaultCCE-88248-0: Enable authselect Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the net.ipv6.conf.default.accept_source_route kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.default.accept_source_route=0
-To 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
Configure user authentication setup to use the authselect tool. +If authselect profile is selected, the rule will enable the profile. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the net.ipv6.conf.default.accept_source_route kernel parameter can be queried -by running the following command: -
$ sysctl net.ipv6.conf.default.accept_source_route
-0. - Is it the case that the correct value is not returned?
Verify that authselect is enabled by running +
authselect current
+If authselect is enabled on the system, the output should show the ID of the profile which is currently in use. Is it the case that authselect is not used to manage user authentication setup on the system?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the net.ipv6.conf.default.accept_source_route kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.default.accept_source_route=0
-To 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
Configure user authentication setup to use the authselect tool. +If authselect profile is selected, the rule will enable the profile. medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82934-1: Harden the operation of the BPF just-in-time compilerCCE-80865-9: Ensure Software Patches Installed Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the net.core.bpf_jit_harden kernel parameter, run the following command:
$ sudo sysctl -w net.core.bpf_jit_harden=2
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
net.core.bpf_jit_harden = 2
+If the system is joined to the Red Hat Network, a Red Hat Satellite Server, +or a yum server, run the following command to install updates: +
$ sudo yum update
+If the system is not configured to use one of these sources, updates (in the form of RPM packages) +can be manually downloaded from the Red Hat Network and installed using rpm. + +

+NOTE: U.S. Defense systems are required to be patched within 30 days or sooner as local policy +dictates.
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the net.core.bpf_jit_harden kernel parameter can be queried -by running the following command: -
$ sysctl net.core.bpf_jit_harden
-2. - Is it the case that the correct value is not returned?
Verify Red Hat Enterprise Linux 8 security patches and updates are installed and up to date. +Updates are required to be applied with a frequency determined by organizational policy. + + +Obtain the list of available package security updates from Red Hat. The URL for updates is https://access.redhat.com/errata-search/. +It is important to note that updates provided by Red Hat may not be present on the system if the underlying packages are not installed. + + +Check that the available package security updates have been installed on the system with the following command: + +$ sudo yum history list | more + +Loaded plugins: langpacks, product-id, subscription-manager +ID | Command line | Date and time | Action(s) | Altered +------------------------------------------------------------------------------- +70 | install aide | 2020-03-05 10:58 | Install | 1 +69 | update -y | 2020-03-04 14:34 | Update | 18 EE +68 | install vlc | 2020-02-21 17:12 | Install | 21 +67 | update -y | 2020-02-21 17:04 | Update | 7 EE + + +Typical update frequency may be overridden by Information Assurance Vulnerability Alert (IAVA) notifications from CYBERCOM. Is it the case that Red Hat Enterprise Linux 8 is in non-compliance with the organizational patching policy? Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the net.core.bpf_jit_harden kernel parameter, run the following command:
$ sudo sysctl -w net.core.bpf_jit_harden=2
-To make sure that the setting is persistent, add the following line to a file in the directory /etc/sysctl.d:
net.core.bpf_jit_harden = 2
+If the system is joined to the Red Hat Network, a Red Hat Satellite Server, +or a yum server, run the following command to install updates: +
$ sudo yum update
+If the system is not configured to use one of these sources, updates (in the form of RPM packages) +can be manually downloaded from the Red Hat Network and installed using rpm. + +

+NOTE: U.S. Defense systems are required to be patched within 30 days or sooner as local policy +dictates.
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82233-8: Include Local Events in Audit LogsCCE-83328-5: Add noexec Option to /home Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To configure Audit daemon to include local events in Audit logs, set -local_events to yes in /etc/audit/auditd.conf. -This is the default setting.The noexec mount option can be used to prevent binaries from being +executed out of /home. +Add the noexec option to the fourth column of +/etc/fstab for the line which controls mounting of +/home. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To verify that Audit Daemon is configured to include local events, run the -following command: -
$ sudo grep local_events /etc/audit/auditd.conf
-The output should return the following: -
local_events = yes
Is it the case that local_events isn't set to yes?
Verify the noexec option is configured for the /home mount point, + run the following command: +
$ sudo mount | grep '\s/home\s'
+
. . . /home . . . noexec . . .
+ Is it the case that the "/home" file system does not have the "noexec" option set?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To configure Audit daemon to include local events in Audit logs, set -local_events to yes in /etc/audit/auditd.conf. -This is the default setting.The noexec mount option can be used to prevent binaries from being +executed out of /home. +Add the noexec option to the fourth column of +/etc/fstab for the line which controls mounting of +/home. medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80785-9: Disable Ctrl-Alt-Del Reboot ActivationCCE-84038-9: All Interactive User Home Directories Must Have mode 0750 Or Less Permissive Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.By default, SystemD will reboot the system if the Ctrl-Alt-Del -key sequence is pressed. -

-To configure the system to ignore the Ctrl-Alt-Del key sequence from the - -command line instead of rebooting the system, do either of the following: -
ln -sf /dev/null /etc/systemd/system/ctrl-alt-del.target
-or -
systemctl mask ctrl-alt-del.target
-

-Do not simply delete the /usr/lib/systemd/system/ctrl-alt-del.service file, -as this file may be restored during future system updates.
Change the mode of interactive users home directories to 0750. To +change the mode of interactive users home directory, use the +following command: +
$ sudo chmod 0750 /home/USER
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To ensure the system is configured to mask the Ctrl-Alt-Del sequence, Check -that the ctrl-alt-del.target is masked and not active with the following -command: -
sudo systemctl status ctrl-alt-del.target
-The output should indicate that the target is masked and not active. It -might resemble following output: -
ctrl-alt-del.target
-Loaded: masked (/dev/null; bad)
-Active: inactive (dead)
Is it the case that the system is configured to reboot when Ctrl-Alt-Del is pressed?
To verify the assigned home directory of all interactive user home directories +have a mode of
0750
or less permissive, run the following command: +
$ sudo ls -l /home
+Inspect the output for any directories with incorrect permissions. Is it the case that they are more permissive?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.By default, SystemD will reboot the system if the Ctrl-Alt-Del -key sequence is pressed. -

-To configure the system to ignore the Ctrl-Alt-Del key sequence from the - -command line instead of rebooting the system, do either of the following: -
ln -sf /dev/null /etc/systemd/system/ctrl-alt-del.target
-or -
systemctl mask ctrl-alt-del.target
-

-Do not simply delete the /usr/lib/systemd/system/ctrl-alt-del.service file, -as this file may be restored during future system updates.
highChange the mode of interactive users home directories to 0750. To +change the mode of interactive users home directory, use the +following command: +
$ sudo chmod 0750 /home/USER
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80873-3: Disable the AutomounterCCE-80886-5: Enable rsyslog Service Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The autofs daemon mounts and unmounts filesystems, such as user -home directories shared via NFS, on demand. In addition, autofs can be used to handle -removable media, and the default configuration provides the cdrom device as /misc/cd. -However, this method of providing access to removable media is not common, so autofs -can almost always be disabled if NFS is not in use. Even if NFS is required, it may be -possible to configure filesystem mounts statically by editing /etc/fstab -rather than relying on the automounter. -

+
The rsyslog service provides syslog-style logging by default on Red Hat Enterprise Linux 8. -The autofs service can be disabled with the following command: -
$ sudo systemctl mask --now autofs.service
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To check that the autofs service is disabled in system boot configuration, -run the following command: -
$ sudo systemctl is-enabled autofs
-Output should indicate the autofs service has either not been installed, -or has been disabled at all runlevels, as shown in the example below: -
$ sudo systemctl is-enabled autofs
disabled
- -Run the following command to verify autofs is not active (i.e. not running) through current runtime configuration: -
$ sudo systemctl is-active autofs
- -If the service is not running the command will return the following output: -
inactive
- -The service will also be masked, to check that the autofs is masked, run the following command: -
$ sudo systemctl show autofs | grep "LoadState\|UnitFileState"
- -If the service is masked the command will return the following outputs: - -
LoadState=masked
+
-
UnitFileState=masked
Is it the case that the "autofs" is loaded and not masked?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The autofs daemon mounts and unmounts filesystems, such as user -home directories shared via NFS, on demand. In addition, autofs can be used to handle -removable media, and the default configuration provides the cdrom device as /misc/cd. -However, this method of providing access to removable media is not common, so autofs -can almost always be disabled if NFS is not in use. Even if NFS is required, it may be -possible to configure filesystem mounts statically by editing /etc/fstab -rather than relying on the automounter. -

+
The rsyslog service provides syslog-style logging by default on Red Hat Enterprise Linux 8. -The autofs service can be disabled with the following command: -
$ sudo systemctl mask --now autofs.service
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-85987-6: Only Authorized Local User Accounts Exist on Operating SystemCCE-80847-7: Ensure rsyslog is Installed Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Enterprise Application tends to use the server or virtual machine exclusively. -Besides the default operating system user, there should be only authorized local -users required by the installed software groups and applications that exist on -the operating system. The authorized user list can be customized in the refine -value variable var_accounts_authorized_local_users_regex. -OVAL regular expression is used for the user list. -Configure the system so all accounts on the system are assigned to an active system, -application, or user account. Remove accounts that do not support approved system -activities or that allow for a normal user to perform administrative-level actions. -To remove unauthorized system accounts, use the following command: -
$ sudo userdel unauthorized_user
Rsyslog is installed by default. The rsyslog package can be installed with the following command:
 $ sudo yum install rsyslog
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To verify that there are no unauthorized local user accounts, run the following command: -
$ less /etc/passwd 
-Inspect the results, and if unauthorized local user accounts exist, remove them by running -the following command: -
$ sudo userdel unauthorized_user
Is it the case that there are unauthorized local user accounts on the system?
Run the following command to determine if the rsyslog package is installed:
$ rpm -q rsyslog
Is it the case that the package is not installed?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Enterprise Application tends to use the server or virtual machine exclusively. -Besides the default operating system user, there should be only authorized local -users required by the installed software groups and applications that exist on -the operating system. The authorized user list can be customized in the refine -value variable var_accounts_authorized_local_users_regex. -OVAL regular expression is used for the user list. -Configure the system so all accounts on the system are assigned to an active system, -application, or user account. Remove accounts that do not support approved system -activities or that allow for a normal user to perform administrative-level actions. -To remove unauthorized system accounts, use the following command: -
$ sudo userdel unauthorized_user
Rsyslog is installed by default. The rsyslog package can be installed with the following command:
 $ sudo yum install rsyslog
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-84053-8: Mount Remote Filesystems with nosuidCCE-80853-5: Ensure /var/log Located On Separate Partition Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Add the nosuid option to the fourth column of /etc/fstab for the line which controls mounting of -any NFS mounts.System logs are stored in the /var/log directory. + +Ensure that /var/log has its own partition or logical +volume at installation time, or migrate it using LVM. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To verify the nosuid option is configured for all NFS mounts, run -the following command: -
$ mount | grep nfs
-All NFS mounts should show the nosuid setting in parentheses. This -is not applicable if NFS is not implemented. Is it the case that the setting does not show?
Verify that a separate file system/partition has been created for /var/log with the following command: + +
$ mountpoint /var/log
+ Is it the case that "/var/log is not a mountpoint" is returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Add the nosuid option to the fourth column of /etc/fstab for the line which controls mounting of -any NFS mounts.mediumSystem logs are stored in the /var/log directory. + +Ensure that /var/log has its own partition or logical +volume at installation time, or migrate it using LVM.low TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-83789-8: Ensure Home Directories are Created for New UsersCCE-80896-4: Disable SSH Access via Empty Passwords Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.All local interactive user accounts, upon creation, should be assigned a home directory. -

-Configure the operating system to assign home directories to all new local interactive users by setting the CREATE_HOME -parameter in /etc/login.defs to yes as follows: -

-
CREATE_HOME yes
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. +
+To explicitly disallow SSH login from accounts with empty passwords, +add or correct the following line in + + +/etc/ssh/sshd_config: + +
+
PermitEmptyPasswords no
+Any accounts with empty passwords should be disabled immediately, and PAM configuration +should prevent users from being able to assign themselves empty passwords.
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify all local interactive users on Red Hat Enterprise Linux 8 are assigned a home -directory upon creation with the following command: -
$ grep -i create_home /etc/login.defs
-
CREATE_HOME yes
Is it the case that the value for "CREATE_HOME" parameter is not set to "yes", the line is missing, or the line is commented out?
To determine how the SSH daemon's PermitEmptyPasswords option is set, run the following command: + +
$ sudo grep -i PermitEmptyPasswords /etc/ssh/sshd_config
+ +If a line indicating no is returned, then the required value is set. + Is it the case that the required value is not set?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.All local interactive user accounts, upon creation, should be assigned a home directory. -

-Configure the operating system to assign home directories to all new local interactive users by setting the CREATE_HOME -parameter in /etc/login.defs to yes as follows: -

-
CREATE_HOME yes
mediumDisallow 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. +
+To explicitly disallow SSH login from accounts with empty passwords, +add or correct the following line in + + +/etc/ssh/sshd_config: + +
+
PermitEmptyPasswords no
+Any accounts with empty passwords should be disabled immediately, and PAM configuration +should prevent users from being able to assign themselves empty passwords.
high TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-88248-0: Enable authselectCCE-81010-1: Disable Kernel Parameter for Accepting ICMP Redirects by Default on IPv6 Interfaces Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Configure user authentication setup to use the authselect tool. -If authselect profile is selected, the rule will enable the profile.To set the runtime status of the net.ipv6.conf.default.accept_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.default.accept_redirects=0
+To 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
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify that authselect is enabled by running -
authselect current
-If authselect is enabled on the system, the output should show the ID of the profile which is currently in use. Is it the case that authselect is not used to manage user authentication setup on the system?
The runtime status of the net.ipv6.conf.default.accept_redirects kernel parameter can be queried +by running the following command: +
$ sysctl net.ipv6.conf.default.accept_redirects
+0. + Is it the case that the correct value is not returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Configure user authentication setup to use the authselect tool. -If authselect profile is selected, the rule will enable the profile.To set the runtime status of the net.ipv6.conf.default.accept_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.default.accept_redirects=0
+To 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
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82943-2: Uninstall gssproxy PackageCCE-80946-7: Disable vsyscalls Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The gssproxy package can be removed with the following command: -
-$ sudo yum erase gssproxy
To disable use of virtual syscalls, +add the argument vsyscall=none to the default +GRUB 2 command line for the Linux operating system. +To ensure that vsyscall=none is added as a kernel command line +argument to newly installed kernels, add vsyscall=none to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... vsyscall=none ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="vsyscall=none"
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Run the following command to determine if the gssproxy package is installed: -
$ rpm -q gssproxy
Is it the case that the package is installed?
Inspect the form of default GRUB 2 command line for the Linux operating system +in /etc/default/grub. If it includes vsyscall=none, +then the parameter will be configured for newly installed kernels. +First check if the GRUB recovery is enabled: +
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
+If this option is set to true, then check that a line is output by the following command: +
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*vsyscall=none.*' /etc/default/grub
+If the recovery is disabled, check the line with +
$ sudo grep 'GRUB_CMDLINE_LINUX.*vsyscall=none.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. +Run the following command: +
$ sudo grubby --info=ALL | grep args | grep -v 'vsyscall=none'
+The command should not return any output. Is it the case that vsyscalls are enabled?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The gssproxy package can be removed with the following command: -
-$ sudo yum erase gssproxy
To disable use of virtual syscalls, +add the argument vsyscall=none to the default +GRUB 2 command line for the Linux operating system. +To ensure that vsyscall=none is added as a kernel command line +argument to newly installed kernels, add vsyscall=none to the +default Grub2 command line for Linux operating systems. Modify the line within +/etc/default/grub as shown below: +
GRUB_CMDLINE_LINUX="... vsyscall=none ..."
+Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="vsyscall=none"
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82428-4: Verify Permissions on SSH Server Public *.pub Key FilesCCE-82059-7: Disable CAN Support Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections. To properly set the permissions of /etc/ssh/*.pub, run the command:
$ sudo chmod 0644 /etc/ssh/*.pub
The Controller Area Network (CAN) is a serial communications +protocol which was initially developed for automotive and +is now also used in marine, industrial, and medical applications. + +To configure the system to prevent the can +kernel module from being loaded, add the following line to the file /etc/modprobe.d/can.conf: +
install can /bin/true
+ +To configure the system to prevent the can from being used, +add the following line to file /etc/modprobe.d/can.conf: +
blacklist can
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To check the permissions of /etc/ssh/*.pub, -run the command: -
$ ls -l /etc/ssh/*.pub
-If properly configured, the output should indicate the following permissions: --rw-r--r-- Is it the case that /etc/ssh/*.pub does not have unix mode -rw-r--r--?
+If the system is configured to prevent the loading of the can kernel module, +it will contain lines inside any file in /etc/modprobe.d or the deprecated /etc/modprobe.conf. +These lines instruct the module loading system to run another program (such as /bin/true) upon a module install event. + +These lines can also instruct the module loading system to ignore the can kernel module via blacklist keyword. + +Run the following command to search for such lines in all files in /etc/modprobe.d and the deprecated /etc/modprobe.conf: +
$ grep -r can /etc/modprobe.conf /etc/modprobe.d
Is it the case that no line is returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. To properly set the permissions of /etc/ssh/*.pub, run the command:
$ sudo chmod 0644 /etc/ssh/*.pub
The Controller Area Network (CAN) is a serial communications +protocol which was initially developed for automotive and +is now also used in marine, industrial, and medical applications. + +To configure the system to prevent the can +kernel module from being loaded, add the following line to the file /etc/modprobe.d/can.conf: +
install can /bin/true
+ +To configure the system to prevent the can from being used, +add the following line to file /etc/modprobe.d/can.conf: +
blacklist can
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-84049-6: Configure Multiple DNS Servers in /etc/resolv.confCCE-80902-0: Disable SSH Support for User Known Hosts Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections. -Determine whether the system is using local or DNS name resolution with the -following command: -
$ sudo grep hosts /etc/nsswitch.conf
-hosts: files dns
-If the DNS entry is missing from the host's line in the "/etc/nsswitch.conf" -file, the "/etc/resolv.conf" file must be empty. -Verify the "/etc/resolv.conf" file is empty with the following command: -
$ sudo ls -al /etc/resolv.conf
--rw-r--r-- 1 root root 0 Aug 19 08:31 resolv.conf
-If the DNS entry is found on the host's line of the "/etc/nsswitch.conf" file, -then verify the following:
+
SSH can allow system users to connect to systems if a cache of the remote +systems public keys is available. This should be disabled. +

+To ensure this behavior is disabled, add or correct the following line in -Multiple Domain Name System (DNS) Servers should be configured -in /etc/resolv.conf. This provides redundant name resolution services -in the event that a domain server crashes. To configure the system to contain -as least 2 DNS servers, add a corresponding nameserver -ip_address entry in /etc/resolv.conf for each DNS -server where ip_address is the IP address of a valid DNS server. -For example: -
search example.com
-nameserver 192.168.0.1
-nameserver 192.168.0.2
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify that DNS servers have been configured properly, perform the following: -
$ sudo grep nameserver /etc/resolv.conf
Is it the case that less than two lines are returned that are not commented out?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. -Determine whether the system is using local or DNS name resolution with the -following command: -
$ sudo grep hosts /etc/nsswitch.conf
-hosts: files dns
-If the DNS entry is missing from the host's line in the "/etc/nsswitch.conf" -file, the "/etc/resolv.conf" file must be empty. -Verify the "/etc/resolv.conf" file is empty with the following command: -
$ sudo ls -al /etc/resolv.conf
--rw-r--r-- 1 root root 0 Aug 19 08:31 resolv.conf
-If the DNS entry is found on the host's line of the "/etc/nsswitch.conf" file, -then verify the following:
+
To determine how the SSH daemon's IgnoreUserKnownHosts option is set, run the following command: -Multiple Domain Name System (DNS) Servers should be configured -in /etc/resolv.conf. This provides redundant name resolution services -in the event that a domain server crashes. To configure the system to contain -as least 2 DNS servers, add a corresponding nameserver -ip_address entry in /etc/resolv.conf for each DNS -server where ip_address is the IP address of a valid DNS server. -For example: -
search example.com
-nameserver 192.168.0.1
-nameserver 192.168.0.2
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.SSH can allow system users to connect to systems if a cache of the remote +systems public keys is available. This should be disabled. +

+To ensure this behavior is disabled, add or correct the following line in + + +/etc/ssh/sshd_config: + +
IgnoreUserKnownHosts yes
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-84052-0: Mount Remote Filesystems with nodevCCE-80854-3: Ensure /var/log/audit Located On Separate Partition Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Add the nodev option to the fourth column of /etc/fstab for the line which controls mounting of -any NFS mounts.Audit logs are stored in the /var/log/audit directory. + +Ensure that /var/log/audit has its own partition or logical +volume at installation time, or migrate it using LVM. +Make absolutely certain that it is large enough to store all +audit logs that will be created by the auditing daemon. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To verify the nodev option is configured for all NFS mounts, run -the following command: -
$ mount | grep nfs
-All NFS mounts should show the nodev setting in parentheses. This -is not applicable if NFS is not implemented. Is it the case that the setting does not show?
Verify that a separate file system/partition has been created for /var/log/audit with the following command: + +
$ mountpoint /var/log/audit
+ Is it the case that "/var/log/audit is not a mountpoint" is returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Add the nodev option to the fourth column of /etc/fstab for the line which controls mounting of -any NFS mounts.mediumAudit logs are stored in the /var/log/audit directory. + +Ensure that /var/log/audit has its own partition or logical +volume at installation time, or migrate it using LVM. +Make absolutely certain that it is large enough to store all +audit logs that will be created by the auditing daemon.low TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82211-4: Disable the use of user namespacesCCE-81013-5: Disable Kernel Parameter for Accepting Source-Routed Packets on all IPv6 Interfaces Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the user.max_user_namespaces kernel parameter, -run the following command: -
$ sudo sysctl -w user.max_user_namespaces=0
- -To make sure that the setting is persistent, -add the following line to a file in the directory /etc/sysctl.d: -
user.max_user_namespaces = 0
-When containers are deployed on the machine, the value should be set -to large non-zero value.
To set the runtime status of the net.ipv6.conf.all.accept_source_route kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.all.accept_source_route=0
+To 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
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify that Red Hat Enterprise Linux 8 disables the use of user namespaces with the following commands: - -Note: User namespaces are used primarily for Linux containers. If containers are in use, this requirement is not applicable. - -The runtime status of the user.max_user_namespaces kernel parameter can be queried + The runtime status of the net.ipv6.conf.all.accept_source_route kernel parameter can be queried by running the following command: -
$ sysctl user.max_user_namespaces
+
$ sysctl net.ipv6.conf.all.accept_source_route
0. Is it the case that the correct value is not returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the user.max_user_namespaces kernel parameter, -run the following command: -
$ sudo sysctl -w user.max_user_namespaces=0
- -To make sure that the setting is persistent, -add the following line to a file in the directory /etc/sysctl.d: -
user.max_user_namespaces = 0
-When containers are deployed on the machine, the value should be set -to large non-zero value.
To set the runtime status of the net.ipv6.conf.all.accept_source_route kernel parameter, run the following command:
$ sudo sysctl -w net.ipv6.conf.all.accept_source_route=0
+To 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
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82881-4: Disable acquiring, saving, and processing core dumpsCCE-82943-2: Uninstall gssproxy Package Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The systemd-coredump.socket unit is a socket activation of -the systemd-coredump@.service which processes core dumps. -By masking the unit, core dump processing is disabled.The gssproxy package can be removed with the following command: +
+$ sudo yum erase gssproxy
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To verify that acquiring, saving, and processing core dumps is disabled, run the -following command: -
$ systemctl status systemd-coredump.socket
-The output should be similar to: -
● systemd-coredump.socket
-   Loaded: masked (Reason: Unit systemd-coredump.socket is masked.)
-   Active: inactive (dead) ...
-
Is it the case that unit systemd-coredump.socket is not masked or running?
Run the following command to determine if the gssproxy package is installed: +
$ rpm -q gssproxy
Is it the case that the package is installed?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The systemd-coredump.socket unit is a socket activation of -the systemd-coredump@.service which processes core dumps. -By masking the unit, core dump processing is disabled.The gssproxy package can be removed with the following command: +
+$ sudo yum erase gssproxy
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80853-5: Ensure /var/log Located On Separate PartitionCCE-82831-9: Enable the Hardware RNG Entropy Gatherer Service Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.System logs are stored in the /var/log directory. + The Hardware RNG Entropy Gatherer service should be enabled. -Ensure that /var/log has its own partition or logical -volume at installation time, or migrate it using LVM. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify that a separate file system/partition has been created for /var/log with the following command: + -
$ mountpoint /var/log
- Is it the case that "/var/log is not a mountpoint" is returned?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.System logs are stored in the /var/log directory. + The Hardware RNG Entropy Gatherer service should be enabled. -Ensure that /var/log has its own partition or logical -volume at installation time, or migrate it using LVM. low TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-84056-1: Remove User Host-Based Authentication FilesCCE-82424-3: Verify Permissions on SSH Server Private *_key Key Files Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The ~/.shosts (in each user's home directory) files -list remote hosts and users that are trusted by the -local system. To remove these files, run the following command -to delete them from any location: -
$ sudo find / -name '.shosts' -type f -delete
SSH server private keys - files that match the /etc/ssh/*_key glob, have to have restricted permissions. +If those files are owned by the root user and the root group, they have to have the 0600 permission or stricter. +If they are owned by the root user, but by a dedicated group ssh_keys, they can have the 0640 permission or stricter. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To verify that there are no .shosts files -on the system, run the following command: -
$ sudo find / -name '.shosts'
Is it the case that .shosts files exist?
To check the permissions of /etc/ssh/*_key, +run the command: +
$ ls -l /etc/ssh/*_key
+If properly configured, the output should indicate the following permissions: +-rw------- Is it the case that /etc/ssh/*_key does not have unix mode -rw-------?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The ~/.shosts (in each user's home directory) files -list remote hosts and users that are trusted by the -local system. To remove these files, run the following command -to delete them from any location: -
$ sudo find / -name '.shosts' -type f -delete
highSSH server private keys - files that match the /etc/ssh/*_key glob, have to have restricted permissions. +If those files are owned by the root user and the root group, they have to have the 0600 permission or stricter. +If they are owned by the root user, but by a dedicated group ssh_keys, they can have the 0640 permission or stricter.medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82462-3: SSH server uses strong entropy to seedCCE-80859-2: Ensure cron Is Logging To Rsyslog Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set up SSH server to use entropy from a high-quality source, edit the /etc/sysconfig/sshd file. -The SSH_USE_STRONG_RNG configuration value determines how many bytes of entropy to use, so -make sure that the file contains line -
SSH_USE_STRONG_RNG=32
Cron logging must be implemented to spot intrusions or trace +cron job status. If cron is not logging to rsyslog, it +can be implemented by adding the following to the RULES section of +/etc/rsyslog.conf: +
cron.*                                                  /var/log/cron
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To determine whether the SSH service is configured to use strong entropy seed, -run
$ sudo grep SSH_USE_STRONG_RNG /etc/sysconfig/sshd
-If a line indicating that SSH_USE_STRONG_RNG is set to 32 is returned, -then the option is set correctly. Is it the case that the SSH_USE_STRONG_RNG is not set to 32 in /etc/sysconfig/sshd?
Verify that cron is logging to rsyslog, +run the following command: +
grep -rni "cron\.\*" /etc/rsyslog.*
+
cron.*                                                  /var/log/cron
Is it the case that cron is not logging to rsyslog?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set up SSH server to use entropy from a high-quality source, edit the /etc/sysconfig/sshd file. -The SSH_USE_STRONG_RNG configuration value determines how many bytes of entropy to use, so -make sure that the file contains line -
SSH_USE_STRONG_RNG=32
lowCron logging must be implemented to spot intrusions or trace +cron job status. If cron is not logging to rsyslog, it +can be implemented by adding the following to the RULES section of +/etc/rsyslog.conf: +
cron.*                                                  /var/log/cron
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80944-2: Enable page allocator poisoningCCE-83380-6: Disable X Windows Startup By Setting Default Target Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To enable poisoning of free pages, -add the argument page_poison=1 to the default -GRUB 2 command line for the Linux operating system. -To ensure that page_poison=1 is added as a kernel command line -argument to newly installed kernels, add page_poison=1 to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... page_poison=1 ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="page_poison=1"
Systems that do not require a graphical user interface should only boot by +default into multi-user.target mode. This prevents accidental booting of the system +into a graphical.target mode. Setting the system's default target to +multi-user.target will prevent automatic startup of the X server. To do so, run: +
$ systemctl set-default multi-user.target
+You should see the following output: +
Removed symlink /etc/systemd/system/default.target.
+Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Inspect the form of default GRUB 2 command line for the Linux operating system -in /etc/default/grub. If it includes page_poison=1, -then the parameter will be configured for newly installed kernels. -First check if the GRUB recovery is enabled: -
$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub
-If this option is set to true, then check that a line is output by the following command: -
$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*page_poison=1.*' /etc/default/grub
-If the recovery is disabled, check the line with -
$ sudo grep 'GRUB_CMDLINE_LINUX.*page_poison=1.*' /etc/default/grub
.Moreover, command line parameters for currently installed kernels should be checked as well. -Run the following command: -
$ sudo grubby --info=ALL | grep args | grep -v 'page_poison=1'
-The command should not return any output. Is it the case that page allocator poisoning is not enabled?
Verify that Red Hat Enterprise Linux 8 is configured to boot to the command line: +
$ systemctl get-default
+
multi-user.target
Is it the case that the system default target is not set to "multi-user.target" and the Information System Security Officer (ISSO) lacks a documented requirement for a graphical user interface?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To enable poisoning of free pages, -add the argument page_poison=1 to the default -GRUB 2 command line for the Linux operating system. -To ensure that page_poison=1 is added as a kernel command line -argument to newly installed kernels, add page_poison=1 to the -default Grub2 command line for Linux operating systems. Modify the line within -/etc/default/grub as shown below: -
GRUB_CMDLINE_LINUX="... page_poison=1 ..."
-Run the following command to update command line for already installed kernels:
# grubby --update-kernel=ALL --args="page_poison=1"
Systems that do not require a graphical user interface should only boot by +default into multi-user.target mode. This prevents accidental booting of the system +into a graphical.target mode. Setting the system's default target to +multi-user.target will prevent automatic startup of the X server. To do so, run: +
$ systemctl set-default multi-user.target
+You should see the following output: +
Removed symlink /etc/systemd/system/default.target.
+Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-86377-9: Ensure sudo only includes the default configuration directoryCCE-83422-6: Ensure invoking users password for privilege escalation when using sudo Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Administrators can configure authorized sudo users via drop-in files, and it is possible to include -other directories and configuration files from the file currently being parsed. - -Make sure that /etc/sudoers only includes drop-in configuration files from /etc/sudoers.d, -or that no drop-in file is included. -Either the /etc/sudoers should contain only one #includedir directive pointing to -/etc/sudoers.d, and no file in /etc/sudoers.d/ should include other files or directories; -Or the /etc/sudoers should not contain any #include, -@include, #includedir or @includedir directives. -Note that the '#' character doesn't denote a comment in the configuration file.The sudoers security policy requires that users authenticate themselves before they can use sudo. +When sudoers requires authentication, it validates the invoking user's credentials. +The expected output for: +
 sudo cvtsudoers -f sudoers /etc/sudoers | grep -E '^Defaults !?(rootpw|targetpw|runaspw)$' 
+
 Defaults !targetpw
+      Defaults !rootpw
+      Defaults !runaspw 
+or if cvtsudoers not supported: +
 sudo find /etc/sudoers /etc/sudoers.d \( \! -name '*~' -a \! -name '*.*' \) -exec grep -E --with-filename '^[[:blank:]]*Defaults[[:blank:]](.*[[:blank:]])?!?\b(rootpw|targetpw|runaspw)' -- {} \; 
+
 /etc/sudoers:Defaults !targetpw
+      /etc/sudoers:Defaults !rootpw
+      /etc/sudoers:Defaults !runaspw 
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To determine whether sudo command includes configuration files from the appropriate directory, -run the following command: -
$ sudo grep -rP '^[#@]include(dir)?' /etc/sudoers /etc/sudoers.d
-If only the line /etc/sudoers:#includedir /etc/sudoers.d is returned, then the drop-in include configuration is set correctly. -Any other line returned is a finding. Is it the case that the /etc/sudoers doesn't include /etc/sudores.d or includes other directories??
Run the following command to Verify that the sudoers security policy is configured to use the invoking user's password for privilege escalation: +
 sudo cvtsudoers -f sudoers /etc/sudoers | grep -E '^Defaults !?(rootpw|targetpw|runaspw)' 
+or if cvtsudoers not supported: +
 sudo find /etc/sudoers /etc/sudoers.d \( \! -name '*~' -a \! -name '*.*' \) -exec grep -E --with-filename '^[[:blank:]]*Defaults[[:blank:]](.*[[:blank:]])?!?\b(rootpw|targetpw|runaspw)' -- {} \; 
+If no results are returned, this is a finding. +If conflicting results are returned, this is a finding. +If "Defaults !targetpw" is not defined, this is a finding. +If "Defaults !rootpw" is not defined, this is a finding. +If "Defaults !runaspw" is not defined, this is a finding. Is it the case that invoke user passwd when using sudo?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Administrators can configure authorized sudo users via drop-in files, and it is possible to include -other directories and configuration files from the file currently being parsed. - -Make sure that /etc/sudoers only includes drop-in configuration files from /etc/sudoers.d, -or that no drop-in file is included. -Either the /etc/sudoers should contain only one #includedir directive pointing to -/etc/sudoers.d, and no file in /etc/sudoers.d/ should include other files or directories; -Or the /etc/sudoers should not contain any #include, -@include, #includedir or @includedir directives. -Note that the '#' character doesn't denote a comment in the configuration file.The sudoers security policy requires that users authenticate themselves before they can use sudo. +When sudoers requires authentication, it validates the invoking user's credentials. +The expected output for: +
 sudo cvtsudoers -f sudoers /etc/sudoers | grep -E '^Defaults !?(rootpw|targetpw|runaspw)$' 
+
 Defaults !targetpw
+      Defaults !rootpw
+      Defaults !runaspw 
+or if cvtsudoers not supported: +
 sudo find /etc/sudoers /etc/sudoers.d \( \! -name '*~' -a \! -name '*.*' \) -exec grep -E --with-filename '^[[:blank:]]*Defaults[[:blank:]](.*[[:blank:]])?!?\b(rootpw|targetpw|runaspw)' -- {} \; 
+
 /etc/sudoers:Defaults !targetpw
+      /etc/sudoers:Defaults !rootpw
+      /etc/sudoers:Defaults !runaspw 
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-84043-9: Ensure All User Initialization Files Have Mode 0740 Or Less PermissiveCCE-83425-9: The operating system must restrict privilege elevation to authorized personnel Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Set the mode of the user initialization files to 0740 with the -following command: -
$ sudo chmod 0740 /home/USER/.INIT_FILE
The sudo command allows a user to execute programs with elevated +(administrator) privileges. It prompts the user for their password +and confirms your request to execute a command by checking a file, +called sudoers. +Restrict privileged actions by removing the following entries from the sudoers file: +ALL ALL=(ALL) ALL +ALL ALL=(ALL:ALL) ALL Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To verify that all user initialization files have a mode of 0740 or -less permissive, run the following command: -
$ sudo find /home -type f -name '\.*' \( -perm -0002 -o -perm -0020 \)
-There should be no output. Is it the case that they are not 0740 or more permissive?
Determine if "sudoers" file restricts sudo access run the following commands: +
$ sudo grep -PR '^\s*ALL\s+ALL\=\(ALL\)\s+ALL\s*$' /etc/sudoers /etc/sudoers.d/*
+
$ sudo grep -PR '^\s*ALL\s+ALL\=\(ALL\:ALL\)\s+ALL\s*$' /etc/sudoers /etc/sudoers.d/*
Is it the case that either of the commands returned a line?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Set the mode of the user initialization files to 0740 with the -following command: -
$ sudo chmod 0740 /home/USER/.INIT_FILE
The sudo command allows a user to execute programs with elevated +(administrator) privileges. It prompts the user for their password +and confirms your request to execute a command by checking a file, +called sudoers. +Restrict privileged actions by removing the following entries from the sudoers file: +ALL ALL=(ALL) ALL +ALL ALL=(ALL:ALL) ALL medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80904-6: Enable Use of Strict Mode CheckingCCE-84028-0: Disable Ctrl-Alt-Del Reboot Key Sequence in GNOME3 Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.SSHs StrictModes option checks file and ownership permissions in -the user's home directory .ssh folder before accepting login. If world- -writable permissions are found, logon is rejected. -
-The default SSH configuration has StrictModes enabled. The appropriate -configuration is used if no value is set for StrictModes. -
-To explicitly enable StrictModes in SSH, add or correct the following line in - - -/etc/ssh/sshd_config: - -
StrictModes yes
By default, GNOME will reboot the system if the +Ctrl-Alt-Del key sequence is pressed. +

+To configure the system to ignore the Ctrl-Alt-Del key sequence +from the Graphical User Interface (GUI) instead of rebooting the system, +add or set logout to '' in +/etc/dconf/db/local.d/00-security-settings. For example: +
[org/gnome/settings-daemon/plugins/media-keys]
+logout=''
+Once the settings have been added, add a lock to +/etc/dconf/db/local.d/locks/00-security-settings-lock to prevent +user modification. For example: +
/org/gnome/settings-daemon/plugins/media-keys/logout
+After the settings have been set, run dconf update.
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To determine how the SSH daemon's StrictModes option is set, run the following command: - -
$ sudo grep -i StrictModes /etc/ssh/sshd_config
- -If a line indicating yes is returned, then the required value is set. - Is it the case that the required value is not set?
To ensure the system is configured to ignore the Ctrl-Alt-Del sequence, +run the following command: +
$ gsettings get org.gnome.settings-daemon.plugins.media-keys logout
+
$ grep logout /etc/dconf/db/local.d/locks/*
+If properly configured, the output should be +/org/gnome/settings-daemon/plugins/media-keys/logout Is it the case that GNOME3 is configured to reboot when Ctrl-Alt-Del is pressed?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.SSHs StrictModes option checks file and ownership permissions in -the user's home directory .ssh folder before accepting login. If world- -writable permissions are found, logon is rejected. -
-The default SSH configuration has StrictModes enabled. The appropriate -configuration is used if no value is set for StrictModes. -
-To explicitly enable StrictModes in SSH, add or correct the following line in - - -/etc/ssh/sshd_config: - -
StrictModes yes
mediumBy default, GNOME will reboot the system if the +Ctrl-Alt-Del key sequence is pressed. +

+To configure the system to ignore the Ctrl-Alt-Del key sequence +from the Graphical User Interface (GUI) instead of rebooting the system, +add or set logout to '' in +/etc/dconf/db/local.d/00-security-settings. For example: +
[org/gnome/settings-daemon/plugins/media-keys]
+logout=''
+Once the settings have been added, add a lock to +/etc/dconf/db/local.d/locks/00-security-settings-lock to prevent +user modification. For example: +
/org/gnome/settings-daemon/plugins/media-keys/logout
+After the settings have been set, run dconf update.
high TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82059-7: Disable CAN SupportCCE-85872-0: Ensure PAM password complexity module is enabled in system-auth Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The Controller Area Network (CAN) is a serial communications -protocol which was initially developed for automotive and -is now also used in marine, industrial, and medical applications. - -To configure the system to prevent the can -kernel module from being loaded, add the following line to the file /etc/modprobe.d/can.conf: -
install can /bin/true
- -To configure the system to prevent the can from being used, -add the following line to file /etc/modprobe.d/can.conf: -
blacklist can
To enable PAM password complexity in system-auth file: +Edit the password section in +/etc/pam.d/system-auth to show +password requisite pam_pwquality.so. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding. -If the system is configured to prevent the loading of the can kernel module, -it will contain lines inside any file in /etc/modprobe.d or the deprecated /etc/modprobe.conf. -These lines instruct the module loading system to run another program (such as /bin/true) upon a module install event. - -These lines can also instruct the module loading system to ignore the can kernel module via blacklist keyword. - -Run the following command to search for such lines in all files in /etc/modprobe.d and the deprecated /etc/modprobe.conf: -
$ grep -r can /etc/modprobe.conf /etc/modprobe.d
Is it the case that no line is returned?
To check if pam_pwquality.so is enabled in system-auth, run the following command: +
$ grep pam_pwquality /etc/pam.d/system-auth
+The output should be similar to the following: +
password requisite pam_pwquality.so
Is it the case that pam_pwquality.so is not enabled in system-auth?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The Controller Area Network (CAN) is a serial communications -protocol which was initially developed for automotive and -is now also used in marine, industrial, and medical applications. - -To configure the system to prevent the can -kernel module from being loaded, add the following line to the file /etc/modprobe.d/can.conf: -
install can /bin/true
- -To configure the system to prevent the can from being used, -add the following line to file /etc/modprobe.d/can.conf: -
blacklist can
To enable PAM password complexity in system-auth file: +Edit the password section in +/etc/pam.d/system-auth to show +password requisite pam_pwquality.so. medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80922-8: Enable Kernel Parameter to Ignore ICMP Broadcast Echo Requests on IPv4 InterfacesCCE-83375-6: Ensure All World-Writable Directories Are Owned by root User Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the net.ipv4.icmp_echo_ignore_broadcasts kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1
-To 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
All directories in local partitions which are world-writable should be owned by root. +If any world-writable directories are not owned by root, this should be investigated. +Following this, the files should be deleted or assigned to root user. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the net.ipv4.icmp_echo_ignore_broadcasts kernel parameter can be queried -by running the following command: -
$ sysctl net.ipv4.icmp_echo_ignore_broadcasts
-1. - Is it the case that the correct value is not returned?
The following command will discover and print world-writable directories that +are not owned by root. Run it once for each local partition PART: +
$ sudo find PART -xdev -type d -perm -0002 -uid +0 -print
Is it the case that there are world-writable directories not owned by root?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the net.ipv4.icmp_echo_ignore_broadcasts kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1
-To 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
All directories in local partitions which are world-writable should be owned by root. +If any world-writable directories are not owned by root, this should be investigated. +Following this, the files should be deleted or assigned to root user. medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80898-0: Disable Kerberos AuthenticationCCE-83434-1: All Interactive User Home Directories Must Be Group-Owned By The Primary Group Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Unless needed, SSH should not permit extraneous or unnecessary -authentication mechanisms like Kerberos. -
-The default SSH configuration disallows authentication validation through Kerberos. -The appropriate configuration is used if no value is set for KerberosAuthentication. -
-To explicitly disable Kerberos authentication, add or correct the following line in - - -/etc/ssh/sshd_config: +
Change the group owner of interactive users home directory to the +group found in /etc/passwd. To change the group owner of +interactive users home directory, use the following command: +
$ sudo chgrp USER_GROUP /home/USER
-
KerberosAuthentication no
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To determine how the SSH daemon's KerberosAuthentication option is set, run the following command: + To verify the assigned home directory of all interactive users is group- +owned by that users primary GID, run the following command: +
# ls -ld $(awk -F: '($3>=1000)&&($7 !~ /nologin/){print $6}' /etc/passwd)
Is it the case that the group ownership is incorrect?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Change the group owner of interactive users home directory to the +group found in /etc/passwd. To change the group owner of +interactive users home directory, use the following command: +
$ sudo chgrp USER_GROUP /home/USER
-
$ sudo grep -i KerberosAuthentication /etc/ssh/sshd_config
+This 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.
medium
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Unless needed, SSH should not permit extraneous or unnecessary -authentication mechanisms like Kerberos. -
-The default SSH configuration disallows authentication validation through Kerberos. -The appropriate configuration is used if no value is set for KerberosAuthentication. -
-To explicitly disable Kerberos authentication, add or correct the following line in +
CCI-000366SRG-OS-000480-GPOS-00227TBD - Assigned by DISA after STIG releaseThe operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82428-4: Verify Permissions on SSH Server Public *.pub Key FilesConfiguring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. -
KerberosAuthentication no
To properly set the permissions of /etc/ssh/*.pub, run the command:
$ sudo chmod 0644 /etc/ssh/*.pub
Applicable - ConfigurableVerify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To check the permissions of /etc/ssh/*.pub, +run the command: +
$ ls -l /etc/ssh/*.pub
+If properly configured, the output should indicate the following permissions: +-rw-r--r-- Is it the case that /etc/ssh/*.pub does not have unix mode -rw-r--r--?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. To properly set the permissions of /etc/ssh/*.pub, run the command:
$ sudo chmod 0644 /etc/ssh/*.pub
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-81037-4: Ensure the Default C Shell Umask is Set CorrectlyCCE-82233-8: Include Local Events in Audit Logs Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To ensure the default umask for users of the C shell is set properly, -add or correct the umask setting in /etc/csh.cshrc to read as follows: -
umask 
To configure Audit daemon to include local events in Audit logs, set +local_events to yes in /etc/audit/auditd.conf. +This is the default setting. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify the "umask" setting is configured correctly in the "/etc/csh.cshrc" file with the following command: - -$ grep umask /etc/csh.cshrc - -umask 077 -umask 077 Is it the case that the value for the "umask" parameter is not "", or the "umask" parameter is missing or is commented out?To verify that Audit Daemon is configured to include local events, run the +following command: +
$ sudo grep local_events /etc/audit/auditd.conf
+The output should return the following: +
local_events = yes
Is it the case that local_events isn't set to yes?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To ensure the default umask for users of the C shell is set properly, -add or correct the umask setting in /etc/csh.cshrc to read as follows: -
umask 
To configure Audit daemon to include local events in Audit logs, set +local_events to yes in /etc/audit/auditd.conf. +This is the default setting. medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-84050-4: Mount Remote Filesystems with noexecCCE-82414-4: Uninstall vsftpd Package Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Add the noexec option to the fourth column of /etc/fstab for the line which controls mounting of -any NFS mounts.The vsftpd package can be removed with the following command:
 $ sudo yum erase vsftpd
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To verify the noexec option is configured for all NFS mounts, run the following command: -
$ mount | grep nfs
-All NFS mounts should show the noexec setting in parentheses. This is not applicable if NFS is -not implemented. Is it the case that the setting does not show?
Run the following command to determine if the vsftpd package is installed: +
$ rpm -q vsftpd
Is it the case that the package is installed?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Add the noexec option to the fourth column of /etc/fstab for the line which controls mounting of -any NFS mounts.mediumThe vsftpd package can be removed with the following command:
 $ sudo yum erase vsftpd
high TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-81021-8: Enable Kernel Parameter to Use Reverse Path Filtering on all IPv4 InterfacesCCE-82252-8: Disable storing core dump Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the net.ipv4.conf.all.rp_filter kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.all.rp_filter=1
-To 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
The Storage option in [Coredump] sectionof /etc/systemd/coredump.conf +can be set to none to disable storing core dumps permanently. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the net.ipv4.conf.all.rp_filter parameter can be queried -by running the following command: -
$ sysctl net.ipv4.conf.all.rp_filter
-The output of the command should indicate either: -net.ipv4.conf.all.rp_filter = 1 -or: -net.ipv4.conf.all.rp_filter = 2 -The output of the command should not indicate: -net.ipv4.conf.all.rp_filter = 0 - -The preferable way how to assure the runtime compliance is to have -correct persistent configuration, and rebooting the system. +
Verify Red Hat Enterprise Linux 8 disables storing core dumps for all users by issuing the following command: -The persistent sysctl parameter configuration is performed by specifying the appropriate -assignment in any file located in the
/etc/sysctl.d
directory. -Verify that there is not any existing incorrect configuration by executing the following command: -
$ grep -r '^\s*net.ipv4.conf.all.rp_filter\s*=' /etc/sysctl.conf /etc/sysctl.d
-The command should not find any assignments other than: -net.ipv4.conf.all.rp_filter = 1 -or: -net.ipv4.conf.all.rp_filter = 2 +$ grep -i storage /etc/systemd/coredump.conf -Conflicting assignments are not allowed. Is it the case that the net.ipv4.conf.all.rp_filter is not set to 1 or 2 or is configured to be 0?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the net.ipv4.conf.all.rp_filter kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.all.rp_filter=1
-To 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
The Storage option in [Coredump] sectionof /etc/systemd/coredump.conf +can be set to none to disable storing core dumps permanently. medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-83375-6: Ensure All World-Writable Directories Are Owned by root UserCCE-85886-0: Ensure All World-Writable Directories Are Group Owned by a System Account Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.All directories in local partitions which are world-writable should be owned by root. -If any world-writable directories are not owned by root, this should be investigated. -Following this, the files should be deleted or assigned to root user.All directories in local partitions which are +world-writable should be group owned by root or another +system account. If any world-writable directories are not +group owned by a system account, this should be investigated. +Following this, the files should be deleted or assigned to an +appropriate group. Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding. The following command will discover and print world-writable directories that -are not owned by root. Run it once for each local partition PART: -
$ sudo find PART -xdev -type d -perm -0002 -uid +0 -print
Is it the case that there are world-writable directories not owned by root?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.All directories in local partitions which are world-writable should be owned by root. -If any world-writable directories are not owned by root, this should be investigated. -Following this, the files should be deleted or assigned to root user.All directories in local partitions which are +world-writable should be group owned by root or another +system account. If any world-writable directories are not +group owned by a system account, this should be investigated. +Following this, the files should be deleted or assigned to an +appropriate group. medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80917-8: Disable Accepting ICMP Redirects for All IPv4 InterfacesCCE-80649-7: Verify Only Root Has UID 0 Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To set the runtime status of the net.ipv4.conf.all.accept_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.all.accept_redirects=0
-To 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
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. +
+If the account is associated with system commands or applications the UID +should be changed to one greater than "0" but less than "1000." +Otherwise assign a UID greater than "1000" that has not already been +assigned.
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.The runtime status of the net.ipv4.conf.all.accept_redirects kernel parameter can be queried -by running the following command: -
$ sysctl net.ipv4.conf.all.accept_redirects
-0. - Is it the case that the correct value is not returned?
Verify that only the "root" account has a UID "0" assignment with the +following command: +
$ awk -F: '$3 == 0 {print $1}' /etc/passwd
+
root
Is it the case that any accounts other than "root" have a UID of "0"?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To set the runtime status of the net.ipv4.conf.all.accept_redirects kernel parameter, run the following command:
$ sudo sysctl -w net.ipv4.conf.all.accept_redirects=0
-To 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
mediumIf 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. +
+If the account is associated with system commands or applications the UID +should be changed to one greater than "0" but less than "1000." +Otherwise assign a UID greater than "1000" that has not already been +assigned.
high TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-84038-9: All Interactive User Home Directories Must Have mode 0750 Or Less PermissiveCCE-83733-6: Configure AIDE to Verify Extended Attributes Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.Change the mode of interactive users home directories to 0750. To -change the mode of interactive users home directory, use the -following command: -
$ sudo chmod 0750 /home/USER
By default, the xattrs option is added to the FIPSR ruleset in AIDE. +If using a custom ruleset or the xattrs option is missing, add xattrs +to the appropriate ruleset. +For example, add xattrs to the following line in /etc/aide.conf: +
FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256
+AIDE rules can be configured in multiple ways; this is merely one example that is already +configured by default. + +The remediation provided with this rule adds xattrs to all rule sets available in +/etc/aide.conf
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To verify the assigned home directory of all interactive user home directories -have a mode of
0750
or less permissive, run the following command: -
$ sudo ls -l /home
-Inspect the output for any directories with incorrect permissions. Is it the case that they are more permissive?
To determine that AIDE is verifying extended file attributes, run the following command: +
$ grep xattrs /etc/aide.conf
+Verify that the xattrs option is added to the correct ruleset. Is it the case that the xattrs option is missing or not added to the correct ruleset?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Change the mode of interactive users home directories to 0750. To -change the mode of interactive users home directory, use the -following command: -
$ sudo chmod 0750 /home/USER
mediumBy default, the xattrs option is added to the FIPSR ruleset in AIDE. +If using a custom ruleset or the xattrs option is missing, add xattrs +to the appropriate ruleset. +For example, add xattrs to the following line in /etc/aide.conf: +
FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256
+AIDE rules can be configured in multiple ways; this is merely one example that is already +configured by default. + +The remediation provided with this rule adds xattrs to all rule sets available in +/etc/aide.conf
low TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-80901-2: Disable SSH Root LoginCCE-82462-3: SSH server uses strong entropy to seed Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.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 - - -/etc/ssh/sshd_config: - -
PermitRootLogin no
To set up SSH server to use entropy from a high-quality source, edit the /etc/sysconfig/sshd file. +The SSH_USE_STRONG_RNG configuration value determines how many bytes of entropy to use, so +make sure that the file contains line +
SSH_USE_STRONG_RNG=32
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To determine how the SSH daemon's PermitRootLogin option is set, run the following command: - -
$ sudo grep -i PermitRootLogin /etc/ssh/sshd_config
- -If a line indicating no is returned, then the required value is set. - Is it the case that the required value is not set?
To determine whether the SSH service is configured to use strong entropy seed, +run
$ sudo grep SSH_USE_STRONG_RNG /etc/sysconfig/sshd
+If a line indicating that SSH_USE_STRONG_RNG is set to 32 is returned, +then the option is set correctly. Is it the case that the SSH_USE_STRONG_RNG is not set to 32 in /etc/sysconfig/sshd?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.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 - - -/etc/ssh/sshd_config: - -
PermitRootLogin no
mediumTo set up SSH server to use entropy from a high-quality source, edit the /etc/sysconfig/sshd file. +The SSH_USE_STRONG_RNG configuration value determines how many bytes of entropy to use, so +make sure that the file contains line +
SSH_USE_STRONG_RNG=32
low TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-82069-6: Add nodev Option to Non-Root Local PartitionsCCE-84043-9: Ensure All User Initialization Files Have Mode 0740 Or Less Permissive Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.The nodev mount option prevents files from being interpreted as -character or block devices. Legitimate character and block devices should -exist only in the /dev directory on the root partition or within -chroot jails built for system services. -Add the nodev option to the fourth column of -/etc/fstab for the line which controls mounting of - - any non-root local partitions.Set the mode of the user initialization files to 0740 with the +following command: +
$ sudo chmod 0740 /home/USER/.INIT_FILE
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To verify the nodev option is configured for non-root local partitions, run the following command: -
$ sudo mount | grep '^/dev\S* on /\S' | grep --invert-match 'nodev'
-The output shows local non-root partitions mounted without the nodev option, and there should be no output at all. - Is it the case that some mounts appear among output lines?
To verify that all user initialization files have a mode of 0740 or +less permissive, run the following command: +
$ sudo find /home -type f -name '\.*' \( -perm -0002 -o -perm -0020 \)
+There should be no output. Is it the case that they are not 0740 or more permissive?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.The nodev mount option prevents files from being interpreted as -character or block devices. Legitimate character and block devices should -exist only in the /dev directory on the root partition or within -chroot jails built for system services. -Add the nodev option to the fourth column of -/etc/fstab for the line which controls mounting of - - any non-root local partitions.Set the mode of the user initialization files to 0740 with the +following command: +
$ sudo chmod 0740 /home/USER/.INIT_FILE
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-85872-0: Ensure PAM password complexity module is enabled in system-authCCE-83360-8: Disable X11 Forwarding Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To enable PAM password complexity in system-auth file: -Edit the password section in -/etc/pam.d/system-auth to show -password requisite pam_pwquality.so.The X11Forwarding parameter provides the ability to tunnel X11 traffic +through the connection to enable remote graphic connections. +SSH has the capability to encrypt remote X11 connections when SSH's +X11Forwarding option is enabled. +
+The default SSH configuration disables X11Forwarding. The appropriate +configuration is used if no value is set for X11Forwarding. +
+To explicitly disable X11 Forwarding, add or correct the following line in + + +/etc/ssh/sshd_config: + +
X11Forwarding no
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.To check if pam_pwquality.so is enabled in system-auth, run the following command: -
$ grep pam_pwquality /etc/pam.d/system-auth
-The output should be similar to the following: -
password requisite pam_pwquality.so
Is it the case that pam_pwquality.so is not enabled in system-auth?
To determine how the SSH daemon's X11Forwarding option is set, run the following command: + +
$ sudo grep -i X11Forwarding /etc/ssh/sshd_config
+ +If a line indicating no is returned, then the required value is set. + Is it the case that the required value is not set?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To enable PAM password complexity in system-auth file: -Edit the password section in -/etc/pam.d/system-auth to show -password requisite pam_pwquality.so.The X11Forwarding parameter provides the ability to tunnel X11 traffic +through the connection to enable remote graphic connections. +SSH has the capability to encrypt remote X11 connections when SSH's +X11Forwarding option is enabled. +
+The default SSH configuration disables X11Forwarding. The appropriate +configuration is used if no value is set for X11Forwarding. +
+To explicitly disable X11 Forwarding, add or correct the following line in + + +/etc/ssh/sshd_config: + +
X11Forwarding no
medium TBD - Assigned by DISA after STIG release The operating system must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.CCE-81036-6: Ensure the Default Bash Umask is Set CorrectlyCCE-82281-7: Enable SSH Print Last Log Configuring the operating system to implement organization-wide security implementation guides and security checklists ensures compliance with federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements. Configuration settings are the set of parameters that can be changed in hardware, software, or firmware components of the system that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the system, including the parameters required to satisfy other security control requirements. Security-related parameters include, for example: registry settings; account, file, directory permission settings; and settings for functions, ports, protocols, services, and remote connections.To ensure the default umask for users of the Bash shell is set properly, -add or correct the umask setting in /etc/bashrc to read -as follows: -
umask 
Ensure that SSH will display the date and time of the last successful account logon. +
+The default SSH configuration enables print of the date and time of the last login. +The appropriate configuration is used if no value is set for PrintLastLog. +
+To explicitly enable LastLog in SSH, add or correct the following line in + + +/etc/ssh/sshd_config: + +
PrintLastLog yes
Applicable - Configurable Verify the operating system is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.Verify the umask setting is configured correctly in the /etc/bashrc file with the following command: + To determine how the SSH daemon's PrintLastLog option is set, run the following command: -
$ sudo grep "umask" /etc/bashrc
+
$ sudo grep -i PrintLastLog /etc/ssh/sshd_config
-umask
Is it the case that the value for the "umask" parameter is not "", or the "umask" parameter is missing or is commented out?
Configure the operating system in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.To ensure the default umask for users of the Bash shell is set properly, -add or correct the umask setting in /etc/bashrc to read -as follows: -
umask 
Ensure that SSH will display the date and time of the last successful account logon. +
+The default SSH configuration enables print of the date and time of the last login. +The appropriate configuration is used if no value is set for PrintLastLog. +
+To explicitly enable LastLog in SSH, add or correct the following line in + + +/etc/ssh/sshd_config: + +
PrintLastLog yes
medium
CCI-000366SRG-OS-000480-GPOS-00228TBD - Assigned by DISA after STIG releaseThe operating system must define default permissions for all authenticated users in such a way that the user can only read and modify their own files.CCE-82888-9: Ensure the Default Umask is Set Correctly in login.defsSetting the most restrictive default permissions ensures that when new accounts are created they do not have unnecessary access.To ensure the default umask controlled by /etc/login.defs is set properly, -add or correct the UMASK setting in /etc/login.defs to read as follows: -
UMASK 
Applicable - ConfigurableVerify the operating system defines default permissions for all authenticated users in such a way that the user can only read and modify their own files. If it does not, this is a finding.Verify Red Hat Enterprise Linux 8 defines default permissions for all authenticated users in such a way that the user can only read and modify their own files with the following command: - -
# grep -i umask /etc/login.defs
-
-UMASK 
Is it the case that the value for the "UMASK" parameter is not "", or the "UMASK" parameter is missing or is commented out?
Configure the operating system to define default permissions for all authenticated users in such a way that the user can only read and modify their own files.To ensure the default umask controlled by /etc/login.defs is set properly, -add or correct the UMASK setting in /etc/login.defs to read as follows: -
UMASK 
medium
CCI-000366 SRG-OS-000480-GPOS-00228
CCI-000366SRG-OS-000480-GPOS-00228TBD - Assigned by DISA after STIG releaseThe operating system must define default permissions for all authenticated users in such a way that the user can only read and modify their own files.CCE-81036-6: Ensure the Default Bash Umask is Set CorrectlySetting the most restrictive default permissions ensures that when new accounts are created they do not have unnecessary access.To ensure the default umask for users of the Bash shell is set properly, +add or correct the umask setting in /etc/bashrc to read +as follows: +
umask 
Applicable - ConfigurableVerify the operating system defines default permissions for all authenticated users in such a way that the user can only read and modify their own files. If it does not, this is a finding.Verify the umask setting is configured correctly in the /etc/bashrc file with the following command: + +
$ sudo grep "umask" /etc/bashrc
+
+umask 
Is it the case that the value for the "umask" parameter is not "", or the "umask" parameter is missing or is commented out?
Configure the operating system to define default permissions for all authenticated users in such a way that the user can only read and modify their own files.To ensure the default umask for users of the Bash shell is set properly, +add or correct the umask setting in /etc/bashrc to read +as follows: +
umask 
medium
CCI-000366 SRG-OS-000480-GPOS-00228TBD - Assigned by DISA after STIG release The operating system must define default permissions for all authenticated users in such a way that the user can only read and modify their own files.CCE-81036-6: Ensure the Default Bash Umask is Set CorrectlyCCE-82888-9: Ensure the Default Umask is Set Correctly in login.defs Setting the most restrictive default permissions ensures that when new accounts are created they do not have unnecessary access.To ensure the default umask for users of the Bash shell is set properly, -add or correct the umask setting in /etc/bashrc to read -as follows: -
umask 
To ensure the default umask controlled by /etc/login.defs is set properly, +add or correct the UMASK setting in /etc/login.defs to read as follows: +
UMASK 
Applicable - Configurable Verify the operating system defines default permissions for all authenticated users in such a way that the user can only read and modify their own files. If it does not, this is a finding.Verify the umask setting is configured correctly in the /etc/bashrc file with the following command: + Verify Red Hat Enterprise Linux 8 defines default permissions for all authenticated users in such a way that the user can only read and modify their own files with the following command: -
$ sudo grep "umask" /etc/bashrc
+
# grep -i umask /etc/login.defs
 
-umask 
Is it the case that the value for the "umask" parameter is not "", or the "umask" parameter is missing or is commented out?
Configure the operating system to define default permissions for all authenticated users in such a way that the user can only read and modify their own files.To ensure the default umask for users of the Bash shell is set properly, -add or correct the umask setting in /etc/bashrc to read -as follows: -
umask 
To ensure the default umask controlled by /etc/login.defs is set properly, +add or correct the UMASK setting in /etc/login.defs to read as follows: +
UMASK 
medium
CCI-000366SRG-OS-000480-GPOS-00230TBD - Assigned by DISA after STIG releaseThe operating system must limit the ability of non-privileged users to grant other users direct access to the contents of their home directories/folders.CCE-82191-8: Install fapolicyd PackageUsers' home directories/folders may contain information of a sensitive nature. Non-privileged users should coordinate any sharing of information with an SA through shared resources.The fapolicyd package can be installed with the following command: -
-$ sudo yum install fapolicyd
Applicable - ConfigurableVerify the operating system limits the ability of non-privileged users to grant other users direct access to the contents of their home directories/folders. If it does not, this is a finding.Run the following command to determine if the fapolicyd package is installed:
$ rpm -q fapolicyd
Is it the case that the fapolicyd package is not installed?
Configure the operating system to limit the ability of non-privileged users to grant other users direct access to the contents of their home directories/folders.The fapolicyd package can be installed with the following command: -
-$ sudo yum install fapolicyd
medium
CCI-000366 SRG-OS-000480-GPOS-00230
CCI-000366SRG-OS-000480-GPOS-00232SRG-OS-000480-GPOS-00230 TBD - Assigned by DISA after STIG releaseThe operating system must enable an application firewall, if available.The operating system must limit the ability of non-privileged users to grant other users direct access to the contents of their home directories/folders.CCE-80877-4: Verify firewalld EnabledCCE-82191-8: Install fapolicyd PackageFirewalls protect computers from network attacks by blocking or limiting access to open network ports. Application firewalls limit which applications are allowed to communicate over the network. -The firewalld service can be enabled with the following command: -
$ sudo systemctl enable firewalld.service
Users' home directories/folders may contain information of a sensitive nature. Non-privileged users should coordinate any sharing of information with an SA through shared resources.The fapolicyd package can be installed with the following command: +
+$ sudo yum install fapolicyd
Applicable - ConfigurableVerify the operating system enabled an application firewall, if available. If it does not, this is a finding. If the operating system does not support an application firewall, this may be downgraded to a CAT III finding. - -Run the following command to determine the current status of the -firewalld service: -
$ sudo systemctl is-active firewalld
-If the service is running, it should return the following:
active
Is it the case that the "firewalld" service is disabled, masked, or not started.?
Ensure the operating system's application firewall is enabled, if available. -The firewalld service can be enabled with the following command: -
$ sudo systemctl enable firewalld.service
Verify the operating system limits the ability of non-privileged users to grant other users direct access to the contents of their home directories/folders. If it does not, this is a finding.Run the following command to determine if the fapolicyd package is installed:
$ rpm -q fapolicyd
Is it the case that the fapolicyd package is not installed?
Configure the operating system to limit the ability of non-privileged users to grant other users direct access to the contents of their home directories/folders.The fapolicyd package can be installed with the following command: +
+$ sudo yum install fapolicyd
medium
CCI-000366 SRG-OS-000480-GPOS-00232
CCI-000366SRG-OS-000480-GPOS-00232TBD - Assigned by DISA after STIG releaseThe operating system must enable an application firewall, if available.CCE-80877-4: Verify firewalld EnabledFirewalls protect computers from network attacks by blocking or limiting access to open network ports. Application firewalls limit which applications are allowed to communicate over the network. +The firewalld service can be enabled with the following command: +
$ sudo systemctl enable firewalld.service
Applicable - ConfigurableVerify the operating system enabled an application firewall, if available. If it does not, this is a finding. If the operating system does not support an application firewall, this may be downgraded to a CAT III finding. + +Run the following command to determine the current status of the +firewalld service: +
$ sudo systemctl is-active firewalld
+If the service is running, it should return the following:
active
Is it the case that the "firewalld" service is disabled, masked, or not started.?
Ensure the operating system's application firewall is enabled, if available. +The firewalld service can be enabled with the following command: +
$ sudo systemctl enable firewalld.service
medium
CCI-000366 SRG-OS-000480-GPOS-00232