Blame SOURCES/scap-security-guide-0.1.61-rhel8_stig_v1r5-PR_8050.patch

ff1465
commit b2b8afa337bce598b9b56a243e7ad0be7ee9194e
ff1465
Author: Gabriel Becker <ggasparb@redhat.com>
ff1465
Date:   Fri Feb 25 14:18:51 2022 +0100
ff1465
ff1465
    Manual edited patch scap-security-guide-0.1.61-rhel8_stig_v1r5-PR_8050.patch.
ff1465
ff1465
diff --git a/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_passwordauth/bash/shared.sh b/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_passwordauth/bash/shared.sh
ff1465
new file mode 100644
ff1465
index 0000000..1c151a1
ff1465
--- /dev/null
ff1465
+++ b/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_passwordauth/bash/shared.sh
ff1465
@@ -0,0 +1,5 @@
ff1465
+# platform = multi_platform_rhel,multi_platform_fedora,multi_platform_rhv
ff1465
+
ff1465
+if ! grep -q "^password.*sufficient.*pam_unix.so.*sha512" "/etc/pam.d/password-auth"; then
ff1465
+	sed -i --follow-symlinks "/^password.*sufficient.*pam_unix.so/ s/$/ sha512/" "/etc/pam.d/password-auth"
ff1465
+fi
ff1465
diff --git a/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_passwordauth/oval/shared.xml b/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_passwordauth/oval/shared.xml
ff1465
new file mode 100644
ff1465
index 0000000..24fdbe4
ff1465
--- /dev/null
ff1465
+++ b/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_passwordauth/oval/shared.xml
ff1465
@@ -0,0 +1,19 @@
ff1465
+<def-group>
ff1465
+  <definition class="compliance" id="set_password_hashing_algorithm_passwordauth" version="1">
ff1465
+    {{{ oval_metadata("The password hashing algorithm should be set correctly in /etc/pam.d/password-auth.") }}}
ff1465
+    <criteria operator="AND">
ff1465
+      <criterion test_ref="test_pam_unix_passwordauth_sha512" />
ff1465
+    </criteria>
ff1465
+  </definition>
ff1465
+
ff1465
+  <ind:textfilecontent54_test check="all" check_existence="at_least_one_exists" comment="check /etc/pam.d/password-auth for correct settings" id="test_pam_unix_passwordauth_sha512" version="1">
ff1465
+    <ind:object object_ref="object_pam_unix_passwordauth_sha512" />
ff1465
+  </ind:textfilecontent54_test>
ff1465
+
ff1465
+  <ind:textfilecontent54_object comment="check /etc/pam.d/password-auth for correct settings" id="object_pam_unix_passwordauth_sha512" version="1">
ff1465
+      <ind:filepath>/etc/pam.d/password-auth</ind:filepath>
ff1465
+      <ind:pattern operation="pattern match">^[\s]*password[\s]+(?:(?:required)|(?:sufficient))[\s]+pam_unix\.so[\s]+.*sha512.*$</ind:pattern>
ff1465
+    <ind:instance datatype="int">1</ind:instance>
ff1465
+  </ind:textfilecontent54_object>
ff1465
+
ff1465
+</def-group>
ff1465
diff --git a/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_passwordauth/rule.yml b/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_passwordauth/rule.yml
ff1465
new file mode 100644
ff1465
index 0000000..9375269
ff1465
--- /dev/null
ff1465
+++ b/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_passwordauth/rule.yml
ff1465
@@ -0,0 +1,72 @@
ff1465
+documentation_complete: true
ff1465
+
ff1465
+prodtype: fedora,rhel7,rhel8,rhel9,rhv4
ff1465
+
ff1465
+title: "Set PAM's Password Hashing Algorithm - password-auth"
ff1465
+
ff1465
+description: |-
ff1465
+    The PAM system service can be configured to only store encrypted
ff1465
+    representations of passwords. In
ff1465
+    <tt>/etc/pam.d/password-auth</tt>,
ff1465
+    the
ff1465
+    <tt>password</tt> section of the file controls which PAM modules execute
ff1465
+    during a password change. Set the <tt>pam_unix.so</tt> module in the
ff1465
+    <tt>password</tt> section to include the argument <tt>sha512</tt>, as shown
ff1465
+    below:
ff1465
+    
ff1465
+    
password    sufficient    pam_unix.so sha512 other arguments...
ff1465
+    
ff1465
+    This will help ensure when local users change their passwords, hashes for
ff1465
+    the new passwords will be generated using the SHA-512 algorithm. This is
ff1465
+    the default.
ff1465
+
ff1465
+rationale: |-
ff1465
+    Passwords need to be protected at all times, and encryption is the standard
ff1465
+    method for protecting passwords. If passwords are not encrypted, they can
ff1465
+    be plainly read (i.e., clear text) and easily compromised. Passwords that
ff1465
+    are encrypted with a weak algorithm are no more protected than if they are
ff1465
+    kepy in plain text.
ff1465
+    

