Blame SOURCES/scap-security-guide-0.1.58-RHEL_08_030730-PR_7323.patch

76240a
From 2f4ddb4297f2a14e2bde3b32f76347e2bbe2cb2d Mon Sep 17 00:00:00 2001
76240a
From: Matthew Burket <mburket@redhat.com>
76240a
Date: Thu, 19 Aug 2021 09:47:42 -0500
76240a
Subject: [PATCH] Add new rule for RHEL-07-030330 and RHEL-08-030730
76240a
76240a
This new rule is copy of auditd_data_retention_space_left, but
76240a
setup to allow for percentages.
76240a
---
76240a
 .../auditd_data_retention_space_left/rule.yml |  2 -
76240a
 .../ansible/shared.yml                        | 15 ++++++
76240a
 .../bash/shared.sh                            |  7 +++
76240a
 .../oval/shared.xml                           | 32 +++++++++++++
76240a
 .../rule.yml                                  | 47 +++++++++++++++++++
76240a
 .../tests/no_percent_sign.fail.sh             |  6 +++
76240a
 .../space_left_greater_than_minimum.pass.sh   |  6 +++
76240a
 .../tests/space_left_minimum_value.pass.sh    |  6 +++
76240a
 .../tests/space_left_not_enough.fail.sh       |  6 +++
76240a
 .../tests/space_left_not_there.fail.sh        |  6 +++
76240a
 .../var_auditd_space_left_percentage.var      | 15 ++++++
76240a
 products/rhel7/profiles/stig.profile          |  3 +-
76240a
 products/rhel8/profiles/stig.profile          |  7 +--
76240a
 shared/references/cce-redhat-avail.txt        |  2 -
76240a
 .../data/profile_stability/rhel8/stig.profile |  3 +-
76240a
 .../profile_stability/rhel8/stig_gui.profile  |  3 +-
76240a
 16 files changed, 156 insertions(+), 10 deletions(-)
76240a
 create mode 100644 linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/ansible/shared.yml
76240a
 create mode 100644 linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/bash/shared.sh
76240a
 create mode 100644 linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/oval/shared.xml
76240a
 create mode 100644 linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/rule.yml
76240a
 create mode 100644 linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/tests/no_percent_sign.fail.sh
76240a
 create mode 100644 linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/tests/space_left_greater_than_minimum.pass.sh
76240a
 create mode 100644 linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/tests/space_left_minimum_value.pass.sh
76240a
 create mode 100644 linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/tests/space_left_not_enough.fail.sh
76240a
 create mode 100644 linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/tests/space_left_not_there.fail.sh
76240a
 create mode 100644 linux_os/guide/system/auditing/configure_auditd_data_retention/var_auditd_space_left_percentage.var
76240a
76240a
diff --git a/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left/rule.yml b/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left/rule.yml
76240a
index 7fd0470df8..a652d15d0d 100644
76240a
--- a/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left/rule.yml
76240a
+++ b/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left/rule.yml
76240a
@@ -39,8 +39,6 @@ references:
76240a
     pcidss: Req-10.7
76240a
     srg: SRG-OS-000343-GPOS-00134
76240a
     stigid@ol7: OL07-00-030330
76240a
-    stigid@rhel7: RHEL-07-030330
76240a
-    stigid@rhel8: RHEL-08-030730
76240a
     stigid@sle12: SLES-12-020030
76240a
     stigid@sle15: SLES-15-030700
76240a
     stigid@ubuntu2004: UBTU-20-010217
