Blame SOURCES/scap-security-guide-0.1.58-RHEL_08_010420-PR_7227.patch

362bfa
From 278f3b476291d69e45da4dcdfca5a308646224f2 Mon Sep 17 00:00:00 2001
362bfa
From: Matthew Burket <mburket@redhat.com>
362bfa
Date: Mon, 19 Jul 2021 09:49:57 -0500
362bfa
Subject: [PATCH 1/2] Add more checks for bios_enable_execution_restrictions to
362bfa
 ensure we don't miss anything
362bfa
362bfa
---
362bfa
 .../oval/shared.xml                            | 18 ++++++++++++++++++
362bfa
 .../rule.yml                                   |  3 ++-
362bfa
 products/rhel8/profiles/stig.profile           |  1 +
362bfa
 .../data/profile_stability/rhel8/stig.profile  |  1 +
362bfa
 .../profile_stability/rhel8/stig_gui.profile   |  1 +
362bfa
 5 files changed, 23 insertions(+), 1 deletion(-)
362bfa
 create mode 100644 linux_os/guide/system/permissions/restrictions/enable_nx/bios_enable_execution_restrictions/oval/shared.xml
362bfa
362bfa
diff --git a/linux_os/guide/system/permissions/restrictions/enable_nx/bios_enable_execution_restrictions/oval/shared.xml b/linux_os/guide/system/permissions/restrictions/enable_nx/bios_enable_execution_restrictions/oval/shared.xml
362bfa
new file mode 100644
362bfa
index 00000000000..622a183f99f
362bfa
--- /dev/null
362bfa
+++ b/linux_os/guide/system/permissions/restrictions/enable_nx/bios_enable_execution_restrictions/oval/shared.xml
362bfa
@@ -0,0 +1,18 @@
362bfa
+<def-group>
362bfa
+    <definition class="compliance" id="bios_enable_execution_restrictions" version="2">
362bfa
+        {{{ oval_metadata("The NX (no-execution) bit flag should be set on the system.") }}}
362bfa
+        <criteria>
362bfa
+            <criterion comment="NX bit is set" test_ref="test_NX_cpu_support" />
362bfa
+        </criteria>
362bfa
+    </definition>
362bfa
+
362bfa
+    <ind:textfilecontent54_test check="all" check_existence="all_exist" comment="CPUs support for NX bit" id="test_NX_cpu_support" version="1">
362bfa
+        <ind:object object_ref="obj_NX_cpu_support" />
362bfa
+    </ind:textfilecontent54_test>
362bfa
+
362bfa
+    <ind:textfilecontent54_object id="obj_NX_cpu_support" version="1">
362bfa
+        <ind:filepath>/proc/cpuinfo</ind:filepath>
362bfa
+        <ind:pattern operation="pattern match">^flags[\s]+:.*[\s]+nx[\s]+.*$</ind:pattern>
362bfa
+        <ind:instance datatype="int">1</ind:instance>
362bfa
+    </ind:textfilecontent54_object>
362bfa
+</def-group>
362bfa
diff --git a/linux_os/guide/system/permissions/restrictions/enable_nx/bios_enable_execution_restrictions/rule.yml b/linux_os/guide/system/permissions/restrictions/enable_nx/bios_enable_execution_restrictions/rule.yml
362bfa
index 4ca003520ac..b037e374f5b 100644
362bfa
--- a/linux_os/guide/system/permissions/restrictions/enable_nx/bios_enable_execution_restrictions/rule.yml
362bfa
+++ b/linux_os/guide/system/permissions/restrictions/enable_nx/bios_enable_execution_restrictions/rule.yml
362bfa
@@ -14,7 +14,7 @@ rationale: |-
362bfa
     Computers with the ability to prevent this type of code execution frequently put an option in the BIOS that will
362bfa
     allow users to turn the feature on or off at will.
362bfa
 
362bfa
-severity: unknown
362bfa
+severity: medium
362bfa
 
362bfa
 identifiers:
362bfa
     cce@rhel7: CCE-27099-1
362bfa
@@ -31,5 +31,6 @@ references:
362bfa
     iso27001-2013: A.12.1.2,A.12.5.1,A.12.6.2,A.14.2.2,A.14.2.3,A.14.2.4
362bfa
     nist: SC-39,CM-6(a)
362bfa
     nist-csf: PR.IP-1
362bfa
+    stig@rhel8: RHEL-08-010420
362bfa
 
362bfa
 platform: machine
362bfa
diff --git a/products/rhel8/profiles/stig.profile b/products/rhel8/profiles/stig.profile
362bfa
index 5a0a520ee0a..6372d13cfc9 100644
362bfa
--- a/products/rhel8/profiles/stig.profile
362bfa
+++ b/products/rhel8/profiles/stig.profile
362bfa
@@ -260,6 +260,7 @@ selections:
362bfa
     - package_opensc_installed
362bfa
 
362bfa
     # RHEL-08-010420
362bfa
+    - bios_enable_execution_restrictions
362bfa
 
362bfa
     # RHEL-08-010421
362bfa
     - grub2_page_poison_argument
362bfa
diff --git a/tests/data/profile_stability/rhel8/stig.profile b/tests/data/profile_stability/rhel8/stig.profile
362bfa
index 4be3cf93c25..32f1a24a7a4 100644
362bfa
--- a/tests/data/profile_stability/rhel8/stig.profile
362bfa
+++ b/tests/data/profile_stability/rhel8/stig.profile
362bfa
@@ -74,6 +74,7 @@ selections:
362bfa
 - auditd_log_format