ff1465
+    This setting ensures user and group account administration utilities are
ff1465
+    configured to store only encrypted representations of passwords.
ff1465
+    Additionally, the <tt>crypt_style</tt> configuration option ensures the use
ff1465
+    of a strong hashing algorithm that makes password cracking attacks more
ff1465
+    difficult.
ff1465
+
ff1465
+severity: medium
ff1465
+
ff1465
+identifiers:
ff1465
+    cce@rhel7: CCE-85943-9
ff1465
+    cce@rhel8: CCE-85945-4
ff1465
+    cce@rhel9: CCE-85946-2
ff1465
+
ff1465
+references:
ff1465
+    anssi: BP28(R32)
ff1465
+    cis-csc: 1,12,15,16,5
ff1465
+    cis@rhel7: 5.4.3
ff1465
+    cis@rhel8: 5.4.4
ff1465
+    cjis: 5.6.2.2
ff1465
+    cobit5: DSS05.04,DSS05.05,DSS05.07,DSS05.10,DSS06.03,DSS06.10
ff1465
+    cui: 3.13.11
ff1465
+    disa: CCI-000196
ff1465
+    isa-62443-2009: 4.3.3.2.2,4.3.3.5.1,4.3.3.5.2,4.3.3.6.1,4.3.3.6.2,4.3.3.6.3,4.3.3.6.4,4.3.3.6.5,4.3.3.6.6,4.3.3.6.7,4.3.3.6.8,4.3.3.6.9,4.3.3.7.2,4.3.3.7.4
ff1465
+    isa-62443-2013: 'SR 1.1,SR 1.10,SR 1.2,SR 1.3,SR 1.4,SR 1.5,SR 1.7,SR 1.8,SR 1.9,SR 2.1'
ff1465
+    ism: 0418,1055,1402
ff1465
+    iso27001-2013: A.18.1.4,A.7.1.1,A.9.2.1,A.9.2.2,A.9.2.3,A.9.2.4,A.9.2.6,A.9.3.1,A.9.4.2,A.9.4.3
ff1465
+    nist: IA-5(c),IA-5(1)(c),CM-6(a)
ff1465
+    nist-csf: PR.AC-1,PR.AC-6,PR.AC-7
ff1465
+    pcidss: Req-8.2.1
ff1465
+    srg: SRG-OS-000073-GPOS-00041
ff1465
+    stigid@rhel7: RHEL-07-010200
ff1465
+    stigid@rhel8: RHEL-08-010160
ff1465
+    vmmsrg: SRG-OS-000480-VMM-002000
ff1465
+
ff1465
+ocil_clause: 'it does not'
ff1465
+
ff1465
+ocil: |-
ff1465
+    Inspect the <tt>password</tt> section of <tt>/etc/pam.d/password-auth</tt>
ff1465
+    and ensure that the <tt>pam_unix.so</tt> module includes the argument
ff1465
+    <tt>sha512</tt>:
ff1465
+    
$ grep sha512 /etc/pam.d/password-auth
ff1465
+
ff1465
+platform: pam
ff1465
diff --git a/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_passwordauth/tests/correct.pass.sh b/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_passwordauth/tests/correct.pass.sh
ff1465
new file mode 100644
ff1465
index 0000000..a924fe5
ff1465
--- /dev/null
ff1465
+++ b/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_passwordauth/tests/correct.pass.sh
ff1465
@@ -0,0 +1,5 @@
ff1465
+#!/bin/bash
ff1465
+
ff1465
+if ! grep -q "^password.*sufficient.*pam_unix.so.*sha512" "/etc/pam.d/password-auth"; then
ff1465
+	sed -i --follow-symlinks "/^password.*sufficient.*pam_unix.so/ s/$/ sha512/" "/etc/pam.d/password-auth"
ff1465
+fi
ff1465
diff --git a/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_passwordauth/tests/missing.fail.sh b/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_passwordauth/tests/missing.fail.sh
ff1465
new file mode 100644
ff1465
index 0000000..68e925a
ff1465
--- /dev/null
ff1465
+++ b/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_passwordauth/tests/missing.fail.sh
ff1465
@@ -0,0 +1,3 @@
ff1465
+#!/bin/bash
ff1465
+
ff1465
+sed -i --follow-symlinks "/^password.*sufficient.*pam_unix.so/ s/sha512//g" "/etc/pam.d/password-auth"
ff1465
diff --git a/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/bash/shared.sh b/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/bash/shared.sh
ff1465
index 02af406..e7503fe 100644
ff1465
--- a/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/bash/shared.sh
ff1465
+++ b/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/bash/shared.sh
ff1465
@@ -1,7 +1,9 @@
ff1465
 # platform = multi_platform_wrlinux,multi_platform_rhel,multi_platform_fedora,multi_platform_ol,multi_platform_rhv