76240a
diff --git a/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/ansible/shared.yml b/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/ansible/shared.yml
76240a
new file mode 100644
76240a
index 0000000000..ea52773bd3
76240a
--- /dev/null
76240a
+++ b/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/ansible/shared.yml
76240a
@@ -0,0 +1,15 @@
76240a
+# platform = multi_platform_all
76240a
+# reboot = false
76240a
+# strategy = restrict
76240a
+# complexity = low
76240a
+# disruption = low
76240a
+{{{ ansible_instantiate_variables("var_auditd_space_left_percentage") }}}
76240a
+
76240a
+- name: Configure auditd space_left on Low Disk Space
76240a
+  lineinfile:
76240a
+    dest: /etc/audit/auditd.conf
76240a
+    line: "space_left = {{ var_auditd_space_left_percentage }}%"
76240a
+    regexp: '^\s*space_left\s*=\s*.*$'
76240a
+    state: present
76240a
+    create: yes
76240a
+  #notify: reload auditd
76240a
diff --git a/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/bash/shared.sh b/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/bash/shared.sh
76240a
new file mode 100644
76240a
index 0000000000..6cc3e9ecbe
76240a
--- /dev/null
76240a
+++ b/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/bash/shared.sh
76240a
@@ -0,0 +1,7 @@
76240a
+# platform = multi_platform_all
76240a
+. /usr/share/scap-security-guide/remediation_functions
76240a
+{{{ bash_instantiate_variables("var_auditd_space_left_percentage") }}}
76240a
+
76240a
+grep -q "^space_left[[:space:]]*=.*$" /etc/audit/auditd.conf && \
76240a
+  sed -i "s/^space_left[[:space:]]*=.*$/space_left = $var_auditd_space_left_percentage%/g" /etc/audit/auditd.conf || \
76240a
+  echo "space_left = $var_auditd_space_left_percentage%" >> /etc/audit/auditd.conf
76240a
diff --git a/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/oval/shared.xml b/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/oval/shared.xml
76240a
new file mode 100644
76240a
index 0000000000..2fcd222d29
76240a
--- /dev/null
76240a
+++ b/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/oval/shared.xml
76240a
@@ -0,0 +1,32 @@
76240a
+<def-group>
76240a
+  <definition class="compliance" id="{{{ rule_id }}}" version="2">
76240a
+    {{{ oval_metadata("space_left setting in /etc/audit/auditd.conf is set to at least a certain value") }}}
76240a
+
76240a
+    <criteria>
76240a
+        <criterion comment="space_left setting in auditd.conf" test_ref="test_auditd_data_retention_space_left_percentage" />
76240a
+    </criteria>
76240a
+
76240a
+  </definition>
76240a
+
76240a
+  <ind:textfilecontent54_test check="all" comment="admin space left action " id="test_auditd_data_retention_space_left_percentage" version="1">
76240a
+    <ind:object object_ref="object_auditd_data_retention_space_left_percentage" />
76240a
+    <ind:state state_ref="state_auditd_data_retention_space_left_percentage" />
76240a
+  </ind:textfilecontent54_test>
76240a
+
76240a
+  <ind:textfilecontent54_object id="object_auditd_data_retention_space_left_percentage" version="2">
76240a
+    <ind:filepath>/etc/audit/auditd.conf</ind:filepath>
76240a
+    
76240a
+    
76240a
+    <ind:pattern operation="pattern match">^[\s]*space_left[\s]+=[\s]+(\d+)%[\s]*$</ind:pattern>
76240a
+    <ind:instance datatype="int">1</ind:instance>
76240a
+  </ind:textfilecontent54_object>
76240a
+
76240a
+
76240a
+  <ind:textfilecontent54_state id="state_auditd_data_retention_space_left_percentage" version="1">
76240a
+    <ind:subexpression operation="greater than or equal" var_ref="var_auditd_space_left_percentage" datatype="int" />
76240a
+  </ind:textfilecontent54_state>
76240a
+
76240a
+  <external_variable comment="audit space_left setting" datatype="int" id="var_auditd_space_left_percentage" version="1" />
76240a
+
76240a
+
76240a
+</def-group>
76240a
diff --git a/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/rule.yml b/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/rule.yml
76240a
new file mode 100644
76240a
index 0000000000..ea9d9fcc6b
76240a
--- /dev/null
76240a
+++ b/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/rule.yml
76240a
@@ -0,0 +1,47 @@
76240a
+documentation_complete: true
76240a
+
76240a
+prodtype:  fedora,rhel7,rhel8,rhel9
76240a
+
76240a
+title: 'Configure auditd space_left on Low Disk Space'
76240a
+
76240a
+description: |-
76240a
+    The <tt>auditd</tt> service can be configured to take an action
76240a
+    when disk space is running low but prior to running out of space completely.
76240a
+    Edit the file <tt>/etc/audit/auditd.conf</tt>. Add or modify the following line,
76240a
+    substituting PERCENTAGE appropriately:
76240a
+    
space_left = PERCENTAGE%
76240a
+    Set this value to at least 25 to cause the system to
76240a
+    notify the user of an issue.
76240a
+
76240a
+rationale: |-
76240a
+    Notifying administrators of an impending disk space problem may allow them to
76240a
+    take corrective action prior to any disruption.
76240a
+
76240a
+severity: medium
76240a
+
76240a
+identifiers:
76240a
+    cce@rhel7: CCE-86056-9
76240a
+    cce@rhel8: CCE-86055-1
76240a
+
76240a
+references:
76240a
+    cis-csc: 1,11,12,13,14,15,16,19,2,3,4,5,6,7,8
76240a
+    cobit5: APO11.04,APO12.06,APO13.01,BAI03.05,BAI04.04,BAI08.02,DSS02.02,DSS02.04,DSS02.07,DSS03.01,DSS05.04,DSS05.07,MEA02.01
76240a
+    disa: CCI-001855
76240a
+    isa-62443-2009: 4.2.3.10,4.3.3.3.9,4.3.3.5.8,4.3.4.4.7,4.3.4.5.6,4.3.4.5.7,4.3.4.5.8,4.4.2.1,4.4.2.2,4.4.2.4
76240a
+    isa-62443-2013: 'SR 2.10,SR 2.11,SR 2.12,SR 2.8,SR 2.9,SR 6.1,SR 7.1,SR 7.2'
76240a
+    iso27001-2013: A.12.1.3,A.12.4.1,A.12.4.2,A.12.4.3,A.12.4.4,A.12.7.1,A.16.1.4,A.16.1.5,A.16.1.7,A.17.2.1
76240a
+    nist: AU-5(b),AU-5(2),AU-5(1),AU-5(4),CM-6(a)
76240a
+    nist-csf: DE.AE-3,DE.AE-5,PR.DS-4,PR.PT-1,RS.AN-1,RS.AN-4
76240a
+    pcidss: Req-10.7
76240a
+    srg: SRG-OS-000343-GPOS-00134
76240a
+    stigid@rhel7: RHEL-07-030330
76240a
+    stigid@rhel8: RHEL-08-030730
76240a
+    vmmsrg: SRG-OS-000343-VMM-001240
76240a
+
76240a
+ocil_clause: 'the system is not configured with a specific percentage to notify administrators of an issue'
76240a
+
76240a
+ocil: |-
76240a
+    Inspect <tt>/etc/audit/auditd.conf</tt> and locate the following line to
76240a
+    determine if the system is configured correctly:
76240a
+    
space_left PERCENTAGE%
76240a
+
76240a
diff --git a/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/tests/no_percent_sign.fail.sh b/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/tests/no_percent_sign.fail.sh
76240a
new file mode 100644
76240a
index 0000000000..2e90ce1d7b
76240a
--- /dev/null
76240a
+++ b/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/tests/no_percent_sign.fail.sh
76240a
@@ -0,0 +1,6 @@
76240a
+#!/bin/bash
76240a
+# variables = var_auditd_space_left_percentage=25
76240a
+
76240a
+. $SHARED/auditd_utils.sh
76240a
+prepare_auditd_test_enviroment
76240a
+set_parameters_value /etc/audit/auditd.conf "space_left" "25"
76240a
diff --git a/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/tests/space_left_greater_than_minimum.pass.sh b/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/tests/space_left_greater_than_minimum.pass.sh
76240a
new file mode 100644
76240a
index 0000000000..135d6e4258
76240a
--- /dev/null
76240a
+++ b/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/tests/space_left_greater_than_minimum.pass.sh
76240a
@@ -0,0 +1,6 @@
76240a
+#!/bin/bash
76240a
+# variables = var_auditd_space_left_percentage=25
76240a
+
76240a
+. $SHARED/auditd_utils.sh
76240a
+prepare_auditd_test_enviroment
76240a
+set_parameters_value /etc/audit/auditd.conf "space_left" "35%"
76240a
diff --git a/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/tests/space_left_minimum_value.pass.sh b/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/tests/space_left_minimum_value.pass.sh
76240a
new file mode 100644
76240a
index 0000000000..10d652e80e
76240a
--- /dev/null
76240a
+++ b/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/tests/space_left_minimum_value.pass.sh
76240a
@@ -0,0 +1,6 @@
76240a
+#!/bin/bash
76240a
+# variables = var_auditd_space_left_percentage=25
76240a
+
76240a
+. $SHARED/auditd_utils.sh
76240a
+prepare_auditd_test_enviroment
76240a
+set_parameters_value /etc/audit/auditd.conf "space_left" "25%"
76240a
diff --git a/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/tests/space_left_not_enough.fail.sh b/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/tests/space_left_not_enough.fail.sh
76240a
new file mode 100644
76240a
index 0000000000..0bf7694b15
76240a
--- /dev/null
76240a
+++ b/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/tests/space_left_not_enough.fail.sh
76240a
@@ -0,0 +1,6 @@
76240a
+#!/bin/bash
76240a
+# variables = var_auditd_space_left_percentage=25
76240a
+
76240a
+. $SHARED/auditd_utils.sh
76240a
+prepare_auditd_test_enviroment
76240a
+set_parameters_value /etc/audit/auditd.conf "space_left" "15%"
76240a
diff --git a/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/tests/space_left_not_there.fail.sh b/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/tests/space_left_not_there.fail.sh
76240a
new file mode 100644
76240a
index 0000000000..34ac5595c6
76240a
--- /dev/null
76240a
+++ b/linux_os/guide/system/auditing/configure_auditd_data_retention/auditd_data_retention_space_left_percentage/tests/space_left_not_there.fail.sh
76240a
@@ -0,0 +1,6 @@
76240a
+#!/bin/bash
76240a
+# variables = var_auditd_space_left_percentage=25
76240a
+
76240a
+. $SHARED/auditd_utils.sh
76240a
+prepare_auditd_test_enviroment
76240a
+delete_parameter /etc/audit/auditd.conf "space_left"
76240a
diff --git a/linux_os/guide/system/auditing/configure_auditd_data_retention/var_auditd_space_left_percentage.var b/linux_os/guide/system/auditing/configure_auditd_data_retention/var_auditd_space_left_percentage.var
76240a
new file mode 100644
76240a
index 0000000000..427a1d4bfa
76240a
--- /dev/null
76240a
+++ b/linux_os/guide/system/auditing/configure_auditd_data_retention/var_auditd_space_left_percentage.var
76240a
@@ -0,0 +1,15 @@
76240a
+documentation_complete: true
76240a
+
76240a
+title: 'The percentage remaining in disk space before prompting space_left_action'
76240a
+
76240a
+description: 'The setting for space_left as a percentage in /etc/audit/auditd.conf'
76240a
+
76240a
+type: number
76240a
+
76240a
+interactive: true
76240a
+
76240a
+options:
76240a
+    25pc: 25
76240a
+    50pc: 50
76240a
+    75pc: 75
76240a
+    default: 25
76240a
diff --git a/products/rhel7/profiles/stig.profile b/products/rhel7/profiles/stig.profile
76240a
index 9ca1360005..67e22982cd 100644
76240a
--- a/products/rhel7/profiles/stig.profile
76240a
+++ b/products/rhel7/profiles/stig.profile
76240a
@@ -50,6 +50,7 @@ selections:
76240a
     - var_removable_partition=dev_cdrom