362bfa
 - auditd_name_format
362bfa
 - banner_etc_issue
362bfa
+- bios_enable_execution_restrictions
362bfa
 - chronyd_client_only
362bfa
 - chronyd_no_chronyc_network
362bfa
 - chronyd_or_ntpd_set_maxpoll
362bfa
diff --git a/tests/data/profile_stability/rhel8/stig_gui.profile b/tests/data/profile_stability/rhel8/stig_gui.profile
362bfa
index 20b8a54861e..d6a27c67dc0 100644
362bfa
--- a/tests/data/profile_stability/rhel8/stig_gui.profile
362bfa
+++ b/tests/data/profile_stability/rhel8/stig_gui.profile
362bfa
@@ -85,6 +85,7 @@ selections:
362bfa
 - auditd_log_format
362bfa
 - auditd_name_format
362bfa
 - banner_etc_issue
362bfa
+- bios_enable_execution_restrictions
362bfa
 - chronyd_client_only
362bfa
 - chronyd_no_chronyc_network
362bfa
 - chronyd_or_ntpd_set_maxpoll
362bfa
362bfa
From dac8111b4d89a31cbaa5648f876bd58575a93e86 Mon Sep 17 00:00:00 2001
362bfa
From: Matthew Burket <mburket@redhat.com>
362bfa
Date: Mon, 19 Jul 2021 09:51:34 -0500
362bfa
Subject: [PATCH 2/2] Add oval check for bios_enable_execution_restrictions
362bfa
362bfa
---
362bfa
 .../oval/shared.xml                           | 24 ++++++++++++++++++-
362bfa
 1 file changed, 23 insertions(+), 1 deletion(-)
362bfa
362bfa
diff --git a/linux_os/guide/system/permissions/restrictions/enable_nx/bios_enable_execution_restrictions/oval/shared.xml b/linux_os/guide/system/permissions/restrictions/enable_nx/bios_enable_execution_restrictions/oval/shared.xml
362bfa
index 622a183f99f..7cc448f8cce 100644
362bfa
--- a/linux_os/guide/system/permissions/restrictions/enable_nx/bios_enable_execution_restrictions/oval/shared.xml
362bfa
+++ b/linux_os/guide/system/permissions/restrictions/enable_nx/bios_enable_execution_restrictions/oval/shared.xml
362bfa
@@ -1,8 +1,10 @@
362bfa
 <def-group>
362bfa
     <definition class="compliance" id="bios_enable_execution_restrictions" version="2">
362bfa
         {{{ oval_metadata("The NX (no-execution) bit flag should be set on the system.") }}}
362bfa
-        <criteria>
362bfa
+        <criteria operator="AND">
362bfa
             <criterion comment="NX bit is set" test_ref="test_NX_cpu_support" />
362bfa
+            <criterion comment="No log messages about NX being disabled" test_ref="test_messages_nx_active" />
362bfa
+            <criterion comment="NX is not disabled in the kernel command line" test_ref="test_noexec_cmd_line" />
362bfa
         </criteria>
362bfa
     </definition>
362bfa
 
362bfa
@@ -10,9 +12,29 @@
362bfa
         <ind:object object_ref="obj_NX_cpu_support" />
362bfa
     </ind:textfilecontent54_test>
362bfa
 
362bfa
+    <ind:textfilecontent54_test check="all" check_existence="none_exist" id="test_messages_nx_active" version="1" comment="No log messages about NX being disabled">
362bfa
+        <ind:object object_ref="obj_messages_nx_active" />
362bfa
+    </ind:textfilecontent54_test>
362bfa
+
362bfa
+    <ind:textfilecontent54_test check="all" check_existence="none_exist" id="test_noexec_cmd_line" version="1" comment="NX is not disabled in the kernel command line">
362bfa
+        <ind:object object_ref="obj_noexec_cmd_line" />
362bfa
+    </ind:textfilecontent54_test>
362bfa
+
362bfa
     <ind:textfilecontent54_object id="obj_NX_cpu_support" version="1">
362bfa
         <ind:filepath>/proc/cpuinfo</ind:filepath>
362bfa
         <ind:pattern operation="pattern match">^flags[\s]+:.*[\s]+nx[\s]+.*$</ind:pattern>
362bfa
         <ind:instance datatype="int">1</ind:instance>
362bfa
     </ind:textfilecontent54_object>
362bfa
+
362bfa
+    <ind:textfilecontent54_object id="obj_messages_nx_active" version="1">
362bfa
+        <ind:filepath>/var/log/messages</ind:filepath>
362bfa
+        <ind:pattern operation="pattern match">^.+protection: disabled.+</ind:pattern>
362bfa
+        <ind:instance datatype="int">1</ind:instance>
362bfa
+    </ind:textfilecontent54_object>
362bfa
+
362bfa
+    <ind:textfilecontent54_object id="obj_noexec_cmd_line" version="1">
362bfa
+        <ind:filepath>/proc/cmdline</ind:filepath>
362bfa
+        <ind:pattern operation="pattern match">.+noexec[0-9]*=off.+</ind:pattern>
362bfa
+        <ind:instance datatype="int">1</ind:instance>
362bfa
+    </ind:textfilecontent54_object>
362bfa
 </def-group>