ff1465
 
ff1465
 AUTH_FILES[0]="/etc/pam.d/system-auth"
ff1465
+{{%- if product == "rhel7" %}}
ff1465
 AUTH_FILES[1]="/etc/pam.d/password-auth"
ff1465
+{{%- endif %}}
ff1465
 
ff1465
 for pamFile in "${AUTH_FILES[@]}"
ff1465
 do
ff1465
diff --git a/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/oval/shared.xml b/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/oval/shared.xml
ff1465
index d76b6f8..a754a84 100644
ff1465
--- a/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/oval/shared.xml
ff1465
+++ b/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/oval/shared.xml
ff1465
@@ -3,6 +3,9 @@
ff1465
     {{{ oval_metadata("The password hashing algorithm should be set correctly in /etc/pam.d/system-auth.") }}}
ff1465
     <criteria operator="AND">
ff1465
       <criterion test_ref="test_pam_unix_sha512" />
ff1465
+      {{%- if product == "rhel7" %}}
ff1465
+      <extend_definition comment="check /etc/pam.d/password-auth for correct settings" definition_ref="set_password_hashing_algorithm_passwordauth" />
ff1465
+      {{%- endif %}}
ff1465
     </criteria>
ff1465
   </definition>
ff1465
 
ff1465
diff --git a/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/rule.yml b/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/rule.yml
ff1465
index 24ab30d..58fcea9 100644
ff1465
--- a/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/rule.yml
ff1465
+++ b/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/rule.yml
ff1465
@@ -69,7 +69,7 @@ references:
ff1465
     srg: SRG-OS-000073-GPOS-00041
ff1465
     stigid@ol7: OL07-00-010200
ff1465
     stigid@rhel7: RHEL-07-010200
ff1465
-    stigid@rhel8: RHEL-08-010160
ff1465
+    stigid@rhel8: RHEL-08-010159
ff1465
     stigid@sle12: SLES-12-010230
ff1465
     stigid@sle15: SLES-15-020170
ff1465
     vmmsrg: SRG-OS-000480-VMM-002000
ff1465
diff --git a/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/tests/correct.pass.sh b/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/tests/correct.pass.sh
ff1465
index 7e48176..fb9feec 100644
ff1465
--- a/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/tests/correct.pass.sh
ff1465
+++ b/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/tests/correct.pass.sh
ff1465
@@ -1,7 +1,9 @@
ff1465
 #!/bin/bash
ff1465
 
ff1465
 AUTH_FILES[0]="/etc/pam.d/system-auth"
ff1465
+{{%- if product == "rhel7" %}}
ff1465
 AUTH_FILES[1]="/etc/pam.d/password-auth"
ff1465
+{{%- endif %}}
ff1465
 
ff1465
 for pamFile in "${AUTH_FILES[@]}"
ff1465
 do