76240a
     - var_auditd_action_mail_acct=root
76240a
     - var_auditd_space_left_action=email
76240a
+    - var_auditd_space_left_percentage=25pc
76240a
     - var_accounts_user_umask=077
76240a
     - var_password_pam_retry=3
76240a
     - var_accounts_max_concurrent_login_sessions=10
76240a
@@ -178,8 +179,8 @@ selections:
76240a
     - auditd_audispd_configure_remote_server
76240a
     - auditd_audispd_encrypt_sent_records
76240a
     - auditd_audispd_disk_full_action
76240a
-    - auditd_data_retention_space_left
76240a
     - auditd_data_retention_space_left_action
76240a
+    - auditd_data_retention_space_left_percentage
76240a
     - auditd_data_retention_action_mail_acct
76240a
     - audit_rules_suid_privilege_function
76240a
     - audit_rules_dac_modification_chown
76240a
diff --git a/products/rhel8/profiles/stig.profile b/products/rhel8/profiles/stig.profile
76240a
index 36f384621a..10dbc1501b 100644
76240a
--- a/products/rhel8/profiles/stig.profile
76240a
+++ b/products/rhel8/profiles/stig.profile
76240a
@@ -65,7 +65,7 @@ selections:
76240a
     - var_auditd_action_mail_acct=root
76240a
     - var_time_service_set_maxpoll=18_hours
76240a
     - var_accounts_maximum_age_login_defs=60
76240a
-    - var_auditd_space_left=250MB
76240a
+    - var_auditd_space_left_percentage=25pc
76240a
     - var_auditd_space_left_action=email
76240a
     - var_auditd_disk_error_action=halt
76240a
     - var_auditd_max_log_file_action=syslog
76240a
@@ -922,8 +922,9 @@ selections:
76240a
     - rsyslog_encrypt_offload_actionsendstreamdriverauthmode
76240a
 
76240a
     # RHEL-08-030730
76240a
-    # this rule expects configuration in MB instead percentage as how STIG demands
76240a
-    # - auditd_data_retention_space_left
76240a
+    - auditd_data_retention_space_left_percentage
76240a
+
76240a
+    # RHEL-08-030731
76240a
     - auditd_data_retention_space_left_action
76240a
 
76240a
     # RHEL-08-030740
76240a
diff --git a/shared/references/cce-redhat-avail.txt b/shared/references/cce-redhat-avail.txt
76240a
index 6c33c2e85f..fcb8125ca4 100644
76240a
--- a/shared/references/cce-redhat-avail.txt
76240a
+++ b/shared/references/cce-redhat-avail.txt
76240a
@@ -170,8 +170,6 @@ CCE-86051-0
76240a
 CCE-86052-8