ff1465
diff --git a/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/tests/missing.fail.sh b/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/tests/missing.fail.sh
ff1465
index 09bb82d..2f35381 100644
ff1465
--- a/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/tests/missing.fail.sh
ff1465
+++ b/linux_os/guide/system/accounts/accounts-pam/set_password_hashing_algorithm/set_password_hashing_algorithm_systemauth/tests/missing.fail.sh
ff1465
@@ -1,7 +1,9 @@
ff1465
 #!/bin/bash
ff1465
 
ff1465
 AUTH_FILES[0]="/etc/pam.d/system-auth"
ff1465
+{{%- if product == "rhel7" %}}
ff1465
 AUTH_FILES[1]="/etc/pam.d/password-auth"
ff1465
+{{%- endif %}}
ff1465
 
ff1465
 for pamFile in "${AUTH_FILES[@]}"
ff1465
 do
ff1465
diff --git a/products/rhel8/profiles/rht-ccp.profile b/products/rhel8/profiles/rht-ccp.profile
ff1465
index d76bb38..1045be3 100644
ff1465
--- a/products/rhel8/profiles/rht-ccp.profile
ff1465
+++ b/products/rhel8/profiles/rht-ccp.profile
ff1465
@@ -54,6 +54,7 @@ selections:
ff1465
     - accounts_password_pam_difok
ff1465
     - accounts_passwords_pam_faillock_deny
ff1465
     - set_password_hashing_algorithm_systemauth
ff1465
+    - set_password_hashing_algorithm_passwordauth
ff1465
     - set_password_hashing_algorithm_logindefs
ff1465
     - set_password_hashing_algorithm_libuserconf
ff1465
     - require_singleuser_auth
ff1465
diff --git a/products/rhel8/profiles/stig.profile b/products/rhel8/profiles/stig.profile
ff1465
index d51e53a..705caa8 100644
ff1465
--- a/products/rhel8/profiles/stig.profile
ff1465
+++ b/products/rhel8/profiles/stig.profile
ff1465
@@ -147,6 +147,9 @@ selections:
ff1465
     # RHEL-08-010152
ff1465
     - require_emergency_target_auth
ff1465
 
ff1465
+    # RHEL-08-010159
ff1465
+    - set_password_hashing_algorithm_passwordauth
ff1465
+
ff1465
     # RHEL-08-010160
ff1465
     - set_password_hashing_algorithm_systemauth
ff1465
 
ff1465
diff --git a/products/rhv4/profiles/pci-dss.profile b/products/rhv4/profiles/pci-dss.profile
ff1465
index 90e196e..f1fb1f8 100644
ff1465
--- a/products/rhv4/profiles/pci-dss.profile
ff1465
+++ b/products/rhv4/profiles/pci-dss.profile
ff1465
@@ -115,6 +115,7 @@ selections:
ff1465
     - service_pcscd_enabled
ff1465
     - sssd_enable_smartcards
ff1465
     - set_password_hashing_algorithm_systemauth
ff1465
+    - set_password_hashing_algorithm_passwordauth
ff1465
     - set_password_hashing_algorithm_logindefs
ff1465
     - set_password_hashing_algorithm_libuserconf
ff1465
     - file_owner_etc_shadow
ff1465
diff --git a/products/rhv4/profiles/rhvh-stig.profile b/products/rhv4/profiles/rhvh-stig.profile
ff1465
index ef28fa1..d17833b 100644
ff1465
--- a/products/rhv4/profiles/rhvh-stig.profile
ff1465
+++ b/products/rhv4/profiles/rhvh-stig.profile
ff1465
@@ -355,6 +355,7 @@ selections:
ff1465
     - set_password_hashing_algorithm_libuserconf
ff1465
     - set_password_hashing_algorithm_logindefs
ff1465
     - set_password_hashing_algorithm_systemauth
ff1465
+    - set_password_hashing_algorithm_passwordauth
ff1465
     - package_opensc_installed
ff1465
     - var_smartcard_drivers=cac
ff1465
     - configure_opensc_card_drivers
ff1465
diff --git a/products/rhv4/profiles/rhvh-vpp.profile b/products/rhv4/profiles/rhvh-vpp.profile
ff1465
index 9be3e34..3b5802d 100644
ff1465
--- a/products/rhv4/profiles/rhvh-vpp.profile
ff1465
+++ b/products/rhv4/profiles/rhvh-vpp.profile
ff1465
@@ -200,6 +200,7 @@ selections:
ff1465
     - accounts_password_pam_unix_remember
ff1465
     - set_password_hashing_algorithm_logindefs
ff1465
     - set_password_hashing_algorithm_systemauth
ff1465
+    - set_password_hashing_algorithm_passwordauth
ff1465
     - set_password_hashing_algorithm_libuserconf
ff1465
     - no_empty_passwords
ff1465
 
ff1465
diff --git a/shared/references/cce-redhat-avail.txt b/shared/references/cce-redhat-avail.txt
ff1465
index fef5fd8..d8daeb3 100644
ff1465
--- a/shared/references/cce-redhat-avail.txt
ff1465
+++ b/shared/references/cce-redhat-avail.txt
ff1465
@@ -69,9 +69,6 @@ CCE-85939-7
ff1465
 CCE-85940-5
ff1465
 CCE-85941-3
ff1465
 CCE-85942-1
ff1465
-CCE-85943-9
ff1465
-CCE-85945-4
ff1465
-CCE-85946-2
ff1465
 CCE-85947-0
ff1465
 CCE-85948-8
ff1465
 CCE-85949-6
ff1465
diff --git a/tests/data/profile_stability/rhel8/pci-dss.profile b/tests/data/profile_stability/rhel8/pci-dss.profile
ff1465
index f58bcf9..e235d49 100644
ff1465
--- a/tests/data/profile_stability/rhel8/pci-dss.profile
ff1465
+++ b/tests/data/profile_stability/rhel8/pci-dss.profile
ff1465
@@ -1,5 +1,9 @@
ff1465
+title: PCI-DSS v3.2.1 Control Baseline for Red Hat Enterprise Linux 8
ff1465
 description: Ensures PCI-DSS v3.2.1 security configuration settings are applied.
ff1465
-documentation_complete: true
ff1465
+extends: null
ff1465
+metadata:
ff1465
+    SMEs:
ff1465
+    - yuumasato
ff1465
 reference: https://www.pcisecuritystandards.org/documents/PCI_DSS_v3-2-1.pdf
ff1465
 selections:
ff1465
 - account_disable_post_pw_expiration
ff1465
@@ -136,4 +141,8 @@ selections:
ff1465
 - var_multiple_time_servers=rhel
ff1465
 - var_sshd_set_keepalive=0
ff1465
 - var_smartcard_drivers=cac
ff1465
-title: PCI-DSS v3.2.1 Control Baseline for Red Hat Enterprise Linux 8
ff1465
+platforms: !!set {}
ff1465
+cpe_names: !!set {}
ff1465
+platform: null
ff1465
+filter_rules: ''
ff1465
+documentation_complete: true
ff1465
diff --git a/tests/data/profile_stability/rhel8/stig.profile b/tests/data/profile_stability/rhel8/stig.profile
ff1465
index 3b4b43a..1b4b955 100644
ff1465
--- a/tests/data/profile_stability/rhel8/stig.profile
ff1465
+++ b/tests/data/profile_stability/rhel8/stig.profile
ff1465
@@ -332,6 +332,7 @@ selections:
ff1465
 - service_systemd-coredump_disabled
ff1465
 - service_usbguard_enabled
ff1465
 - set_password_hashing_algorithm_logindefs
ff1465
+- set_password_hashing_algorithm_passwordauth
ff1465
 - set_password_hashing_algorithm_systemauth
ff1465
 - sshd_disable_compression
ff1465
 - sshd_disable_empty_passwords
ff1465
diff --git a/tests/data/profile_stability/rhel8/stig_gui.profile b/tests/data/profile_stability/rhel8/stig_gui.profile
ff1465
index 2e0e161..3568e07 100644
ff1465
--- a/tests/data/profile_stability/rhel8/stig_gui.profile
ff1465
+++ b/tests/data/profile_stability/rhel8/stig_gui.profile
ff1465
@@ -343,6 +343,7 @@ selections:
ff1465
 - service_systemd-coredump_disabled
ff1465
 - service_usbguard_enabled
ff1465
 - set_password_hashing_algorithm_logindefs
ff1465
+- set_password_hashing_algorithm_passwordauth
ff1465
 - set_password_hashing_algorithm_systemauth
ff1465
 - sshd_disable_compression
ff1465
 - sshd_disable_empty_passwords