76240a
 CCE-86053-6
76240a
 CCE-86054-4
76240a
-CCE-86055-1
76240a
-CCE-86056-9
76240a
 CCE-86057-7
76240a
 CCE-86058-5
76240a
 CCE-86059-3
76240a
diff --git a/tests/data/profile_stability/rhel8/stig.profile b/tests/data/profile_stability/rhel8/stig.profile
76240a
index f3e6c4fa1a..09a5bc3174 100644
76240a
--- a/tests/data/profile_stability/rhel8/stig.profile
76240a
+++ b/tests/data/profile_stability/rhel8/stig.profile
76240a
@@ -140,6 +140,7 @@ selections:
76240a
 - auditd_data_retention_action_mail_acct
76240a
 - auditd_data_retention_max_log_file_action
76240a
 - auditd_data_retention_space_left_action
76240a
+- auditd_data_retention_space_left_percentage
76240a
 - auditd_local_events
76240a
 - auditd_log_format
76240a
 - auditd_name_format
76240a
@@ -422,7 +423,7 @@ selections:
76240a
 - var_auditd_action_mail_acct=root
76240a
 - var_time_service_set_maxpoll=18_hours
76240a
 - var_accounts_maximum_age_login_defs=60
76240a
-- var_auditd_space_left=250MB
76240a
+- var_auditd_space_left_percentage=25pc
76240a
 - var_auditd_space_left_action=email
76240a
 - var_auditd_disk_error_action=halt
76240a
 - var_auditd_max_log_file_action=syslog
76240a
diff --git a/tests/data/profile_stability/rhel8/stig_gui.profile b/tests/data/profile_stability/rhel8/stig_gui.profile
76240a
index b5b60349a8..5b631a3fe0 100644
76240a
--- a/tests/data/profile_stability/rhel8/stig_gui.profile
76240a
+++ b/tests/data/profile_stability/rhel8/stig_gui.profile
76240a
@@ -151,6 +151,7 @@ selections:
76240a
 - auditd_data_retention_action_mail_acct
76240a
 - auditd_data_retention_max_log_file_action
76240a
 - auditd_data_retention_space_left_action
76240a
+- auditd_data_retention_space_left_percentage
76240a
 - auditd_local_events
76240a
 - auditd_log_format
76240a
 - auditd_name_format
76240a
@@ -432,7 +433,7 @@ selections:
76240a
 - var_auditd_action_mail_acct=root
76240a
 - var_time_service_set_maxpoll=18_hours
76240a
 - var_accounts_maximum_age_login_defs=60
76240a
-- var_auditd_space_left=250MB
76240a
+- var_auditd_space_left_percentage=25pc
76240a
 - var_auditd_space_left_action=email
76240a
 - var_auditd_disk_error_action=halt
76240a
 - var_auditd_max_log_file_action=syslog